JP6308643B1 - 姿勢算出プログラム、姿勢情報を用いたプログラム - Google Patents

姿勢算出プログラム、姿勢情報を用いたプログラム Download PDF

Info

Publication number
JP6308643B1
JP6308643B1 JP2017074081A JP2017074081A JP6308643B1 JP 6308643 B1 JP6308643 B1 JP 6308643B1 JP 2017074081 A JP2017074081 A JP 2017074081A JP 2017074081 A JP2017074081 A JP 2017074081A JP 6308643 B1 JP6308643 B1 JP 6308643B1
Authority
JP
Japan
Prior art keywords
rotation
axis
program
posture
amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017074081A
Other languages
English (en)
Other versions
JP2018163626A (ja
Inventor
望月玲於奈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Reona Mochizuki
Original Assignee
Reona Mochizuki
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Reona Mochizuki filed Critical Reona Mochizuki
Priority to PCT/JP2018/011948 priority Critical patent/WO2018174295A1/ja
Priority to US16/496,805 priority patent/US20200387280A1/en
Application granted granted Critical
Publication of JP6308643B1 publication Critical patent/JP6308643B1/ja
Publication of JP2018163626A publication Critical patent/JP2018163626A/ja
Priority to US17/385,495 priority patent/US11747974B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

【課題】デバイスの姿勢を変化させることによる数値入力と仮想空間のキャラクターの操作をしやすいプログラムを提供する。【解決手段】デバイスの回転軸を設定することによって、デバイスの傾きから任意の数値入力を算出可能とする。また、傾きに応じた数値入力を用いて、ゲームなどの仮想空間内のキャラクターの移動操作を可能とすることで、主にタッチパネルを有する機器において、特に一人称視点や三人称視点での、より自由度の高いキャラクターの操作をユーザーに提供することができる。【選択図】図10

Description

一人称視点、三人称視点でのキャラクターの制御に関するものである。
スマートフォンやタブレットなど、タッチパネルを有するデバイスでは、タッチによる入力を主な入力手段としている。
片手で入力する場合は、図1に示すような一般的な持ち方をすると親指(2)一本による入力となる。
片手でデバイスを保持し、もう片方の手(3)で入力する場合、保持している手(1)の親指(2)ともう片方の手(3)の5本の指とによって最大6個の入力となる。
図2のように両手でデバイスを保持し、2つの親指(11と12)でタッチ入力を行う、主にゲーム操作で用いられる持ち方では、両手の親指(11と12)による2つの入力となる。
ゲームの分野では、画面内に仮想のボタンやアナログスティックを配置し、それらを先に述べた方法によるタッチ入力によって操作することで、ゲーム内のキャラクターやメニューといった要素を操作可能としている(例えば、特許文献1や特許文献2)。
ゲーム操作で主に用いられる図2の持ち方において、一人称視点ゲームや三人称視点ゲームのように、移動、カメラ操作、攻撃やジャンプなどのアクションを有する場合では、画面内の仮想のジョイスティックで移動、仮想のボタンによって攻撃やジャンプなどのアクションの2つのゲーム操作をそれぞれタッチ入力によって操作可能とし、視点の操作を機器の姿勢と連動させる方法がある。
特開2015-225397号公報 特開2012-168931号公報
特許文献1で用いられるような図1の持ち方によるタッチ入力の場合、同時に1つの入力しか扱えない。デバイスを保持していない手の指5本による入力を加えることで、6つの入力を扱うことが可能となるが、デバイスを保持していない手が画面を覆い画面が見づらくなり操作が困難となる。
特許文献2で用いられるような図2の持ち方によるタッチ入力では、同時に2つの入力しか同時に扱えず、例えば、一人称視点ゲームや三人称視点ゲームのように、移動、カメラ(視点)操作や、攻撃やジャンプなどのアクションを同時に個別に操作する必要のある場合には、2つの入力しか同時に扱えない既存の手法では満足に操作することができない。人差し指を加えた操作を行う場合、デバイスが持ちづらくなると同時に操作が難しくなる。
上記の問題を解決するためにカメラ操作をデバイスの姿勢と連動させる方法よって行う場合、操作者はカメラ操作のために体の姿勢を変える必要があり、他の操作を困難なものとする。
また、デバイスの姿勢に基づいた数値入力は、姿勢のわずかな変化にも反応してしまうことがあり、ユーザーが細かく操作することは困難である。
よって、本発明は、ユーザーがデバイスの姿勢に基づく数入力を容易にすることとともに、主にタッチパネルを有する機器において、特に一人称視点や三人称視点での移動、視点照準、アクションの操作をしやすい操作手段を持つプログラムを提供することを目的とする。
デバイスの基準姿勢からの回転量を算出する
プログラムであり、
前記デバイスの回転軸として、前記デバイスの姿勢を基準とする回転軸からなる任意の座標系を設定し、
前記基準姿勢を基準としたベクトルを定め、
現在の前記座標系における前記ベクトルの成分に応じて、前記基準姿勢から現在の姿勢への前記デバイスの回転量を算出する
姿勢算出プログラム。
デバイスの基準姿勢からの回転量を算出する
プログラムであり、
前記デバイスの回転軸として、前記デバイスの姿勢を基準とする回転軸からなる任意の座標系を設定し、

前記デバイスの回転量として、前記基準姿勢での前記回転軸における回転量、もしくは現在の姿勢での前記回転軸における回転量に任意の定数を乗じた値を用いる
姿勢算出プログラム。
前記回転軸における回転量とは、前記デバイスの前記基準姿勢と現在の姿勢を
オイラー角あるいはクォータニオンによって表現し、
前記基準姿勢と現在の姿勢との差分を算出することによって得られる、
前記回転軸における回転の成分とする。
デバイスの基準姿勢からの回転量を算出する
プログラムであり、
前記デバイスの回転軸として、前記デバイスの姿勢を基準とする回転軸からなる任意の座標系を設定し、

前記デバイスの基準姿勢に対応する任意の平面を設定し、
前記平面と前記回転軸とのなす角に応じた値を前記デバイスの回転量とする
姿勢算出プログラム。
前記回転量を無効とし所定の値にする、もしくは無視する範囲を設定する。
所定の値とは、例えば0や前記デバイスの姿勢が基準姿勢と一致しているときの回転量である。
前記回転量を無視するとは、例えば、前記回転量を利用する任意の機能が、前記姿勢算出プログラムからの入力が行われていないと判断することである。
前記範囲外における回転量に前記範囲に応じた補正をかける。
前記範囲外に出た状態で、回転量が最小値となり、そこから回転量をデバイスの姿勢に応じて変化させる。
前記デバイスの座標系を、
Dx軸を前記デバイスの右方向、Dy軸を前記デバイスの上方向、Dz軸を前記デバイスの厚さ方向とした直交座標系としたとき、
前記回転軸からなる前記座標系とは、
前記デバイスの座標系をDx軸で任意の量回転させたものと一致させる。
前記デバイスの座標系を、
Dx軸を前記デバイスの右方向、Dy軸を前記デバイスの上方向、Dz軸を前記デバイスの厚さ方向とした直交座標系としたとき、
前記回転軸からなる前記座標系とは、
前記回転軸の一つを前記Dx軸と一致させ、もう一つの回転軸を前記基準姿勢での前記Dx軸と重力との外積に一致させる直交座標とする。
前記デバイスの座標系を、
Dx軸を前記デバイスの右方向、Dy軸を前記デバイスの上方向、Dz軸を前記デバイスの厚さ方向とした直交座標系としたとき、
前記回転軸からなる前記座標系とは、
前記回転軸の一つを重力と逆方向に一致させ、もう一つの回転軸を前記基準姿勢での前記Dx軸と重力との外積に一致させる直交座標とする。
仮想空間内のキャラクターを移動させるプログラムであり、
前記姿勢算出プログラムに基づく回転量に応じて、
前記キャラクターの移動方向と移動速度を決定する
操作プログラム。
前記キャラクターの移動方向とは、
前記キャラクターの観測手段の観測方向を基準とする。
タッチ入力を検出する手段を備え、キャラクターを観測する前記観測手段の観測方向の変更をタッチ入力に応じて行う。
何らかのアクションを行う際の作用点を示す照準の操作をタッチ入力に応じて行う。
前記移動と観測方向の変更及び照準の操作以外の操作をさらに行うことを可能とする。
前記回転量または回転量に応じた数値を、任意のプログラムで利用可能な信号として出力することを可能とする。
任意の移動体を移動させるプログラムであり、
デバイスの基準姿勢からの姿勢の変化に応じて、
前記移動体の移動方向と移動速度を決定する
操作プログラム。
前記移動体の移動方向とは、
前記移動体の観測手段の観測方向を基準とする。
タッチ入力を検出する手段を備え、前記移動体の前記観測手段の観測方向の変更をタッチ入力に応じて行う。
前記移動と観測方向の変更以外の操作をさらに行うことを可能とする。

持ち方の例 縦持ち 持ち方の例 横持ち 姿勢情報に基づく数値入力決定方法の説明図 タブレットデバイスのハードウェア構成を示すブロック図 回転量決定方法の説明図 数値決定のフローチャート 回転軸の取り方の例1 回転軸の取り方の例2 回転軸の取り方の例3 キャラクターの移動についての説明図 回転軸の取り方の例4 カメラの操作方法1 カメラの操作方法2 カメラの操作方法3 照準の説明図 タッチ領域とボタンの配置例 プログラムの実装例 回転量決定方法の例2 回転量決定方法の例3 回転量決定方法の例4
説明のための例として、本発明によって、傾き算出手段とタッチディスプレイを有するタブレットデバイス(60)におけるサードパーサンキャラクターゲームのプログラムの実施形態を示す。
図4はタブレットデバイス(60)のハードウェア構成例を示すブロック図である。本実施例におけるタブレットデバイス(60)はCPU(100)と主記憶(101)と補助記憶(102)と表示部(106)と入力部(103)とを備えている一般的なコンピュータである。このうち、補助記憶(102)の中には本実施形態によるプログラムが格納されている。表示部(106)はタッチディスプレイを含む。入力部(103)はタッチディスプレイのタッチ入力手段(105)と傾き算出手段(104)とを含む。タブレットデバイス(60)で実行されるプログラムは、タッチ入力手段(105)によって、タッチディスプレイに対する何らかの操作があったことを検知することが出来る。タブレットデバイス(60)で実行されるプログラムは、傾き算出手段(104)によって、タブレットデバイス(60)の傾きを検知することが出来る。ここで、タッチ入力手段(105)と傾き算出手段(104)は、ハードウェアもしくはソフトウェアもしくはそれらの組み合わせによって実現されるものである。デバイスの傾きは逐次算出することができる。
傾き算出手段(104)は姿勢算出プログラムを利用する場合に備える。タッチ入力手段は、タッチ入力を用いる場合に備える。動画像の表示を行う場合に、表示部(106)としてディスプレイを備える。
例えば、動画像の表示を行わない実施形態では前記コンピュータはディスプレイを備えなくてもよい。タッチ入力手段も同様である。
前記タブレットデバイス以外での実施形態の例は、例えば、傾き算出手段を備えた入力装置である。例えば、傾き算出手段を備えたゲームのコントローラーなどである。このような場合、実施形態に合わせて、傾き算出手段(104)とその他任意の構成要素とを分離してもよいし、その実施形態で不要な構成要素は含まなくてもよい。上記はあくまで一例であり、構成は実施形態に合わせて適宜設定する。
デバイス(60)の基準姿勢からの回転量に応じた数値を決定する。以下にデバイスの回転量の決定方法を例示するが、デバイスの姿勢の変化に応じてどのように回転量を決定するかは、ユーザーのプレイスタイルなどを考慮して設計者が任意に決めてもよい。
説明のため、デバイス(60)の座標系を定義する。図7のようにDx軸(61)をデバイス(60)の右方向、Dy軸(62)をデバイス(60)の上方向、Dz軸(63)をデバイス(60)の厚さ方向とした直交座標系とする。
このとき、デバイス(60)の右方向および上方向とは、縦持ちや横持ちなどデバイス(60)を持つ向きに準ずるものとしてよい。表示部としてディスプレイを備える場合はディスプレイの描画向きに準ずるものとしてよい。即ち、描画内容を基準に上方向をDx(61)軸、右方向をDy(62)、画面の向いている方向をDz(63)軸としてもよい。
デバイスの回転軸を前記デバイス(60)の座標系Dx(61),Dy(62),Dz(63)でのベクトルで考える。デバイスの回転軸を示す任意のベクトルとして、x軸(64)、y軸(65)、z軸(66)を定める。x軸(64)、y軸(65)、z軸(66)はベクトルの始点を共通とし、座標系としても扱うこととする。
回転軸の取り方の一つの例は、x軸(64)、y軸(65)、z軸(66)をDx軸(61),Dy軸(62),Dz軸(63)に一致させる。
回転軸の取り方の別の例は、図8のように図7のx軸(64)、y軸(65)、z軸(66)を、Dx軸(61)を回転軸としてΦ(phi)だけ回転したものとする。つまり、Dx(61)軸、Dy軸(62)、Dz軸(63) を、Dx軸(61)を回転軸としてΦ(phi)だけ回転したものとする。
デバイス(60)を回転したとき、同じ回転でもphiの値によってxyz各軸周りの回転量が異なる。
ここで、回転軸としてy軸(65)を用いるとき、phiの値によってデバイス(60)の回転の仕方に応じたy軸(65)周りでの回転量の変化の仕方が変わる。
例えば、phi=0°としたとき、Dy軸(62)方向の回転に応じてy軸(65)での回転量が決定する。動作の一例は、z軸(66)を重力方向と逆方向に一致させるとき、デバイス(60)を水平状態から左右に傾けることでy軸(65)での回転量が変化する。
phi=90°としたときは、 y軸(65)は-Dz軸(63)に一致することとなり、-Dz軸(63)の方向の回転に応じてy軸(65)での回転量が決定する。動作の一例は、z軸(66)を重力方向と逆方向に一致させるとき、デバイスを立てた状態で左右に傾けることでy軸(65)での回転量が変化する。
Dy(62)軸とDz軸(63)についても同様に回転させてもよい。

別の回転軸の決定方法は、x軸(64)をDx軸(61)と一致させ、y軸(65)を基準姿勢でのDx軸(61)と重力の外積とする。これにより、基準姿勢でのy軸(65)を重力と垂直とする。
図9に一例を示す。gは重力を表す。
更に別の回転軸の決定方法は、z軸(66)を重力の逆方向に一致させ、y軸(65)を基準姿勢でのDx軸(61)と重力の外積とする。
図11に一例を示す。gは重力を表す。
デバイス(60)の基準姿勢におけるx軸(64)、y軸(65)、z軸(66)をそれぞれx0軸(67)、y0軸(68)、z0軸(69)とする。
x0軸(67)、y0軸(68)、z0軸(69)からなる座標系の原点はデバイス(60)の位置の変化によらずx軸(64)、y軸(65)、z軸(66)からなる座標系の原点と一致させる。また、デバイスの姿勢の変化によってx0軸(67)、y0軸(68)、z0軸(69)各軸の向きは変化せず、x0軸(67)、y0軸(68)、z0軸(69)はデバイス(60)の基準姿勢を表す。原点とはデバイス(60)の回転の中心となる。
ユーザーの姿勢、即ちデバイス(60)の基準姿勢に応じて、回転軸x軸(64)、y軸(65)、z軸(66)とphiを設定可能とする。
もしくはユーザーが自由に設定可能とする。
回転量の決め方について説明する。回転量の決定方法は、複数考えられ、以下にその例を示す。
第一の回転量の決定方法について説明する。
x軸(64)、y軸(65)、z軸(66)の回転量とは、デバイス(60)の基準姿勢からデバイス(60)がx軸(64)、y軸(65)、z軸(66)の各軸周りでどれだけ回転したかとする。
第二の回転量の決定方法について説明する。
x軸(64)、y軸(65)、z軸(66)の回転量とは、デバイス(60)の基準姿勢からデバイス(60)がx0軸(67)、y0軸(68)、z0軸(69)の各軸周りでどれだけ回転したかとする。
第一と第二の回転量の決定方法に関して、
クォータニオンやオイラー角によってデバイス(60)の姿勢と基準姿勢を表現し、その差分から基準姿勢からの各軸の回転量を算出してもよい。計算の一例は、x軸(64)、y軸(65)、z軸(66)あるいはx0軸(67)、y0軸(68)、z0軸(69)からなる座標系で表現されたクォータニオンに関して、現在のデバイス(60)の姿勢に基準姿勢のinverse値を乗じたクォータニオンが現在の姿勢と基準姿勢との差となり、それをオイラー角表現に変換し、オイラー角の各成分を回転量として扱う。


第三の回転量の決定方法について説明する。
x軸(64)、y軸(65)、z軸(66)からなる座標系の原点を始点とする、デバイス(60)の基準姿勢のときのz軸(66)であるz0軸(69)方向への単位ベクトルを考える。x軸(64)とy軸(65)の回転量をそれぞれ前記単位ベクトルのy軸成分とx軸成分に応じて決定する。図5に一例を示す。
具体的な例は、前記単位ベクトルがx軸(64)、y軸(65)、z軸(66)からなる座標系において(nx0,ny0,nz0)と表されるとき、x軸(64)の回転をarctan(ny0/nz0)としy軸(65)の回転をarctan(nx0/nz0)とする。arctanは逆三角関数である。代わりにarctan2(ny0,nz0)、arctan2(nx0,nz0)としてもよい。
当然、ny0とnx0の値にそれぞれ任意の定数を乗じた値をx軸(64)とy軸(65)の回転量として扱ってもよいし、他の計算式などを用いてもよい。
デバイスの姿勢を変化させると、デバイス(60)の回転によっては変化しないz0軸(69)に対して、x軸(64)、y軸(65)、z軸(66)座標系がデバイス(60)の回転に伴って回転するので、x軸(64)、y軸(65)、z軸(66)座標系から見ると前記単位ベクトルが回転したようにふるまう。
ここで、z軸(66)での回転量を利用する場合は、デバイス(60)のz0軸(69)での回転を用いる。z0軸(69)での回転によってx軸(64)とy軸(65)も回転するので、z0軸(69)での回転ではnx0,ny0,nz0の値は変化しない。
前記x軸(64)、y軸(65)、z軸(66)の代わりにx0軸(67)、y0軸(68)、z0軸(69)からなる座標系を用いても良い。そうした場合は前記(nx0,ny0,nz0)の代わりに、z軸(66)方向への単位ベクトルのx0軸(67)、y0軸(68)、z0軸(69)での成分(nx,ny,nz)を用いる。
ここで、z軸(66)の回転量を利用する場合は、デバイス(60)のz軸(66)での回転を用いる。z軸(66)での回転によっては前記z軸(66)方向への単位ベクトルは変化しないので、z軸(66)での回転ではnx,ny,nzの値は変化しない。



第四の回転量の決定方法について説明する。
デバイス(60)の基準姿勢をデバイス(60)の存在する空間内のある平面Aで表現することとする。
x軸(64)での回転量を平面Aとy軸(65)のなす角とする。y軸(65)での回転量を平面Aとx軸(64)のなす角とする。このとき、平面Aと各軸とのなす角は、デバイスの回転方向を考慮した正負の値とする。
平面Aとは、デバイス(60)の基準姿勢でのx0軸(67)とy0軸(68)のなす平面とする。
例えば、回転軸を図7のようにとったときに平面Aを現実世界の地面と平行であるとすると、デバイス(60)の地面に対する傾きに応じた回転量を算出することとなる。

各軸の回転量に基づいた数値を決定する。デバイスの姿勢から獲得した各軸の回転量からキャラクターの移動方向と速度を決めるための数値を決定する。
各軸の、回転に基づいた数値入力を次のように決定する。
図3のように、ある回転軸について、基準値(20)からの回転量(25)xと、回転量を有効にするために必要な回転量であるthreshold1(21)とthreshold2(22)と、最大回転量max1(23)とmax2(24)とし、回転量を無効としたときの値を0としたとき、1つの軸の入力値joyの値を以下の疑似コードのように決定する。
if(x > max1)x=max1
if(x<max2)x=max2
if( x > threshold1){
joy = (x-threshold1)/(max1-threshold1) * 100.0
}
if( x < threshold2){
joy = (x-threshold2)/(max2-threshold2) * 100.0
}
if( x < threshold1 && x>threshold2){
joy=0.0;
}
フローチャートを図6に示す。ここではjoyの値を-100から100の範囲の数値としたが、必要に応じて任意の範囲に変更可能である。*100を別の値を乗じるようにすればよい。
threshold1(21)とthreshold2(22)を設定することによって、任意に決めた回転量での回転を無視するように機能し、入力値を入力無効状態とすることを容易にする。
max1(23)とmax2(24)を設定することによって、入力値が最大となる回転量を設定可能とする。
ここで、基準値(20)とthreshold1(21)とthreshold2(22)とmax1(23)とmax2(24)は回転軸ごとに個別に設定可能なパラメータ値として、必要に応じて自由に設定可能とする。
例えば、基準値(20)について、リセットボタン(80)等を設け、ボタンが押されたときのデバイスの姿勢を基準姿勢として設定する。基準値(20)とは基準姿勢からデバイスの姿勢が変化していないときの回転量となる。基準姿勢は前記回転量を決定する処理で考慮されているため、基本的に基準値は0としてよいが、必要に応じて0以外の値としてもよい。基準値(20)を0以外の値としたとき、基準姿勢を当該回転軸で、その値に応じて回転させたことになる。
これによってユーザーが簡単に自分の好みに合わせて、デバイスの回転量を計算する際の基準姿勢を調整することを可能とする。
以上のようにして得られるx軸(61)とy軸(62)の回転に基づく数値入力をそれぞれjoy_x、joy_yと呼ぶこととする。

仮想空間内のキャラクターの移動に関して説明する。
ここで示す実施形態の例は、仮想空間内の前後左右への移動とジャンプと攻撃とのアクションが可能なキャラクターを操作するゲームとする。以下では主に三人称視点でのキャラクターの操作に関して説明してゆくが、一人称視点でのキャラクターの操作も同様に行うことができる。
前記ゲームの一例は、ファーストパーソンシューティングゲームやサードパーソンシューティングゲームである。
キャラクターをデバイス(60)の基準姿勢からの回転量に応じた方向に移動させる。
キャラクターの移動方向は仮想空間内のカメラの向いている方向を基準として決定する。
キャラクターの移動は、joy_xとjoy_yの値に基づいて行う。より具体的には、図10の(a)のように、joy_xの値によって、カメラから見て前後方向の移動を行う。デバイスを奥に傾ける方向に回転したとき、キャラクターをカメラから見て奥方向に移動させ(図10の(a)の左側)、逆方向に回転したとき手前方向に移動させる(図10の(a)の右側)。
図10の(b)のように、joy_yの値によって、視点から見て左右方向の移動を行う。デバイスを右に傾ける方向に回転したとき、キャラクターをカメラから見て右方向に移動させ(図10の(b)の右側)、左に傾ける方向に回転したとき、左方向に移動させる(図10の(b)の左側)。
ここで、デバイスの傾きに対するキャラクターの動きは一例であり、前記回転軸の取り方と回転量の決定方法によってキャラクターの移動は変わる。
ここでの移動に関わる処理は一例であり、joy_xとjoy_yの値をもとにした別の方法でキャラクターの移動を決めても良い。例えば、カメラではなくキャラクターの前方から見て前後左右方向へ移動させる。
joy_xとjoy_yの値に応じて、キャラクターの移動速度を決定する。
joy_xの値に応じて、キャラクターの前後方向の移動速度を決定し、joy_yの値に応じてキャラクターの左右方向の移動速度を決定する。
ここで、キャラクターの前への移動方向を、キャラクターを観測するカメラの観測方向とする。joy_xの値に応じて、カメラから見て前後方向にキャラクターを移動させる。joy_yの値に応じて、カメラから見て左右方向にキャラクターを移動させる。
あるいは、キャラクターの前への移動方向を、キャラクターの前方向、すなわちキャラクターの向いている方向とする。joy_xの値に応じてキャラクターを前後方向に移動させ、joy_yの値に応じてキャラクターを旋回させる。
joy_xとjoy_yが0以外のとき、キャラクターはカーブするように移動し、joy_xが0でjoy_yが0以外のときキャラクターはその場で回転する。joy_xが0以外でjoy_yが0のときキャラクターは直進する。
回転軸の決定方法について、特別な場合について説明する。これらの特別な場合を適用する条件や適用するか否かは設計者やユーザーが決めることができるものとする。
ユーザーが仰向けでデバイスを操作しており、デバイスの画面が下を向いているときの動作に関して説明する。
デバイスが下を向いているとは即ち、デバイスのDz軸(63)が下向きとなるような姿勢を基準姿勢とする場合である。この場合、x軸(64)をDx軸(61)に一致させ、z軸(66)を重力方向と逆方向と同じにする。
キャラクターの前後方向の移動はDx軸(61)周りの回転に応じて行い、デバイスの上部を奥に傾ける方向に回転させたときキャラクターをカメラから見て前方へ移動させ(図10の(a)の左側)、手前に傾ける方向に回転させたときキャラクターをカメラから見て後方へ移動させる(図10の(a)の右側)。
キャラクターの左右方向の移動はy軸(65)周りの回転に応じて行う。このとき、キャラクターをy軸(65)周りの回転によってデバイスが傾いた方向へ移動させる。即ち、デバイスの右側が下がるように回転させるとキャラクターを右方向へ移動させ、左側が下がるように回転させるとキャラクターを左側へ移動させる。
あるいは、デバイスのDz軸(63)が下向きとなるような姿勢を基準姿勢とする場合、x軸(64)をDx軸(61)に一致させ、z軸(66)を重力方向と同じにする。
このようにしたとき、y軸(65)の回転方向に応じたキャラクターの移動方向が、z軸(66)を重力方向と逆方向と同じにした時とは左右逆となる。
即ち、デバイスの右側が上になるように回転させることでキャラクターを右方向へ移動させ、デバイスの左側が上になるように回転させるとキャラクターを左側に移動させる。
左右方向の移動方向に関して、デバイスが下方向に傾いた方向に移動させる方法と、ユーザーから見て奥の方に傾いた方向に移動する方法とで、どちらがより直感的に操作できるかはユーザーによって異なるため、任意に設定可能とすることが望ましい。
前後方向の移動に関しても、回転方向に応じた移動方向を逆転しても良い。
デバイスの基準姿勢が横向きのときの動作に関して説明する。ユーザーが横向きに寝ながらデバイスを操作している場合などである。
Dx軸(61)周りの回転量を用いるとき、デバイスの基準姿勢が横向きになるとDx軸(61)が重力方向と平行、あるいは平行に近くなる。
回転軸が重力方向と平行、あるいは平行に近くなると、一般的な傾き算出手段である、加速度センサと角速度センサの組み合わせのみでは、重力方向の回転量にずれが生じる可能性がある。角速度センサの積分値の誤差を、重力方向での回転では加速度センサから得られる重力によって補正できないからである。したがって、時間経過とともに重力方向の回転量はずれてゆき、結果として基準姿勢が時間経過とともに意図せず変化することとなる。
基準姿勢が意図せず変化することは、快適な操作を妨げる恐れがある。
解決策の一例は、デバイス(60)の基準姿勢に応じて、少なくともjoy_xとjoy_yを決定するための回転量を検出する回転軸が重力方向と平行、平行に近くならないように、回転軸x軸(64)、y軸(65)、z軸(66)を決定する。
より具体的な例は、Dz軸(63)の回転に応じて、キャラクターを前後方向に移動させる。Dy軸(62)の回転に応じて、キャラクターを左右方向に移動させる。
即ち、x軸(64)をDz軸(63)に平行、もしくは平行に近づけ、y軸(65)をDy軸(62) に平行、もしくは平行に近づける。
解決策のもう一つの例は、地磁気センサなど重力を軸とした回転を検出可能な手段を用いて、前記ずれを補正する。
デバイスの姿勢の変化によっては、各軸で回転量を適切に検出できない場合がある。ジンバルロックや特異点周辺での回転量の検出などである。
このような状況に陥るとき、それを解消するように回転軸や基準姿勢を更新する。このとき、新たな回転軸、基準姿勢によって現在の各軸の回転量が変化しないように、新たな回転軸、基準姿勢での各軸の回転量に補正を加える。
回転量を有効とする条件を設定することを可能とする。回転量が有効でない間は、回転量を所定の値とする。例えば、回転量が有効でない間は回転量を0とする。回転量を有効とする条件とは、デバイスの姿勢を変化させる以外の任意に決めた入力が行われている間、およびその入力が終了してから所定の期間とする。
例えば、タッチ入力が同時に行われている間のみ回転量を有効とする。
基準姿勢の設定について説明する。
デバイスの基準姿勢は、ボタンなどによってユーザーが任意のタイミングで設定可能であるとする。例えば、前記ボタンを押した、または離したときのデバイス(60)の姿勢を基準姿勢として設定する。また、前記ボタンが押されている間はキャラクターの移動を行わないものとしても良い。ボタンを押している間、または基準姿勢を設定している間はキャラクターの移動速度を0とする。基準姿勢が再設定されるとき、前記回転軸も同時に再設定されるものとして良い。
その他の基準姿勢の設定タイミングは、基準姿勢の設定画面を設けユーザーが任意の基準姿勢を設定可能とする。
ポーズ画面やメニュー画面などからキャラクターを操作する状態へ移行したときのデバイスの姿勢を基準姿勢として設定する。このとき、キャラクターの移動操作を行う前に確認画面を設け、ユーザーが基準姿勢を設定する余裕を設けてもよい。この設定画面はユーザー入力もしくは一定時間経過後に終了し、キャラクターの操作を開始する。
また、前記基準姿勢の設定後に直ちにキャラクターの移動操作を開始しないようにして、ユーザーにキャラクター操作への開始直後のキャラクターの移動方向を決定する余裕を設けてもよい。
デバイス(60)の状態が所定の条件を満たすとき、キャラクターの操作を停止する。例えば、デバイス(60)を落下させてしまったときなどである。このとき、メニュー画面を開くなどしてキャラクターの移動操作を中断する。

必要に応じて、上記の方法によるキャラクターの移動方向を示す手段を提供する。本実施形態ではjoy_xとjoy_yによる移動方向を示す矢印(70)をキャラクターの周囲に表示する。矢印の方向はjoy_xとjoy_yからなる移動方向を示し、矢印の大きさは移動の速さを示す。本実施形態においてjoy_xとjoy_yを成分とするベクトルを考えたとき、矢印の方向はベクトルの向き、矢印の大きさはベクトルの大きさを示す。
前記矢印はキャラクターの周囲以外の、例えば画面の端に表示させてもよい。表示の仕方はプログラムの設計者が任意にデザイン可能である。


キャラクターが存在する空間内のカメラの操作を、タッチディスプレイ内に指定したカメラ操作領域(81)でのタッチ入力に基づいて操作する。カメラ操作領域(81)の形状と数は任意に決めてよい。また、ディスプレイを含まないタッチ入力検出手段のタッチ入力検出面にカメラ操作領域(81)を設けてもよい。このような形態をとる場合とは、例えば、デバイス(60)と分離されているディスプレイに映像を出力するような場合や前記ディスプレイと前記タッチ入力検出手段とが分かれている場合、映像出力が必要ない場合などである。
上下方向と左右方向の入力値に対して、操作するキャラクターの空間内のカメラを操作する。
前記上下方向と左右方向の入力値をカメラ操作領域(81)でのタッチ入力に基づいて決定する。
カメラの動きは状況に応じて自動的に動くようにしてもよい。例えば、障害物オブジェクトを避けるように制御する。あるいは、前記入力が一定時間検出されない、即ち、タッチ入力がされていない場合や変化していない場合、自動的にキャラクターの向きに応じた所定の向きとなるように制御する、例えば自動的にキャラクターの正面を向く。
本実施形態では、カメラ操作領域(81)内にて行われたタッチ入力のスライド方向と量に基づいて、視点を変更する。一例として、視点を、横方向のスライドに応じてゲーム空間内の任意の鉛直な軸を中心に回転させ、縦方向のスライドに応じて、ゲーム空間内の任意の鉛直な軸を中心に回転させてもよい。より詳しい例は、前記軸に関して、ゲーム空間内のプレイヤーを貫く軸とする。
カメラは上下方向と左右方向に操作可能とする。以下にカメラの操作と動きについて説明する。以下の説明に挙げるカメラの操作は一例であり、上下方向と左右方向などカメラ操作のうち二方向の操作をタッチ入力に応じて操作可能であれば任意の方法を用いてよい。
カメラの動きの第一の方法は、キャラクターを基準とする任意の点でカメラが上下方向と左右方向に回転する。カメラは図12のように点Cをカメラの位置、点Pを、キャラクターを基準としたカメラの回転中心、rを点Cと点Pとの距離とする。カメラの位置点Cがキャラクターの後方にあり、カメラがキャラクターを捉えるようなとき、三人称視点となり、キャラクターの前方、もしくはキャラクターの位置と同じ点にあるとき、一人称視点となる。
rは、ユーザーの操作や自動的に変化させることもできる。自動的に変化させる例は、上下方向の動きに応じて変化させる。例えば、三人称視点でカメラが下を向くとき、キャラクターを見下ろすようにrの値を増やす。別の例では、カメラが空間内の障害物オブジェクトを避けるようにrの値を自動的に変更する。

カメラの動きの第二の方法は、図13のように、カメラの上下方向の移動に関して、軌道を設定して、上下方向の入力に対してカメラの位置点Cを前記軌道上で移動させる。軌道はカメラの左右方向の回転軸を基準として設定する。カメラの左右方向の回転軸はキャラクターを基準として設定する。
図14のようにカメラの観測方向はキャラクターを基準とした点Pを向くように制御してもよい。点Pも点Cと同様に、上下方向の入力や制御状態に応じて移動させても良い。
点Cや点Pの可動範囲を超えるように動かそうとするとき、代わりに点Cと点P間の距離rがさらに変化するように制御してもよい。例えば、点Cを、範囲を超えて上に動かそうとするとき、代わりにrの値を大きくして広い範囲を見渡せるようにする。
照準の操作に関して説明する。照準とは、何らかのアクションや機能を行う際の作用点を示すためのものである。例えば、射撃ゲームでは発射する弾丸の発射方向や着弾点を指定する。その他、攻撃方向や位置などを指定するものである。照準を動かすとは則ち、前記作用点を動かすこととなる。ここでいう作用点とは、前記アクションや機能を働かせる点や方向を意味することとする。
本実施例では、照準(130)はデバイスの画面上に表示される点として、作用点を画面において照準(130)と重なる画面が写す空間の点とする。例えば、照準(130)が仮想空間内の的と重なっていれば、作用点はその的となり、弾丸を発射するアクションを行えば弾丸はその的に向かって発射される。これはあくまで一例であり、適用先にあわせて照準(130)の働きを決める。
照準(130)は任意の点に固定しても良い。例えば画面の中心に照準(130)を固定する。このとき、カメラの観測方向を変更することによって作用点を変化させることとなる。
照準は画面上の照準移動領域内(131)をカメラ操作領域(81)でのタッチ入力による上下左右方向の入力値に応じて移動させる。照準は照準移動領域(131)を出ないように制御される。照準移動領域内(131)の形状は任意に決めてよい。
左右方向の入力値に応じて照準を左右に動かし、上下方向の入力値に応じて照準(130)を上下に動かす。



カメラ操作を伴う照準(130)の操作に関して説明する。
照準とカメラの両方を操作するとき、その両方をカメラ操作領域(81)でのタッチ入力に応じて行う。照準(130)が照準移動領域(131)内の場合と照準移動領域(131)外に出ようとする場合とでカメラの動きを変える。
照準(130)が照準移動領域(131)内であるとき、カメラを動かさない。
あるいは、照準(130)とカメラを同時に動かす。このとき、照準移動領域(131)外に出ようとする場合よりもカメラの移動速度を少なくしてもよい。
照準(130)が照準移動領域(131)外に出ようとする場合、出ようとする方向に応じてカメラを動かす。このとき、照準(130)は照準移動領域(131)内に留める。このとき、カメラの動きは照準が照準領域内にあるとき以上にしても良い。例えば、図15のように照準が右へ移動して、照準移動領域(131)の右側へ出ようとするとき、照準の移動速度に応じた速さでカメラを回転させる。
照準の動きと照準移動領域とを上下方向成分と左右方向成分とで分けて扱うとき、照準の斜め方向の移動に関して、例えば、左右方向成分のみが照準移動領域(131)外となるとき、カメラを左右方向のみに動かすか、上下方向にも動かすかは任意に決めて良い。



図16に示すようにタッチ検出面にカメラ操作領域(81)を設定する。ただし、これは一例でありカメラ操作領域(81)は任意の領域としてよい。複数の領域に分かれていてもよい。カメラ及び照準はカメラ操作領域(81)でのタッチ入力に応じて行う。タッチ入力に応じた上下方向と左右方向の入力値を決定し、その入力値に応じて照準、カメラを操作する。以下、主にカメラの操作に関する例を示すが、照準に関しても同様である。
ここでは、タッチ点の検出開始から未検出となるまでの一連をタッチ入力と呼ぶ。最初のタッチ検出点をタッチ開始点、現在のタッチ検出点をタッチ点、未検出となったときの最後のタッチ検出点をタッチ終了点と呼ぶこととする。タッチ入力はタッチ点の検出ごとに独立して管理可能で、複数のタッチ入力を同時に扱うことも可能とする。
例えば、タッチボタンとタッチ点の移動によるカメラ操作とを同時に行うことを可能とする。
タッチ入力による上下左右方向の入力値の決定方法の一例は、タッチ点の移動方向と速度に応じて決定する。直前の、例えば直近時間やプログラムステップでタッチ点が移動した方向と量の上下方向成分と左右方向成分に応じて、それぞれ上下方向と左右方向の入力値を決定する。
ここでは、タッチ入力の上下左右方向はデバイス(60)と一致させるものとする。
例えば、タッチ面を右になぞるようなタッチ入力が行われると左右方向の入力値が与えられ、カメラが右方向を向く、あるいは照準が右へ移動する。

タッチ入力が所定の条件のもとで終了したとき、そのタッチ入力に応じた上下左右方向の入力を継続する。
タッチ点の直近任意時間での移動速度が所定の速度以上でタッチ入力が終了したとき、その任意時間でのタッチ点の移動方向と移動速度に応じて、そのタッチ入力に応じた上下左右方向の入力を継続する。例えば、カメラを操作していたとき、タッチ入力終了後もカメラが動き続ける。
継続中の上下左右方向の入力値は、時間経過とともに徐々に減少させても良い。最終的に当該入力値が0となり、例えばカメラや照準は停止する。
動作の一例は、タッチ面を右に弾くようなタッチ入力が行われると、カメラは右に回り続け、徐々に回転速度が遅くなり最終的に停止する。カメラの上下方向のように、可動範囲に上限がある場合はそれ以上動かさない。
照準に関しても同様であり、継続によって照準が照準移動領域(131)から出ようとすることによってもカメラが動く。
この継続入力中に、新たな上下左右方向の入力値を決めるためのタッチ入力が行われたとき、その継続していた入力を終了する。則ち、カメラを操作しており継続入力によってカメラが動き続けているときにカメラ操作領域に新たなタッチ入力が行われると、カメラが停止しそのタッチ入力のタッチ点の移動に応じてカメラを動かす。
タッチ入力中にタッチ点の移動によってタッチ点がカメラ操作領域外(81)となった場合も、そのタッチ入力に応じた各種操作を継続しても良い。
カメラ操作領域(81)外がタッチ開始点となるタッチ入力のタッチ点がカメラ操作領域(81)内となった場合は、そのタッチ入力に応じた各種操作を行わないものとして良い。則ち、タッチ開始点がカメラ操作領域内となるタッチ入力に応じて、カメラ、照準を操作する上下左右方向の入力値を決定する。
カメラ操作領域(81)内となったタッチ点をタッチ開始点として上下左右方向の入力値を決定する処理を開始しても良い。
上下左右方向の入力値を決定する別の方法は、任意の始点からのタッチ点の位置に応じて決定する。いわゆるバーチャルパットである。始点はタッチ開始点としても良いし任意の固定点としても良い。

その他アクションや任意の機能の実行方法に関して説明する。ここでは、キャラクターの攻撃アクションとジャンプアクションの実行方法に関して述べるが、これは一例であり、実行するアクションや機能と実行方法は適用先に応じて適宜設定する。
キャラクターの攻撃について、タッチディスプレイ内に攻撃ボタン(82)を配置し、ボタンが押されるとキャラクターがボタンに応じた攻撃アクションを行う。
攻撃アクションの一例とは、サードパーソンシューティングゲームやファーストパーソンシューティングゲームにおける射撃であり、前記攻撃ボタン(82)が押されると、照準(130)が示す点に向かってキャラクターが弾丸を発射する。
他にも、任意の機能の例として、メニュー呼び出しボタンを配置し、ボタンが押されるとメニュー画面を呼び出すようにしてもよい。
キャラクターのジャンプについて、本実施形態ではタッチディスプレイ内にタッチジェスチャ領域(83)を設定し、領域内でダブルタップが行われるとキャラクターがジャンプアクションを行う。
ここで、ダブルタップによるジャンプアクションのタイミングとは、所定時間内にタッチ入力が終了しさらに所定時間内にタッチ入力が開始したときとする。このタッチ入力によってさらに前記カメラや視点の操作を可能とすることによって、ジャンプ後のカメラや照準(130)操作をスムーズに行うことを可能とする。
タッチディスプレイ内のボタンやタッチジェスチャに応じた処理やアクションとは、ここで例示したもの以外も、適用先に合わせて任意に設定可能である。当然前記ダブルタップ以外の任意のタッチジェスチャを用いてもよい。
デバイス(60)の姿勢に応じたキャラクターの移動を行う条件を設定してもよい。
例えば、カメラ、照準を操作している間や前記攻撃やジャンプなどの所定のアクションを行っている間、および必要に応じてそれらが終了してから所定の時間のみキャラクターの移動を行う。
カメラ、照準を操作している間とは、前記タッチ入力に応じたカメラ、照準の操作が、タッチ入力が終了した後も継続している間も含めてよい。
前記入力が終了してから所定の時間が経過するまでの間もキャラクターの移動を可能とする。
これによって、タッチ点がタッチ入力検出可能面から出てしまいそうになったときに、改めてタッチ入力をし直す場合、タッチ入力が行われていない間もキャラクターの移動を可能とする。
前記所定の間とは、入力やシステムの状態に応じて決定してもよい。例えば、ボタンに対しては0として、タッチ入力に対しては、直前のタッチ入力の変化量に応じた値とする。

必要に応じて、姿勢情報に基づく数値入力による現在の入力値を確認可能とするための動作を行う機能を付加する。
例として以下に記述する方法の任意の組み合わせによって確認する手段を提供する。
(1) 入力値に応じて、画面に数値表示やバーによる表示、矢印による方向表示(70)を加えて視覚的に確認可能とする。
(2) 入力値に応じて、音の種類、音量を変化させて鳴らすことによって、聴覚によって確認可能とする。
(3) 入力値に応じて、機器の振動機能によって、振動の強さ、振動の仕方を変化させることによって、触覚的に確認可能とする。
(4) 入力値に応じて、力覚を与える機能を有する機器によって与える力覚を変化させることによって、力覚によって確認することを可能とする。

本願発明を用いることで、本実施例で説明したような仮想空間内の前後左右への移動とジャンプと攻撃とのアクションが可能なキャラクターを操作するゲームでは、図2の持ち方で操作するとき、キャラクターの移動処理を姿勢算出プログラムで得られる数値入力に基づいて行い、カメラや照準の操作を左親指で行い、攻撃などのアクションを右親指で行うことができるので、キャラクターの移動とカメラや照準の操作と攻撃などのアクションとを同時に独立して操作することを可能とするので、より自由度の高いキャラクターの操作をユーザーに提供することができる。右親指と左親指とは当然逆でもよい。
また、図1の持ち方においても、姿勢算出プログラムで得られる数値入力とデバイスを保持している手の親指によって、2つの入力に応じた操作を同時に独立して行うことができる。さらに、デバイスを保持していない手を用いた入力も併せて同時に独立して行うことができる。

また、デバイスの姿勢の変化をカメラの動きと連動する方法と比べて、本実施例では、デバイスの姿勢の変化に応じてキャラクターの移動速度を決定するので、キャラクターの操作を満足するために必要な基準姿勢からデバイスの姿勢を変化させる量が少なくて済む。したがって、より快適な操作を提供することができる。
前記カメラや照準の操作や攻撃などのアクションや任意の機能の呼び出しは、タッチ入力手段を用いる代わりに実デバイスのボタンやアナログスティック入力の信号を用いてもよい。
ここまで、サードパーサンキャラクターゲームのプログラムの実施形態として示してきたが、前記姿勢算出プログラムやキャラクターの移動に関する処理は、プログラムモジュールとしても実施することができる。このプログラムモジュールは、適用先の任意プログラムの一部として実装してもよい。
このとき、前記処理はライブラリやソースコード、関数などによって実装する。これらは任意のプログラムに組み込むための実装方法の一例であり他の方法を用いてもよい。
あるいは、任意のプログラムが前記回転量、あるいは前記回転量に応じた数値を利用できるような、前記任意のプログラムと独立したプログラムとして実装することもできる。
例えば、ゲームのコントローラーのアナログスティックによる方向指示入力と等価な信号を生成するプログラムとして実装してもよい。いわゆるゲームのコントローラーのデバイスドライバのように実装してもよい。
方向指示入力に関して、スティックを横方向に倒したときの信号に相当する値を前記joy_y、縦方向に倒したときの信号に相当する信号を前記joy_xに応じて決定する。
例えば、前記デバイスドライバが有効である間は、実行するコンピュータのシステムに方向指示入力信号を生成し、システムはその方向指示信号に応じた処理を行う。
例えば、アナログスティックに対応したソフトウェアを実行していれば、デバイスの傾きに応じたアナログスティックの操作を可能とする。
また、タッチ入力に応じて、前記ゲームのコントローラーのボタンに応じて生成される信号と等価な信号を生成することによって、前記方向指示入力の場合と同様に、ボタンに対応したソフトウェアの操作を可能とする。前記バーチャルパットではアナログスティックによる方向指示信号を生成する。
タッチボタンやバーチャルパットなどのタッチ入力のためのユーザーインターフェースを描画するときは、画面の最前面に描画する。さらに任意の透過処理を行ってもよい。
また、本願によるタッチ入力の検出が、もともとのタッチ入力の検出と重なる場合は、本願によるタッチ入力に対する処理を優先して行い、もともとのタッチ入力の処理を無視するようにしてもよい。
例えば、適用先のプログラムがタッチボタンUIを有しており、本願プログラムによって前記ボタンUIを覆うようにタッチジェスチャ領域(83)が設定されると、前記ボタンUIに対するタッチ入力は無視される。
本願によるタッチ入力の検出が、もともとのタッチ入力の検出と重ならないようにしてもよい。
上記の組み合わせによって、例えば、姿勢検出手段とタッチディスプレイを有するコンピュータにおいて、前記ゲームのコントローラーが無くとも、デバイスを傾ける操作とタッチ入力によってゲームのコントローラーに対応したソフトウェアを操作することを可能とする。
図17に任意のプログラムに組み込むように実装した場合(図17左側)とデバイスドライバのように実装した場合(図17右側)のシステム構成の例を示す。これはあくまで一例であり、どのように実装するかは設計者が各々決めてよい。
任意のプログラムに組み込むように実装した場合(図17左側)には、姿勢算出プログラムとキャラクター操作処理とタッチ入力の処理のみ記載したが、当然適用先のプログラムにはこれら以外の処理も含まれる。当然、姿勢算出プログラムのみを含むようにしてもよい。
デバイスドライバのように実装した場合(図17右側)は、姿勢算出プログラムから得られる前記回転量に応じて、前記アナログスティック入力値を決定し、アナログスティック入力に対応した任意のプログラムが利用できるようにシステムに伝える。タッチ入力の処理についても同様に、前記ボタン入力信号をゲームコントローラのボタン入力に対応した任意のプログラムが利用できるようにシステムに伝える。
タッチ入力の処理に関しては必要に応じて実装するものとする。また、姿勢算出プログラムの部分とタッチ入力の処理の部分を一つにまとめてよい。
ここまでで、仮想空間内のキャラクターの操作に関して説明したが、当然現実世界の移動体の操作にも適用してもよい。このとき前記キャラクターとは移動体に当たる。例えば、無線操縦可能な走行車両やロボットである。また、観測手段は前記移動体に備えられたカメラなどとなる。
移動体の移動は、前記キャラクターの場合と同様にjoy_xとjoy_yの値に応じて行ってよい。
移動体の移動方法は、移動体に応じたものとする。例えば、向きを変えずとも全方向に移動可能な移動ロボットの場合は、前後左右方向の移動速度をjoy_xとjoy_yに応じて決定し、向きの変更は、前記タッチ入力に応じた左右方向の入力値に応じて行う。また、観測手段を有する場合は、観測手段の上下方向の観測方向の変更を前記タッチ入力に応じた上下方向の入力値に応じて行うものとしてよい。
他の例は、移動体の前後方向の移動速度をjoy_xに応じて決定し、移動体の旋回速度をjoy_yの値に応じて決定してもよい。このとき、観測手段を有する場合は、観測方向の変更について、上下の観測方向を前記タッチ入力に応じた上下方向の入力値、観測方向の左右、回転方向の変更を前記タッチ入力に応じた上下方向の入力値に応じて行うものとしてよい。

前記回転量を無効とし所定の値にする、もしくは無視する処理に関して、複数の回転量を扱うとき、それぞれの回転量を無効にする判断を他の回転軸での回転を考慮して行う。
また、前記回転量を有効にするための条件と無効とするための条件とに差をつけることを可能とする。

前記回転量を無効とし所定の値にする、もしくは無視する範囲に関して、第二の例について説明する。複数の前記回転軸での回転量からなるベクトルを考える。各回転量を無効とする前記ベクトルの任意の領域をそれぞれ定め、前記ベクトルが前記領域内のとき、対応する回転量を無効として扱う。さらに、前記領域外での回転量については前記領域に応じて回転量に補正を加えてもよい。
補正とは、前記領域から出た時の所定の回転量が、最小もしくは0もしくは無効としたときの値と同じになるようにすることとする。前記補正の一例は、前記回転量に応じたベクトルと前記領域の境界との交点から前記回転量に応じたベクトルの終点へのベクトルに応じた回転量とする。
一例を以下に示す。
説明のため、任意の2つの回転軸の回転量をそれぞれa,bで表し、前記ベクトルを(a,b)と表す。
前記無効とする領域を半径rの円とすると、点(a,b)が前記円の内部であれば、回転量a,bを無効として扱う。領域の形は円によらず、例えば楕円や多角形であってもよい。
点(a,b)が前記領域境界上のときは、回転量が、最小もしくは0もしくは無効としたときの値とし、前記領域外の点(a,b)については、そこから回転量が変化するようにする。
前記補正に関して説明する。
例えば、図18の例では、ベクトル(a,b)の大きさをrだけ減少させるような補正を行う。新たな回転量、回転量に応じた数値をそれぞれjoy_a,joy_bと表すとき、
joy_a=a-r*cos(theta),joy_b=b-r*sin(theta),cos(theta)=b/(sqrt(a*a+b*b)), sin(theta)=b/(sqrt(a*a+b*b))とする。
前記回転量を無効とし所定の値にする、もしくは無視する範囲に関する、第三の例を説明する。
複数の回転軸における回転量に応じたベクトル関して、各回転量を無効とする前記ベクトルの任意の領域をそれぞれ設定する。さらに必要に応じて任意の領域Xを設定する。
いずれかの回転量が有効の場合は、他の回転量が無効となっている場合でも無効として扱わずに、無効のときの所定の回転量となっているものとして扱ってよい。
各回転量に関して、回転量を無効とする領域外では、前記ベクトルの示す点に最も近い領域X内の点から、前記ベクトルの示す点からなるベクトルの対応する成分に応じた回転量とする。
より具体的な説明を述べる。説明のため、任意の2つの回転軸の回転量をそれぞれa,bで表し、前記回転量に応じたベクトルを(a,b)と表す。
aとbの両方を無効とする任意の領域をAB、aまたはbのみを無効とする任意の領域をそれぞれA、Bとし、それら任意組み合わせからなる領域を設定する。さらに必要に応じて、任意の領域Xを設定する。
いずれかの回転量が有効の場合は、他の回転量が無効となっている場合でも無効として扱わずに、無効のときの所定の回転量となっているものとして扱ってよい。
図19をもとに動作例を説明してゆく。ここで領域AとBはそれぞれ幅がWa,Wbの無限遠の領域と考え、領域XはAとBの重なる領域とする。曲線部は、Xの角を中心とした半径rの円の4分の1とする。これはあくまで一例であり、例えば曲線部は楕円でも直線でもそれらの組み合わせであってもよい。
回転量aを無効とする領域外では、aを点(a,b)と、点(a,b)と最も近い領域X内の点(図19のP(例1,例2))からなるベクトルのaに対応する成分に応じた値とする。回転量bに関しても同様に、回転量bを無効とする領域外では、bを点(a,b)と、点(a,b)と最も近い領域X内の点からなるベクトルのbに対応する成分に応じた値とする。
前記回転量を無効とし所定の値にする、もしくは無視する範囲に関する、第四の例について説明する。前記第三の例での処理を基本とする。回転量のいずれかが有効となったときの前記領域X内の、回転量からなるベクトルの示す点に最も近い点Pと、前記回転量からなるベクトルの示す点からなるベクトルの各成分に応じて回転量を決定する。
また、このとき点Pを基準とした任意の領域Yを定め、前記無効とする領域によらず、回転量からなるベクトルの示す点が前記領域Y内となるまで有効としてもよい。
更に、各回転量について、無効とする領域をそれぞれ、有効である間、点Pを基準として新たに設定してもよい。この領域に関しても、前記回転量の補正を施すものとする。
あるいは、前記回転量を無効とし所定の値にする、もしくは無視する範囲に関する、第二から第三の例いずれかの各領域を、すべての回転量、もしくは少なくとも一つの回転量が有効である間、再設定する。このとき、前記第二から第三の例のいずれかに準じた処理を行う。すべての回転量、もしくは任意の回転軸の回転量が無効となったとき元に戻す。
より具体的な例を図19と図20の場合を例に説明する。任意の2つの回転軸の回転量aとbのいずれかが有効となったときの前記領域X内の点(a,b)に最も近い点をPと、点(a,b)からなるベクトルの各成分に応じて回転量を決定する。
このとき、前記領域Yを、点Pを中心とする半径r2の円とする。
または、図19の領域を、点Pが中心となるように設定しなおす。このとき、点(a,b)が再設定によって無効領域とならないように領域を変更する。
具体的な再設定の例では、図20のように図19の領域AとBの幅を変更する。
このとき、中心が点Pに一致するように設定しなおす。
あるいは、点(a,b)が前記無効領域の境界上となり、点Pが前記領域Xの境界上となるように設定しなおす。このとき、前記領域は任意に変化させてもよく、例えば、前記幅を無くしてもよい(図20 (3))。
これらの変更は、前記有効となったときの点(a,b)に応じて変化させてもよい。一例では、点(a,b)が前記領域A,B内となる場合は、前記領域A,Bの幅を0とせず、それ以外の、本例では点Pが領域Xの角となるような点(a,b)では、前記幅を0として領域A,Bをなくすものとしてもよい。
ここまでの回転量に関する処理では、当然最大値最小値を設定し、これらの範囲を超えないように制御してもよい。補正した回転量を回転量に応じて決定する数値として考えてもよい。
また、前記補正によって、回転量が0以外の値から変化するようにしてもよい。例えば、前記無効とする領域から出たときの回転量の初期値を10として、そこからデバイスの回転に応じて連続的に変化するようにしてもよい。前記初期値は、デバイスの回転に応じて決定してもよい。
以上の処理を行うことによって、前記第二の例では、前記回転量が有効になったときの回転量をより細かく決めることが可能となる。例えば、2つの回転量からベクトルを決定するようなとき、前記回転を有効としたときに斜め方向のベクトルをとることを容易とする。
前記第三と第四の例では、2つの回転量を扱うとき、上記に加えて、片方の回転量を0にするような入力を行うことを容易とする。
また、前記領域の設定によっては、前記回転量を有効にするための条件と無効とするための条件とに差をつけることができるので、より快適な操作を提供することが可能となる。



1 デバイスを保持する手
2 親指
3 デバイスを保持していない手
11 左手の親指
12 右手の親指
20 回転の基準値
21 入力を有効にするための閾値
22 入力を有効にするための閾値
23 回転の最大値
24 回転の最大値
25 回転量
60 タブレットデバイス
61 Dx軸
62 Dy軸
63 Dz軸
64 x軸
65 y軸
66 z軸
67 x0軸
68 y0軸
69 z0軸
70 移動方向を示す表示
80 基準姿勢リセットボタン
81 カメラ操作領域
82 ボタン
83 タッチジェスチャ領域
100 CPU
101 主記憶
102 補助記憶
103 入力部
104 傾き算出手段
105 タッチ入力手段
106 表示部
130 照準
131 照準移動領域
132 ディスプレイ

Claims (12)

  1. デバイスの基準姿勢からの回転量をコンピュータに算出させるプログラムであり、
    前記コンピュータに、前記デバイスの回転軸として、前記デバイスの姿勢を基準とする任意の回転軸からなる任意の座標系を設定させ、
    前記基準姿勢、または前記座標系、またはその両方に応じた回転量を算出させ、

    前記回転量を無効として所定の値にする、もしくは無視する範囲を有し、
    複数の回転量を扱うとき、それぞれの回転量を無効にする判断を他の前記回転軸での回転を考慮する
    プログラム。
  2. デバイスの基準姿勢からの回転量をコンピュータに算出させるプログラムであり、
    前記コンピュータに、前記デバイスの回転軸として、前記デバイスの姿勢を基準とする任意の回転軸からなる任意の座標系を設定させ、
    前記基準姿勢、または前記座標系、またはその両方に応じた回転量を算出させるプログラムであり、
    前記デバイスの前記基準姿勢に応じて前記回転軸の設定方法を変化させることを可能とした
    プログラム。
  3. デバイスの基準姿勢からの回転量をコンピュータに算出させるプログラムであり、
    前記コンピュータに、前記デバイスの回転軸として、前記デバイスの姿勢を基準とする任意の回転軸からなる任意の座標系を設定させ、
    前記基準姿勢、または前記座標系、またはその両方に応じた回転量を算出させるプログラムであり、
    デバイスのある1つの軸をDx軸としたとき、
    前記回転軸からなる前記座標系とは、
    前記回転軸の一つを前記Dx軸と一致させ、もう一つの回転軸を前記基準姿勢での前記Dx軸と重力との外積に一致させる直交座標とする
    プログラム。
  4. コンピュータに
    仮想空間内のキャラクターを移動させる処理を実行させるプログラムであり、
    前記コンピュータに、デバイスの基準姿勢からの姿勢の変化に基づく回転量に応じて、
    前記キャラクターの移動方向と移動速度を決定させ、
    前記仮想空間内を観測する観測手段の観測方向の変更処理をさせる、
    あるいは、任意のアクションを行う際の作用点を示す照準の操作処理をさせる、
    あるいはその両方の処理をさせる
    プログラム。
  5. コンピュータに
    仮想空間内のキャラクターを移動させる処理を実行させるプログラムであり、
    前記コンピュータに、デバイスの基準姿勢からの姿勢の変化に基づく回転量に応じて、
    前記キャラクターの移動方向と移動速度を決定させ、
    前記仮想空間内を観測する観測手段の観測方向の変更処理をタッチ入力に応じて行わせる
    プログラム。
  6. コンピュータに
    仮想空間内のキャラクターを移動させる処理を実行させるプログラムであり、
    前記コンピュータに、デバイスの基準姿勢からの姿勢の変化に基づく回転量に応じて、
    前記キャラクターの移動方向と移動速度を決定させ、
    任意のアクションを行う際の作用点を示す照準の操作をタッチ入力に応じて行わせる
    プログラム。

  7. 請求項4から請求項6いずれかのプログラムであり、
    前記移動と観測方向の変更以外の任意の機能の操作を前記コンピュータにさらにさせることを可能とする
    プログラム。
  8. 請求項4から請求項7いずれかのプログラムであり、
    前記コンピュータに、前記キャラクターの代わりに、現実世界の移動体の移動方向と移動速度を決定させる
    プログラム。
  9. コンピュータを
    デバイスの基準姿勢からの姿勢の変化に応じて、
    任意の移動体の移動方向と移動速度を決定し、
    観測手段の観測方向の操作を行う、
    あるいは、任意のアクションを行う際の作用点を示す照準の操作を行う、
    あるいはその両方を行う
    手段として機能させるためのプログラム。
  10. コンピュータを
    デバイスの基準姿勢からの姿勢の変化に応じて、
    任意の移動体の移動方向と移動速度を決定し、
    観測手段の観測方向の操作、
    あるいは、任意のアクションを行う際の作用点を示す照準の操作、
    あるいはその両方をタッチ入力に応じて行う
    手段として機能させるためのプログラム。
  11. コンピュータを
    デバイスの基準姿勢からの姿勢の変化に応じて、
    任意の移動体の移動方向と移動速度を決定し、
    任意のアクションを行う際の作用点を示す照準の操作をタッチ入力に応じて行う
    手段として機能させるためのプログラム。
  12. 請求項9から請求項11のプログラムであり、
    前記移動と観測手段の操作以外の任意の機能の操作手段としてさらに機能させることを可能とする
    プログラム。
JP2017074081A 2017-03-24 2017-04-03 姿勢算出プログラム、姿勢情報を用いたプログラム Active JP6308643B1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2018/011948 WO2018174295A1 (ja) 2017-03-24 2018-03-24 姿勢算出プログラム、装置、姿勢情報を用いたプログラム、装置
US16/496,805 US20200387280A1 (en) 2017-03-24 2018-03-24 Orientation calculation program and device, and program and device using orientation information
US17/385,495 US11747974B2 (en) 2017-03-24 2021-07-26 Orientation calculation program and device, and program and device using orientation information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017060230 2017-03-24
JP2017060230 2017-03-24

Publications (2)

Publication Number Publication Date
JP6308643B1 true JP6308643B1 (ja) 2018-04-11
JP2018163626A JP2018163626A (ja) 2018-10-18

Family

ID=61901880

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017074080A Pending JP2018163132A (ja) 2017-03-24 2017-04-03 姿勢算出プログラム、姿勢情報を用いたプログラム
JP2017074081A Active JP6308643B1 (ja) 2017-03-24 2017-04-03 姿勢算出プログラム、姿勢情報を用いたプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017074080A Pending JP2018163132A (ja) 2017-03-24 2017-04-03 姿勢算出プログラム、姿勢情報を用いたプログラム

Country Status (3)

Country Link
US (2) US20200387280A1 (ja)
JP (2) JP2018163132A (ja)
WO (1) WO2018174295A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022525172A (ja) * 2019-08-23 2022-05-11 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 仮想オブジェクトの制御方法、装置、コンピュータ機器及びプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114144753A (zh) * 2019-07-30 2022-03-04 索尼集团公司 图像处理装置、图像处理方法和记录介质
WO2022003930A1 (ja) * 2020-07-03 2022-01-06 株式会社ASIAN Frontier 端末
US11577157B2 (en) 2020-07-08 2023-02-14 Nintendo Co., Ltd. Systems and method of controlling game operations based on touch input
JP7437433B2 (ja) * 2022-02-16 2024-02-22 任天堂株式会社 情報処理プログラム、情報処理システム、情報処理装置、および情報処理方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06190144A (ja) * 1992-12-28 1994-07-12 Sega Enterp Ltd コントロールキー装置
US20070131029A1 (en) * 2005-12-13 2007-06-14 Industrial Technology Research Institute Electric device with motion detection ability
JP2007296219A (ja) * 2006-05-02 2007-11-15 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
US20080174550A1 (en) * 2005-02-24 2008-07-24 Kari Laurila Motion-Input Device For a Computing Terminal and Method of its Operation
JP2011237838A (ja) * 2010-04-30 2011-11-24 Sony Computer Entertainment Inc プログラム、情報入力装置、及びその制御方法
JP2011247866A (ja) * 2010-05-24 2011-12-08 Cywee Group Ltd モーション検知システム、モーション検知可能な携帯型装置、及びモーション検知システムの動作方法
JP2014512530A (ja) * 2011-03-28 2014-05-22 レニショウ パブリック リミテッド カンパニー 座標位置決め装置
JP2016076104A (ja) * 2014-10-07 2016-05-12 株式会社ログバー ジェスチャ入力システムのデータ加工方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5204381B2 (ja) 2006-05-01 2013-06-05 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム及びゲーム処理方法
EP2251067B1 (en) 2009-05-07 2018-01-03 Nintendo Co., Ltd. Storage medium storing information processing program, and information processing apparatus
US8339364B2 (en) 2010-02-03 2012-12-25 Nintendo Co., Ltd. Spatially-correlated multi-display human-machine interface
JP2011255119A (ja) * 2010-06-11 2011-12-22 Nintendo Co Ltd 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
JP5379250B2 (ja) 2011-02-10 2013-12-25 株式会社ソニー・コンピュータエンタテインメント 入力装置、情報処理装置および入力値取得方法
KR101410416B1 (ko) * 2011-12-21 2014-06-27 주식회사 케이티 원격 제어 방법, 시스템 및 원격 제어 사용자 인터페이스
TW201334843A (zh) * 2012-02-20 2013-09-01 Fu Li Ye Internat Corp 具有觸控面板媒體的遊戲控制方法及該遊戲媒體
JP5967995B2 (ja) 2012-03-22 2016-08-10 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、および判別方法
US9529445B2 (en) 2014-01-08 2016-12-27 Fujitsu Limited Input device and input method
JP5995909B2 (ja) 2014-05-26 2016-09-21 株式会社コロプラ ユーザインターフェースプログラム
CA2966400C (en) * 2014-06-16 2020-04-14 Huawei Technologies Co., Ltd. Method and apparatus for presenting panoramic photo in mobile terminal, and mobile terminal
US20160059120A1 (en) * 2014-08-28 2016-03-03 Aquimo, Llc Method of using motion states of a control device for control of a system
US11794094B2 (en) 2016-10-17 2023-10-24 Aquimo Inc. Method and system for using sensors of a control device for control of a game

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06190144A (ja) * 1992-12-28 1994-07-12 Sega Enterp Ltd コントロールキー装置
US20080174550A1 (en) * 2005-02-24 2008-07-24 Kari Laurila Motion-Input Device For a Computing Terminal and Method of its Operation
US20070131029A1 (en) * 2005-12-13 2007-06-14 Industrial Technology Research Institute Electric device with motion detection ability
JP2007296219A (ja) * 2006-05-02 2007-11-15 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
JP2011237838A (ja) * 2010-04-30 2011-11-24 Sony Computer Entertainment Inc プログラム、情報入力装置、及びその制御方法
JP2011247866A (ja) * 2010-05-24 2011-12-08 Cywee Group Ltd モーション検知システム、モーション検知可能な携帯型装置、及びモーション検知システムの動作方法
JP2014512530A (ja) * 2011-03-28 2014-05-22 レニショウ パブリック リミテッド カンパニー 座標位置決め装置
JP2016076104A (ja) * 2014-10-07 2016-05-12 株式会社ログバー ジェスチャ入力システムのデータ加工方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022525172A (ja) * 2019-08-23 2022-05-11 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 仮想オブジェクトの制御方法、装置、コンピュータ機器及びプログラム

Also Published As

Publication number Publication date
US20210349595A1 (en) 2021-11-11
US11747974B2 (en) 2023-09-05
US20200387280A1 (en) 2020-12-10
JP2018163626A (ja) 2018-10-18
JP2018163132A (ja) 2018-10-18
WO2018174295A1 (ja) 2018-09-27

Similar Documents

Publication Publication Date Title
JP6308643B1 (ja) 姿勢算出プログラム、姿勢情報を用いたプログラム
US10716995B2 (en) Information processing method and apparatus, storage medium, and electronic device
JP5981591B1 (ja) 没入型仮想空間でオブジェクト操作を制御するためのコンピュータ・プログラムおよびコンピュータ・システム
US9878245B2 (en) Computer-readable storage medium having information processing program stored therein, information processing apparatus, information processing system, and information processing method for zooming on an imaging subject in a virtual space without changing an imaging direction of the virtual camera
JP7496013B2 (ja) ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
JP7150108B2 (ja) ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
CN107203321B (zh) 游戏画面的显示控制方法及装置、存储介质、电子设备
JP6581341B2 (ja) 情報処理装置、情報処理プログラム、情報処理方法、および情報処理システム
JP6228267B2 (ja) ビデオゲーム処理装置、ビデオゲーム処理方法、及びビデオゲーム処理プログラム
JP6519075B2 (ja) 情報処理装置、情報処理プログラム、情報処理システム、および、情報処理方法
JP2016148901A (ja) 情報処理装置、情報処理プログラム、情報処理システム、および、情報処理方法
JP6774060B2 (ja) プログラムおよび情報処理装置
JP2017134802A (ja) ユーザーインターフェースプログラム
JP5237904B2 (ja) ゲーム装置
US11285394B1 (en) Computer-readable non-transitory storage medium having instructions stored therein, game apparatus, game system, and game processing method
JP6561400B2 (ja) 情報処理装置、情報処理プログラム、情報処理システム、および、情報処理方法
JP6603024B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
JP2016181302A (ja) 没入型仮想空間でオブジェクト操作を制御するためのコンピュータ・プログラムおよびコンピュータ・システム
JP2018060539A (ja) ユーザーインターフェースプログラム
JP6133344B2 (ja) ヘッドマウントディスプレイへ表示するためのユーザインタフェース表示方法、及びプログラム
JP2017157195A (ja) ユーザーインターフェースプログラム
JP6780865B2 (ja) 端末装置、及びプログラム
JP7064789B2 (ja) プログラムおよび情報処理装置
JP2023016047A (ja) 情報処理システム、プログラム及び情報処理方法
JP2023015980A (ja) 情報処理システム、プログラム及び情報処理方法

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170419

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170427

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170713

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171111

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180109

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180310

R150 Certificate of patent or registration of utility model

Ref document number: 6308643

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250