(58)【調査した分野】(Int.Cl.,DB名)
前記表示制御部は、前記検出部による回転の検出に応じて、前記注視点の位置及び前記注視点までの距離が維持されたまま検出された回転の向きに相対的に旋回した前記視点の位置から前記注視点の位置に向かって見た様子を表す画像が表示されるよう制御する、
ことを特徴とする請求項1に記載のヘッドマウントディスプレイ。
【発明を実施するための形態】
【0019】
以下、本発明の一実施形態について、図面を参照しながら説明する。
【0020】
図1は、本発明の一実施形態の全体構成の一例を示す図である。
図2は、本実施形態に係るヘッドマウントディスプレイ(HMD)10の構成の一例を示す図である。
図1に示すように、本実施形態では、HMD10は、コントローラ12と通信可能になっている。そしてHMD10のユーザは、コントローラ12を操作することでHMD10に対する各種の操作を行うことができるようになっている。
【0021】
図2に示すように、本実施形態に係るHMD10には、例えば、制御部20、記憶部22、通信部24、表示部26、センサ部28、が含まれる。
【0022】
制御部20は、例えば記憶部22に記憶されるプログラムに従って動作するCPU等のプログラム制御デバイスである。
【0023】
記憶部22は、例えばROMやRAM等の記憶素子などである。記憶部22には、制御部20によって実行されるプログラムなどが記憶される。
【0024】
通信部24は、例えば無線LANポートなどといった通信インタフェースである。本実施形態に係る通信部24は、例えばコントローラ12から送信される操作信号を受信する。
【0025】
表示部26は、例えば液晶ディスプレイや有機ELディスプレイ等のディスプレイであり、画像や映像などを表示させる。本実施形態では、
図1に示すように、HMD10を装着するユーザの眼前に表示部26が配置されている。なお本実施形態に係る表示部26が、3次元映像を表示可能であってもよい。
【0026】
センサ部28は、例えば加速度センサ、ジャイロセンサ、地磁気センサ、気圧センサ、などのセンサであり、HMD10の姿勢、回転量、移動量などを計測する。
【0027】
本実施形態に係るセンサ部28は、HMD10の姿勢、回転量、移動量などの計測結果を所定のフレームレート(例えば、1/60秒間隔)で、制御部20に出力する。そして制御部20は、当該計測結果に基づいて、単位時間あたりのHMD10の移動量及び回転量、すなわちHMD10の速度及び角速度を特定する。このようにして本実施形態では、所定のフレームレートでHMD10の移動量及び回転量を特定できるようになっている。そして本実施形態では、特定された移動量及び回転量に基づいて、仮想3次元空間内の視点30の位置及び視線方向が以下に説明するように所定のフレームレートで変化する。
【0028】
本実施形態に係るHMD10の表示部26は、
図3に例示する仮想3次元空間に配置された視点30から、当該仮想3次元空間に配置されたオブジェクトを見た様子を表す画像を表示する。
図3に例示する仮想3次元空間には、このようなオブジェクトの一例として、六面体であるメニューオブジェクト32が配置されている。そして本実施形態に係るメニューオブジェクト32の各面には、それぞれ「A」〜「F」のうちのいずれかのアルファベットが示された選択肢34が配置されている。ここでは例えば、メニューオブジェクト32の前面には「A」の選択肢34が、上面には「B」の選択肢34が、右側面には「C」の選択肢34が配置されていることとする。また
図3には明示されていないが、メニューオブジェクト32の背面には「D」の選択肢34が、下面には「E」の選択肢34が、左側面には「F」の選択肢34が配置されていることとする。
【0029】
そして本実施形態では例えば、初期状態では、
図3に示すように、視線方向が「A」の選択肢34を向くよう視点30が仮想3次元空間内の位置P1に配置される。そのため本実施形態では例えば、初期状態では、表示部26には「A」の選択肢34が表示されることとなる。
【0030】
また本実施形態では例えば、初期状態では、
図3に示すように、メニューオブジェクト32の中心に注視点36が設定される。そして初期状態では、視点30の視線方向は注視点36を通るようになっている。ここでは例えば注視点36が位置P0に設定されていることとする。
【0031】
なお、
図3に示す仮想3次元空間では、初期状態における視線方向をX軸正方向、初期状態における視点30から見て右方向をY軸正方向、初期状態における視点30から見て上方向をZ軸正方向とする。
【0032】
そして本実施形態では、HMD10を装着したユーザが頭部を回転させることで、表示される選択肢34を変更できるようになっている。また本実施形態では、ユーザによる選択操作に応じて、選択操作が行われた際に表示されている選択肢34に応じた処理、例えば、表示されている選択肢34に対応付けられるゲームプログラムの開始や設定画面の表示などが実行される。
【0033】
本実施形態では、HMD10を装着したユーザが頭部を回転させると、回転の向きに相対的に視点30が旋回する。そして本実施形態では視点30が旋回する際に注視点36の位置及び視点30からメニューオブジェクト32までの距離が維持される。
【0034】
ここで視点30が位置P1に配置されている際に、
図4の(1)のA欄に示すようにユーザが下を向くように頭部を回転させたとする。この場合、
図3に示すように視線方向が下を向くように視点30が経路R1に沿って位置P2まで旋回する。ここでは例えば、視点30は、XZ平面上を、
図3における右から見て、すなわちY軸負方向に沿って見て時計回りに90度旋回することとなる。すると
図4の(1)のB欄に示すように、表示部26に表示される選択肢34が「A」から「B」に変化する。
【0035】
また視点30が位置P1に配置されている際に、
図4の(2)のA欄に示すようにユーザが左を向くように頭部を回転させたとする。この場合、
図3に示すように視線方向が左を向くように視点30が経路R2に沿って位置P3まで旋回する。ここでは例えば、視点30は、XY平面上を、
図3における上から見て、すなわちZ軸負方向に沿って見て反時計回りに90度旋回することとなる。すると
図4の(2)のB欄に示すように、表示部26に表示される選択肢34が「A」から「C」に変化する。
【0036】
また視点30が位置P1に配置されている際に、
図4の(3)のA欄に示すようにユーザが上から見て反時計回りにユーザが後ろを向くように頭部を回転させたとする。この場合、
図3に示すように視線方向が後ろを向くように視点30が経路R2及び経路R3に沿って位置P4まで旋回する。ここでは例えば、視点30は、XY平面上を、
図3における上から見て、すなわちZ軸負方向に沿って見て反時計回りに180度旋回することとなる。すると
図4の(3)のB欄に示すように、表示部26に表示される選択肢34が「A」から「D」に変化する。
【0037】
また視点30が位置P1に配置されている際に、
図4の(4)のA欄に示すようにユーザが上を向くように頭部を回転させたとする。この場合、
図3に示すように視線方向が上を向くように視点30が経路R4に沿って位置P5まで旋回する。ここでは例えば、視点30は、XZ平面上を、
図3における右から見て、すなわちY軸負方向に沿って見て反時計回りに90度旋回することとなる。すると
図4の(4)のB欄に示すように、表示部26に表示される選択肢34が「A」から「E」に変化する。
【0038】
また視点30が位置P1に配置されている際に、
図4の(5)のA欄に示すようにユーザが右を向くように頭部を回転させたとする。この場合、
図3に示すように視線方向が右を向くように視点30が経路R5に沿って位置P6まで旋回する。ここでは例えば、視点30は、XY平面上を、
図3における上から見て、すなわちZ軸負方向に沿って見て時計回りに90度旋回することとなる。すると
図4の(5)のB欄に示すように、表示部26に表示される選択肢34が「A」から「F」に変化する。
【0039】
また視点30が位置P1に配置されている際に、
図4の(6)のA欄に示すようにユーザが上から見て時計回りにユーザが後ろを向くように頭部を回転させたとする。この場合、
図3に示すように視線方向が後ろを向くように視点30が経路R5及び経路R6に沿って位置P4まで旋回する。ここでは例えば、視点30は、XY平面上を、
図3における上から見て、すなわちZ軸負方向に沿って見て時計回りに180度旋回することとなる。すると
図4の(6)のB欄に示すように、表示部26に表示される選択肢34が「A」から「D」に変化することとなる。
【0040】
以上のように本実施形態では、HND10を装着したユーザの頭部の回転に応じて注視点36の位置が維持されたままユーザの頭部の回転の向きに相対的に視点が旋回する。そのため、ユーザから見て前方に配置されているように見える仮想3次元空間内に配置されたオブジェクトをユーザはあらゆる角度から無理なく視覚することができる。このようにして本実施形態によれば、ユーザから見て前方に配置されているように見える仮想3次元空間内に配置されたオブジェクトを視覚する際のユーザの負担が軽減されることとなる。
【0041】
また本実施形態に係るHMD10は、ユーザの頭部の姿勢の変化に連動して仮想3次元空間に配置された視点の位置や視線方向が変化する従来のバーチャルリアリティ(VR)技術に係るHMDとは明らかに動作が異なる。そうであるにも関わらず、メニューオブジェクト32の位置に対応する実空間内における位置を中心に頭部を旋回させた際の本実施形態に係るHMD10における表示の変化は、従来のVR技術に係るHMDと同様となる。そのため従来のVR技術に係るHMDに慣れているユーザであっても本実施形態に係るHMD10を違和感なく使用できることとなる。
【0042】
また本実施形態では、視点30が旋回する際に、注視点36の位置だけではなく、視点30からメニューオブジェクト32までの距離も維持される。そのため、視点30からメニューオブジェクト32までの距離が維持されない場合よりも、ユーザはメニューオブジェクト32をより無理なく視覚できることとなる。
【0043】
なお、
図5に示すように、ユーザの頭部の回転に応じて、ユーザの頭部の回転の向きに視点30が旋回する代わりに、メニューオブジェクト32が回転するようにしてもよい。またこの場合に、視点30及びメニューオブジェクト32の位置が維持されてもよい。この場合も、注視点の位置が維持されたまま、相対的には、視点30がユーザの頭部の回転の向きに旋回することとなる。要はメニューオブジェクト32の回転が表示されればよく、その際に視点30が旋回してもメニューオブジェクト32が回転しても表示としては等価である。
【0044】
また、以上の説明では、ユーザの頭部が回転した角度と、視点30が旋回する角度は一致しているが、ユーザの頭部が回転した角度と、視点30が旋回する角度が一致しなくてもよい。例えば、ユーザの頭部が回転した角度の2倍の角度だけ、視点30が旋回するようにしてもよい。
【0045】
また本実施形態では、HMD10を装着したユーザが頭部を左右に移動させると、頭部の移動の向きに相対的に視点30及び注視点36が移動する。なお視点30及び注視点36が移動する距離は、ユーザの頭部が移動する距離に比例するようにしてもよい。また本実施形態では、注視点36は視点30と同じ向きに同じ距離だけ移動する。ここでは例えば、
図6に示すように、ユーザの頭部が実空間内における位置P7に配置されていることとする。そしてユーザの頭部が位置P7に配置されている際には、
図7に示すように、視点30は位置P3に配置されていることとする。また視点30の視線方向は位置P0に設定されている注視点36を向いていることとする。そして表示部26には、
図8の中央に示されているように、「C」の選択肢34が表示されていることとする。
【0046】
図6に示すようにユーザの頭部が位置P7に配置されている際に、例えば、ユーザの頭部が経路R7に沿って位置P7から位置P8まで左に移動したとする。この場合、
図7に示すように、視点30は、経路R9に沿って位置P3から位置P10まで左に移動する。そして注視点36は、経路R10に沿って位置P0から位置P11まで左に移動する。すると
図8の左側に示すように、表示部26に表示されるメニューオブジェクト32が右に移動する。
【0047】
また
図6に示すようにユーザの頭部が位置P7に配置されている際に、例えば、ユーザの頭部が経路R8に沿って位置P7から位置P9まで右に移動したとする。この場合、
図7に示すように、視点30は、経路R11に沿って位置P3から位置P12まで右に移動する。そして注視点36は、経路R12に沿って位置P0から位置P13まで右に移動する。すると
図8の右側に示すように、表示部26に表示されるメニューオブジェクト32が左に移動する。
【0048】
以上のようにして本実施形態では、ユーザが頭部を左右に動かすことで、視点30の位置を相対的に左右に移動させることができる。また同様にして、ユーザが頭部を前後又は上下に動かした際に、視点30の位置が相対的に前後又は上下に移動するようにしてもよい。また、視点30や注視点36の位置を移動させる代わりに、メニューオブジェクト32の位置を移動させるようにしてもよい。
【0049】
なお本実施形態に係るHMD10が、ユーザが頭部を上下左右に動かした際に、その後に頭部を回転させるまでは、移動量に応じてメニューオブジェクト32の別の面が表示される上下左右移動モードとなるようにしてもよい。上下左右移動モードでは例えば所定の移動量より大きい上又は下への頭部の移動が行われる度に、表示されているメニューオブジェクト32の面が上又は下の隣の面に変化するようにしてもよい。また例えば所定の移動量より大きい左又は右への頭部の移動が行われる度に、表示されているメニューオブジェクト32の面が左又は右の隣の面に変化するようにしてもよい。そしてその後ユーザが頭部を回転させた際に、頭部の回転に応じて注視点36の位置が維持されたままユーザの頭部の回転の向きに相対的に視点が旋回する回転モードにHMD10が移行するようにしてもよい。
【0050】
以下、本実施形態に係るHMD10の機能並びに本実施形態に係るHMD10で実行される処理についてさらに説明する。
【0051】
図9は、本実施形態に係るHMD10で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るHMD10で、
図9に示す機能のすべてが実装される必要はなく、また、
図13に示す機能以外の機能が実装されていても構わない。
【0052】
図9に示すように、本実施形態に係るHMD10は、機能的には例えば、視点データ記憶部40、検出部42、視点制御部44、操作受付部46、表示制御部48、処理実行部50、を含む。視点データ記憶部40は、記憶部22を主として実装される。検出部42は、制御部20及びセンサ部28を主として実装される。視点制御部44、処理実行部50は、制御部20を主として実装される。操作受付部46は、通信部24を主として実装される。表示制御部48は、制御部20及び表示部26を主として実装される。
【0053】
そして以上の機能は、コンピュータであるHMD10にインストールされた、以上の機能に対応する指令を含むプログラムを制御部20で実行することにより実装されている。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してHMD10に供給される。
【0054】
視点データ記憶部40は、視点30の位置及び視線方向を示すデータを記憶する。本実施形態では例えば、視点データ記憶部40には、仮想3次元空間内における注視点36の位置の座標値を示す注視点位置データと、注視点36の位置を始点として視点30の位置を終点とするベクトルを示す視点ベクトルデータとが記憶されていることとする。このように注視点36の位置と注視点36の位置を始点として視点30の位置を終点とするベクトルとによって視点30の位置及び視線方向が管理されていても構わない。
【0055】
検出部42は、本実施形態では例えば、HMD10の回転を検出する。また検出部42は、本実施形態では、HMD10の移動も検出する。検出部42は、本実施形態では例えば、センサ部28が出力する計測結果に基づいて、所定のフレームレートでHMD10の移動量及び回転量を検出する。ここでは例えば加速度センサの計測結果に基づいて移動量が特定され、ジャイロセンサの計測結果に基づいて回転量が特定される。
【0056】
視点制御部44は、本実施形態では例えば、検出部42が検出した移動量及び回転量に基づいて、視点30の位置及び視線方向が変化するよう制御する。視点制御部44は、例えば、
図3〜
図5を参照して説明したように、HMD10の回転の検出に応じて、注視点36の位置が維持されたまま、検出された回転の向きに視点30を相対的に旋回させる。なおここで、視点制御部44は、注視点36の位置及び視点30とオブジェクトとの距離が維持されたまま、視点30を旋回させてもよい。また視点制御部44が、
図6〜
図8を参照して説明したように、HMD10の移動の検出に応じて、視点30が相対的に移動するよう制御してもよい。視点制御部44は、具体的には例えば、検出部42が検出した移動量及び回転量に基づいて、視点データ記憶部40に記憶されている注視点位置データが示す座標値及び視点ベクトルデータが示すベクトルを更新する。
【0057】
操作受付部46は、本実施形態では例えば、コントローラ12に対するユーザの操作に応じて、当該操作に対応付けられる操作信号をコントローラ12から受け付ける。
【0058】
表示制御部48は、本実施形態では例えば、検出部42による回転の検出に応じて、注視点36の位置が維持されたまま検出された回転の向きに相対的に旋回した視点30からオブジェクトを見た様子を表す画像が表示部26に表示されるよう制御する。本実施形態では例えば、視点制御部44によって位置や視線方向が制御された視点30からメニューオブジェクト32を見た様子を表す画像が表示部26に表示されることとなる。
【0059】
処理実行部50は、本実施形態では例えば、上述したように、選択操作の受付に応じて、表示部26に表示されているオブジェクトの面に配置されている選択肢に応じた処理を実行する。
【0060】
ここで、本実施形態に係るHMD10において所定のフレームレートで行われる表示制御処理の流れの一例を、
図10に例示するフロー図を参照しながら説明する。
図10に示す処理例では、仮想3次元空間にメニューオブジェクト32が配置されていることとする。
【0061】
まず、検出部42が、直前のフレームから当該フレームまでの期間におけるHMD10の移動量及び回転量を特定する(S101)。
【0062】
そして、視点制御部44が、S101に示す処理で特定された移動量及び回転量に基づいて、当該フレームにおける視点30及び注視点36の位置を決定する(S102)。
【0063】
S102に示す処理では例えば、視点データ記憶部40に記憶されている注視点位置データが示す座標値及び視点ベクトルデータが示すベクトルが更新される。具体的には例えば、視点データ記憶部40に記憶されている注視点位置データが示す座標値は、S101に示す処理で特定された移動量の値に所定の係数を乗じた値を当該座標値に加算した値に更新される。また、視点データ記憶部40に記憶されている視点ベクトルデータが示すベクトルは、始点を中心に当該ベクトルをS101に示す処理で特定された回転量に応じて回転させた向きのベクトルに更新される。ここで視点ベクトルデータが示すベクトルが回転する角度が、例えば、S101に示す処理で特定された回転量が表す角度の所定倍の角度であってもよい。
【0064】
そして、表示制御部48が、S102に示す処理で決定された視点30の位置からS102に示す処理で決定された注視点36の位置に向かって見た様子を表す画像を表示部26に表示させる(S103)。本処理例では、当該フレームにおける注視点36の位置の座標値は、S102に示す処理による更新後の注視点位置データが示す座標値に相当する。また当該フレームにおける視点30の位置の座標値は、S102に示す処理による更新後の注視点位置データが示す位置をS102に示す処理で更新された後の視点ベクトルデータが示すベクトルだけ移動させた位置の座標値に相当する。
【0065】
そして本処理例では、上述したように、S101〜S103に示す処理が所定のフレームレートで繰り返し実行されることとなる。このようにして本実施形態では、頭部の回転や移動に追従して、表示部26に表示される画像が所定のフレームレートで更新されることとなる。
【0066】
なお本実施形態において、視点30が前後に移動した際には、仮想3次元空間に配置されたオブジェクトが、移動後の視点30と仮想3次元空間に配置されたオブジェクトとの間の距離の変化に応じて変化してもよい。以下、視点30と仮想3次元空間に配置されたオブジェクトとの間の距離の変化に応じた当該オブジェクトの変化について説明する。
【0067】
ここでは例えば、
図11に示すように、ユーザの頭部が実空間内における位置P14に配置されていることとする。そしてユーザの頭部が位置P14に配置されている際には、
図12及び
図13に示すように、視点30は位置P3に配置されていることとする。また視点30の視線方向は位置P0に設定されている注視点36を向いていることとする。そして表示部26には、
図14の中央に示されているように、「C」の選択肢34が表示されていることとする。
【0068】
図11に示すようにユーザの頭部が位置P14に配置されている際に、例えば、ユーザの頭部が経路R13に沿って位置P14から位置P15まで前に移動したとする。この場合、
図12に示すように、視点30は、経路R15に沿って位置P3から位置P17まで前に移動する。そして仮想3次元空間に配置されているメニューオブジェクト32は、
図12に示すメニューオブジェクト60に変化する。すると
図14の上側に示すように、表示部26にメニューオブジェクト60が表示されることとなる。
【0069】
図12に示すメニューオブジェクト60は、メニューオブジェクト32と同様に六面体であり、各面には4つずつ選択肢62が配置されている。またメニューオブジェクト60の面は、メニューオブジェクト32のいずれかの面と対応付けられている。そして互いに対応付けられているメニューオブジェクト60の面とメニューオブジェクト32の面とは同じ向きを向いている。例えば、「A1」〜「A4」の選択肢62が配置されているメニューオブジェクト60の面は、「A」の選択肢34が配置されているメニューオブジェクト32の面に対応付けられる。そして「A1」〜「A4」の選択肢62が配置されているメニューオブジェクト60の面と、「A」の選択肢34が配置されているメニューオブジェクト32の面とは、同じ向きを向いている。また本実施形態では、メニューオブジェクト60に配置されている選択肢62は例えば、メニューオブジェクト32における対応する面の選択肢34のサブカテゴリとなっている。そして、表示されている選択肢62のいずれかを選択する操作に応じて、選択された選択肢62に応じた処理が実行されることとなる。
【0070】
また
図11に示すようにユーザの頭部が位置P14に配置されている際に、例えば、ユーザの頭部が経路R14に沿って位置P14から位置P16まで後ろに移動したとする。この場合、
図13に示すように、視点30は、経路R16に沿って位置P3から位置P18まで後ろに移動する。そして仮想3次元空間に配置されているメニューオブジェクト32は、
図13に示す3つのメニューオブジェクト64に変化する。すると
図14の下側に示すように、表示部26にメニューオブジェクト64が表示されることとなる。このように仮想3次元空間に配置されているオブジェクトの数が、移動後の視点30と仮想3次元空間に配置されたオブジェクトとの間の距離の変化に応じて変化してもよい。
【0071】
図13に示す3つのメニューオブジェクト64は、いずれも六面体である。そしてメニューオブジェクト64の各面には選択肢66が配置されている。そして本実施形態では、メニューオブジェクト64の面に配置されている選択肢66は例えば、メニューオブジェクト32における対応する面に配置されている選択肢34の上位カテゴリとなっている。そして、表示されているメニューオブジェクト64のいずれかを選択する操作に応じて、選択されたメニューオブジェクト64に配置されている選択肢66に応じた処理が実行されることとなる。
【0072】
以上のようにすると、ユーザが頭部を前後に動かすことで、表示されるオブジェクトや選択可能な選択肢を変化させることが可能となる。
【0073】
また視点30が移動可能な範囲が制限されても構わない。具体的には例えば、視点30とメニューオブジェクト32との間の距離が所定の範囲に制限されても構わない。
【0074】
以下、視点30とメニューオブジェクト32との間の距離に応じたメニューオブジェクト32の変化、及び、視点30が移動可能な範囲の制限の一例について、
図15を参照しながらさらに説明する。
【0075】
以下の説明では、初期状態における視点30とメニューオブジェクト32との距離がd0であることとする。なお本実施形態では、視点30とメニューオブジェクト32との間の距離とは、視点30の位置とメニューオブジェクト32の代表点の位置との間の距離、例えば、視点30の位置とメニューオブジェクト32の中心の位置との間の距離を指すこととする。
【0076】
ここで例えば、視点30が移動可能な範囲が、視点30とメニューオブジェクト32との間の距離がdmin以上dmax以下である
図15に例示する視点移動可能範囲に制限されてもよい(ここでdmin<d0<dmax)。すなわち視点30とメニューオブジェクト32との間の距離がdminよりも短くならないよう、またdmaxよりも長くならないよう制御されても構わない。
【0077】
また
図15に示すように、本実施形態では、メニューオブジェクト32がメニューオブジェクト60やメニューオブジェクト64に変化する距離の範囲が設定されていてもよい。
図15の例では、視点30とメニューオブジェクト32との距離がdmin以上d1以下である場合に、メニューオブジェクト32はメニューオブジェクト60に変化して、メニューオブジェクト60が表示される(ここでdmin<d1<d0)。また、視点30とメニューオブジェクト32との距離がd2以上dmax以下である場合に、メニューオブジェクト32はメニューオブジェクト64に変化して、メニューオブジェクト64が表示される(ここでd0<d2<dmax)。また、視点30とメニューオブジェクト32との距離がd1よりも長くd2よりも短い場合に、メニューオブジェクト32が表示される。
【0078】
なお本実施形態において、HMD10が初期状態の姿勢となった際に、視点30の位置及び視線方向が初期状態となり、メニューオブジェクト32が表示されるようにしてもよい。
【0079】
また、仮想3次元空間に配置されているオブジェクトを基準の相対位置、例えば、初期状態における相対位置から見た様子が表示されるよう徐々に表示内容を変化させてもよい。例えば、視点30が旋回した際に、視点30の旋回に追従して「A」の選択肢34が見えるようになる向きにメニューオブジェクト32が徐々に回転するようにしてもよい。
【0080】
ここで
図16を参照しながら、メニューオブジェクト32が徐々に回転する処理の一例について説明する。
図16は、
図3に示す仮想3次元空間を上から見た、すなわちZ軸負方向に沿って見た様子を示す図である。
図16に示す例では視点30の位置座標の移動平均に基づいてメニューオブジェクト32の向きが決定される。ここでは例えば、
図16に示すように、あるフレームにおいて特定された視点30の位置がPa(x1,y1,z1)であることとする。そして当該フレームの直前のフレームにおいて特定された視点30の位置がPb(x2,y2,z2)であることとする。同様に、当該フレームの2つ前のフレーム、3つ前のフレーム、4つ前のフレームにおいて特定された視点30の位置がそれぞれPc(x3,y3,z3)、Pd(x4,y4,z4)、Pe(x5,y5,z5)であることとする。そして、位置Pa、位置Pb、位置Pc、位置Pd、及び、位置Peの座標の平均が、メニューオブジェクト32の向きの基準となる位置Pfの座標として特定される。ここでは例えば、位置Pf((x1+x2+x3+x4+x5)/5,(y1+y2+y3+y4+y5)/5,(z1+z2+z3+z4+z5)/5)が特定される。そして例えば、メニューオブジェクト32の基準となる面である「A」の選択肢34が配置されている面が位置Pfとメニューオブジェクト32の中心の位置でもある注視点36の位置P0とを結ぶ線分に対して垂直になるようメニューオブジェクト32が回転する。
【0081】
このようにすれば、ユーザがHMD10を回転させることで、メニューオブジェクト32を回転させることができることとなる。また同様にして、HMD10の移動に応じてメニューオブジェクト32が移動するようにしてもよい。
【0082】
なお、メニューオブジェクト32が徐々に回転する処理は上述のものに限定されない。例えば、視点30の位置座標の移動平均に基づいてメニューオブジェクト32の向きが決定される必要はない。また例えば、注視点36の位置P0を中心とする円周上の位置が位置Pfとして特定されてもよい。
【0083】
また例えば所定のボタンを押下する操作などといった制限操作をユーザが行っている期間は、HMD10が回転しても移動しても表示される画像が変化しないようにしてもよい。こうすれば、ユーザは表示内容を変化させずに頭部を回転させたり移動させたりすることができることとなる。そのため例えばユーザは、無理な体勢となっている場合に、表示内容を変化させずに自然な体勢に戻すことができることとなる。
【0084】
また例えば、所定のボタンを押下する操作などといったリセット操作をユーザが行った際に、上述の初期状態などといった、基準の相対位置からオブジェクトを見た様子が表示される状態に表示内容が変化するようにしてもよい。
【0085】
なお
図9に示す視点制御部44が、
図11〜
図15を参照して説明したメニューオブジェクトの変化や
図15を参照して説明したメニューオブジェクトの回転を実行するようにしてもよい。また視点制御部44が、
図15を参照して説明したように、視点30とオブジェクトとの間の距離が所定の視点移動可能範囲に制限されるよう制御してもよい。
【0086】
また表示制御部48が、制限操作を受けている期間は、検出部42による回転の検出の有無に関わらず表示部26に表示されている画像の変化を制限するようにしてもよい。
【0087】
なお以上の内容は、表示部26に2次元画像が表示される場合にも3次元画像が表示される場合にも適用可能である。3次元画像が表示される場合には、左目用画像に対応付けられる視点30と右目用画像に対応付けられる視点30のそれぞれについて、上述の処理が実行されることとなる。
【0088】
なお、本発明は上述の実施形態に限定されるものではない。
【0089】
例えば本発明をHMD10以外の装置に適用してもよい。例えば、ユーザの眼前にディスプレイが配置されるようユーザに把持される携帯型のゲーム装置等のコンピュータに本発明を適用してもよい。またユーザが装着する筐体にはめ込まれることでディスプレイがユーザの眼前に配置されることとなる携帯型のコンピュータに本発明を適用してもよい。また例えば、エンタテインメント装置などといったHMD10と通信可能な情報処理装置が以上で説明した制御を行ってもよい。例えば、HMD10と通信可能な情報処理装置が、HMD10の回転の検出に応じて、注視点の位置が維持されたまま検出された回転の向きに相対的に旋回した視点からオブジェクトを見た様子を表す画像が表示部26に表示されるよう制御してもよい。