以下、本発明の一実施形態について、図面を参照して説明する。
[第1の実施形態]
本発明の第1の実施形態について説明する。
図1は、本実施形態に係るHMD(Head Mounted Display)システムの一例を示す外観図である。HMDは、ユーザの頭部に装着され、仮想空間内の仮想視点からの視界を表す視界画像を表示可能である。例えば、HMDは、右目と左目との両眼視差を利用した立体視画像を表示可能である。また、HMDは、ジャイロ等のHMDの動きや傾きを検知するセンサを搭載しており、装着されているユーザの頭部の動きや傾きの変化などを検知し、その変化に応じてディスプレイに仮想空間の視界方向の視界画像を表示する。例えば、HMDに映し出される視界画像は、ユーザの頭部が右方向を向けば仮想空間内の右方向の視界画像に変化し、上をむけば仮想空間内の上方向の視界画像に変化し、あたかもその場にいるような没入感をユーザに与えることができる。
図示するHMDシステム1は、表示部12を備えた端末装置10をアタッチメント2に取り付けることで、端末装置10をHMDとして利用可能な構成である。アタッチメント2は、ユーザの頭部に装着された状態でユーザの正面の視界を覆うように端末装置10が取り付け可能であり、取り付けられた端末装置10の表示部12を視認するための右目用レンズ3R及び左目用レンズ3Lと、HMDシステム1をユーザの頭部に装着するためのストラップ5とを備えている。ユーザは、HMDシステム1を頭部に装着することで、端末装置10に表示される視界画像を、右目用レンズ3R及び左目用レンズ3Lを介して視認できる。
〔端末装置10のハードウェア構成〕
端末装置10は、HMDシステム1の少なくとも一部として利用可能な携帯型のコンピュータ装置であり、スマートフォンやフィーチャーフォン等の携帯電話機、携帯情報端末(PDA:Personal Digital Assistant)、タブレットPC、家庭用ゲーム機、等が適用できる。本実施形態では、端末装置10はスマートフォンであるとして説明する。
図2は、端末装置10のハードウェア構成の一例を示す図である。端末装置10は、例えば、表示部12と、センサ13と、タイマ14と、記憶部15と、通信部16と、CPU(Central Processing Unit)17と、を備えている。
表示部12は、画像やテキスト等の情報を表示するディスプレイであり、例えば、液晶ディスプレイパネル、有機EL(ElectroLuminescence)ディスプレイパネルなどを含んで構成される。例えば、表示部12は、仮想空間内の仮想視点からの視界画像として、両眼視差を利用した立体視画像(右目用画像及び左目用画像)を表示する。また、表示部12は、仮想空間内に配置された各種オブジェクトを視界画像とともに表示する。各種オブジェクトとは、例えば、ユーザからの選択の有無を判定する判定領域を有する選択オブジェクト(選択肢)、仮想視点からの視線方向に対応する視線位置を視認可能とするためのオブジェクト等のユーザーインターフェース(UI)用として表示するためのオブジェクトである。
センサ13は、端末装置10の方向に関する情報を検知するセンサである。例えば、センサ13は、物体の角度、角速度、角加速度等を検知するジャイロセンサである。なお、センサ13は、方向の変化を検知するセンサであってもよいし、方向そのものを検知するセンサであってもよい。例えば、センサ13は、ジャイロセンサに限られるものではなく、加速度センサ、傾斜センサ、地磁気センサ等であってもよい。
タイマ14は、時間を計測する計時機能を有する。
記憶部15は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、ROM(Read-Only Memory)、RAM(Random Access Memory)などを含み、仮想空間データ(画像データ)や、仮想空間内に配置されるオブジェクトのデータ、仮想空間を用いたゲームのプログラム等を記憶する。
通信部16は、ネットワークNWを介して、他の装置と通信を行う。
CPU17は、端末装置10が備える各部を制御する制御中枢として機能する。例えば、CPU17は、記憶部15に記憶された各種プログラムを実行することで、端末装置10の各部を制御する制御部として機能する。
上述した各構成は、バス(Bus)を介して相互に通信可能に接続されている。また、端末装置10は、不図示のスピーカ、音声出力端子、カメラ、GPS(Global Positioning System)受信モジュール、ユーザの操作入力を受け付ける操作ボタンまたはタッチパネルなどのハードウェア構成を含んで構成されてもよい。
例えば、端末装置10は、HMDを利用したゲームのプログラムを実行する。このゲームは、ユーザがHMDシステム1を装着した状態で、表示部12に表示される視界画像(ゲーム画面)の視野範囲を頭部の向きなどを変えて変更しながらプレイするものである。端末装置10は、センサ13の検知結果に基づいて端末装置10の方向に関する情報を検出し、検出結果に基づいて視界方向の視界画像(ゲーム画面)を表示部12に表示させる。また、端末装置10は、ユーザによる選択操作の入力を受け付ける場合、ユーザからの選択の有無を判定する判定領域を有する選択オブジェクト(選択肢)を仮想空間内に配置し、視界画像とともに表示部12に表示させる。
〔仮想空間における定義〕
図3は、本実施形態に係る仮想空間の方向の定義を示す図である。本実施形態では、ユーザが直立する方向である垂直方向をZ軸とし、Z軸に直交する軸であってユーザと表示部12とを結ぶ方向をX軸とし、Z軸及びX軸と直交する軸をY軸とする。
ここで、Z軸を軸とした回転方向への変化をヨー方向(左右方向)への変化ともいい、Y軸を軸とした回転方向への変化をピッチ方向(上下方向)への変化ともいい、X軸を軸とした回転方向への変化をロール方向への変化ともいう。例えば、上述したセンサ13は、各軸の回転方向(ヨー方向、ピッチ方向、およびロール方向)の角速度または角加速度を検知する。なお、ヨー方向への変化を左右方向への変化、ピッチ方向への変化を上下方向への変化、ともいうことがある。
図4は、本実施形態に係る視界方向と視線位置との説明図である。この図において、仮想空間内の仮想視点K(ユーザの仮想視点)をX軸、Y軸、及びZ軸の交点(原点)とし、ユーザの視線方向をX軸方向とすると、仮想視点からの視界方向の視界画像の範囲(即ち、視界)は、視線方向(X軸方向)を中心としたヨー角α(破線aと破線bとの内角、及び破線cと破線dとの内角)とピッチ角β(破線aと破線dとの内角、及び破線bと破線cとの内角)とで定まる範囲である。ここで、ヨー角α及びピッチ角βは、HMDシステム1に表示させる仮想空間の視界画像の画角として予め設定された角度である。ユーザの頭部がピッチ方向またはヨー方向に変化すると、その変化に応じて視線方向がX軸方向からピッチ方向またはヨー方向に変化し、視界方向もピッチ方向またはヨー方向に変化する。また、ユーザの頭部がロール方向に変化すると、視線方向はX軸方向のまま、視界方向がロール方向に回転する。
また、仮想空間内には、各種のオブジェクトが必要に応じて配置される。例えば、仮想空間内の視線方向に直交する同一面(同一レイヤ)に各種のオブジェクトが配置される。例えば、図示するように仮想空間内においてオブジェクトが配置される面を面L1とすると、視線位置を視認可能とするためのオブジェクトである視線位置P1が、この面L1において視界方向の範囲を示す破線a、b、c、dとの交点a1、b1、c1、d1を頂点とした四角形で囲まれる範囲(視界)の中央(即ち、面L1とX軸の交点)に配置される。なお、視線位置P1が配置される位置は、面L1において、交点a1、b1、c1、d1を頂点とした四角形で囲まれる範囲(視界)の中央に限らず、他の位置(例えば、中央より若干下の位置など)に配置されてもよい。また、仮想空間内の面L1に、ユーザからの選択の有無を判定する判定領域を有する選択オブジェクト(選択肢)が配置される。判定領域は、面(2次元形状)であってもよいし、立体(3次元形状)であってもよい。例えば、この面L1と破線a、b、c、dとの交点a1、b1、c1、d1を頂点とした四角形で囲まれる範囲(視界)に配置される選択オブジェクト(選択肢)と、視線位置P1とが視界画像とともに表示部12に表示されることになる。
ユーザの頭部がピッチ方向またはヨー方向に変化すると、その変化に応じて視界方向及び視線方向がピッチ方向またはヨー方向に変化するため、視線位置P1は、視線方向に対応する位置(視界画像の中央)に表示されるように移動する。また、ユーザの頭部がロール方向に変化した場合、視線位置P1は、配置されている位置のままロール方向の変化に応じて回転する。一方、選択オブジェクトは、視界方向がピッチ方向、ヨー方向、またはロール方向に変化しても配置されている位置から移動しない。つまり、視界方向が変化した場合、変化した視界の中に配置されている選択オブジェクトが表示される。
なお、両眼視差を利用した立体視画像を表示する場合、右目用と左目用のそれぞれの仮想視点に対応する視界方向及び視線方向があり、それぞれの視界方向及び視線方向の視界画像と各種オブジェクトとが含まれる右目用画像と左目用画像が表示されるが、本実施形態では、説明を容易にするために右目用と左目用とを区別せずに説明する。
〔選択オブジェクトの表示例と操作例〕
次に、選択オブジェクトの表示例と操作例について説明する。以下において、複数の選択オブジェクトが選択可能に表示部12に表示される画面を「選択メニュー画面」ともいうこととする。選択メニュー画面は、仮想空間における視界方向の視界画像を背景画像として、同じく仮想空間に配置されている選択オブジェクトと、視線方向に対応する視線位置P1とが表示される画面である。
図5は、選択メニュー画面の一例を示す図である。図示する選択メニュー画面G10には、仮想空間内の視線方向に対応する視線位置に配置されているオブジェクトである視線位置P1が画面の中央に表示されている。また、仮想空間内に配置されているそれぞれ4つの選択オブジェクトがZ軸方向に並ぶ2つの列が左右に所定の間隔を空けて並んで表示されている。左側の列には選択肢A、選択肢C、選択肢E、及び選択肢Gの4つの選択オブジェクトがZ軸方向に所定の間隔を空けて並んで表示されている。右側の列には選択肢B、選択肢D、選択肢F、及び選択肢Hの4つの選択オブジェクトがZ軸方向に所定の間隔を空けて並んで表示されている。ここでは、選択オブジェクトの表示領域が、選択の有無を判定する判定領域であるものとする。なお、選択オブジェクトの表示領域と、選択の有無を判定する判定領域とは、異なる領域であってもよい。視線位置P1がいずれの選択オブジェクトの判定領域とも視線方向において重ならない位置関係にあるため、いずれの選択オブジェクト(選択肢)も選択されていない状態である。
図5に示す選択メニュー画面G10が表示されている状態で、ユーザの頭部の向きが変化すると、選択オブジェクトと視線位置P1との相対位置が変化する。視線位置P1は、頭部の向きの変化に応じて視線位置を保つように追従し移動するため、画面の中央に固定されて表示される。一方、選択オブジェクトは、頭部の向きの変化に応じて視界方向が変化するため、その視界方向の変化に応じて画面上では移動する。
図6は、視線位置P1が選択オブジェクトに重なった選択メニュー画面の一例を示す図である。図示する選択メニュー画面G11では、視線位置P1と選択肢Cとが、視線方向において重なる位置関係となっている。視線位置P1が選択オブジェクトの判定領域に重なると、その選択オブジェクト(ここでは、選択肢C)の判定領域が変化する。
図7は、判定領域が変化した選択メニュー画面の一例を示す図である。図示する選択メニュー画面G12において、視線位置P1が判定領域に重なっている選択オブジェクト(ここでは、選択肢C)の判定領域が拡大されている。これにより、選択しようとしている選択オブジェクトの判定領域内に視線位置P1を維持しやすくなり、誤って判定領域外に視線位置P1を移動させてしまう誤操作を防止しやすくなる。
なお、選択オブジェクトの判定領域の拡大は、仮想空間内に配置する判定領域を拡大する方法でもよいし、判定領域の大きさはそのままで配置する位置をユーザ(仮想視点K)に近づけることで選択オブジェクトより相対的に拡大されて表示されるようにしてもよい。また、ここでは、選択肢Cの判定領域と同様に表示領域も拡大されているが、選択肢Cの判定領域のみ拡大し、表示領域は拡大されなくてもよい。
また、視線位置P1が判定領域に重なっている選択オブジェクト(ここでは、選択肢C)の表示色が変更されてもよい。例えば、視線位置P1が判定領域に重なっていない選択オブジェクトの表示色が青であり、視線位置P1が判定領域に重なっている選択オブジェクト(ここでは、選択肢C)の表示色が青から赤に変更してもよい。これにより、選択されていることがより視認しやすくなる。このように、選択オブジェクトの判定領域を拡大する場合、選択オブジェクトの表示態様を変更してもよい。
また、視線位置P1が判定領域に重なっている選択オブジェクト(ここでは、選択肢C)の近傍に、視線位置P1が判定領域に重なってからの経過時間を視認可能とするためのオブジェクトである経過時間ゲージT1が配置されて表示される。例えば、経過時間ゲージT1は、円形状のゲージであり、視線位置P1が判定領域に重なってから時間の経過と共に円状にバーが増加していき、所定時間以上経過するとこの円状に増加するバーが一周分に伸びる。ここで、上記の所定時間とは、選択オブジェクトの選択の有無を決定するための閾値として予め設定された判定時間であり、視線位置P1が判定領域に重なってからの経過時間が所定時間以上となった場合に、その判定領域の選択オブジェクトが選択されたとして決定される。一方、視線位置P1が判定領域に重なってからの経過時間が所定時間未満の場合には、その判定領域の選択オブジェクトはまだ選択されていないと判定される。例えば、この円状に増加するバーが一周分になる前に、視線位置P1が判定領域から外れた場合、その判定領域の選択オブジェクトは選択されていないものと判定され、計測時間(経過時間)がリセットされる。
一方、経過時間ゲージT1の円状に増加するバーが一周分になると、視線位置P1が判定領域に重なっている選択オブジェクト(ここでは、選択肢C)の選択が確定する。
図8は、選択オブジェクトの選択が確定したときの選択メニュー画面の一例を示す図である。図示する選択メニュー画面G13において、経過時間ゲージT1の円状に増加するバーが一周分に伸び、視線位置P1が判定領域に重なっている選択オブジェクト(ここでは、選択肢C)が選択されたことが確定される。このとき、仮想空間内に配置されている他の選択オブジェクトは、消去されたり、透過率を上げて目立たないように表示されたりする。これにより、選択された選択オブジェクトが相対的に強調された表示となる。
なお、上述した選択オブジェクトの判定領域の拡大は、他の選択オブジェクトの判定領域と視線方向において重ならない範囲での拡大となる。また、選択オブジェクトの判定領域の拡大は、他の選択オブジェクトの判定領域と、視線方向に対して直交する方向に所定の間隔空く範囲での拡大とであってもよい。そのため、選択オブジェクトの数が増えると、選択オブジェクトの判定領域を拡大しにくくなる。よって、端末装置10は、選択オブジェクトの判定領域を拡大する場合、他に配置されている選択オブジェクトの位置を変更してもよい。
図9は、選択オブジェクトの数が多い場合の選択メニュー画面の一例を示す図である。図示する選択メニュー画面G14においては、仮想空間内に配置されているそれぞれ5つの選択オブジェクトがZ軸方向に並ぶ2つの列が左右に所定の間隔を空けて並んで表示されている。左側の列には選択肢A、選択肢C、選択肢E、選択肢G、及び選択肢Iの5つの選択オブジェクトがZ軸方向に所定の間隔を空けて並んで表示されている。右側の列には選択肢B、選択肢D、選択肢F、選択肢H、及び選択肢Jの5つの選択オブジェクトがZ軸方向に所定の間隔を空けて並んで表示されている。また、仮想空間内に配置されている視線位置P1が画面の中央に表示されている。視線位置P1は、いずれの選択オブジェクトの判定領域とも視線方向において重ならない位置関係にある。
図10は、図9に示す選択メニュー画面において、視線位置P1が選択オブジェクトに重なった選択メニュー画面の一例を示す図である。図示する選択メニュー画面G15において、視線位置P1と選択肢Eとが、視線方向において重なる位置関係となっている。視線位置P1が選択オブジェクトの判定領域に重なると、その選択オブジェクト(ここでは、選択肢E)の判定領域が拡大するが、Z軸方向に隣接する選択オブジェクトとの配置間隔が狭い。そのため、選択オブジェクト(ここでは、選択肢E)の判定領域が拡大する場合に、その拡大する領域を確保するように、選択肢Eの上側の選択オブジェクト(ここでは、選択肢A、C)と下側の選択オブジェクト(ここでは、選択肢G、I)とのそれぞれが選択肢Eから離れる方向に移動する。
なお、拡大された選択オブジェクトの表示領域には、他の情報が表示されてもよい。例えば、選択オブジェクトが購入アイテムの選択オブジェクトであった場合、通常は選択オブジェクトにアイテム名が表示されるが、選択した場合にはアイテム名に加え、購入価格等が表示されても良い。
〔端末装置10の機能構成〕
次に、図11を参照して、端末装置10の機能構成について説明する。図11は、本実施形態に係る端末装置10の機能構成の一例を示すブロック図である。端末装置10は、記憶部15に記憶されているプログラムをCPU17が実行することにより実現される機能構成として、制御部110を備えている。制御部110は、検出部111と、判定部112と、オブジェクト配置部113と、表示制御部114と、を備えている。
検出部111は、センサ13の検知結果に基づいて、端末装置10の方向に関する情報を検出する。例えば、検出部111は、センサ13が検知する方向、または方向の変化に関する情報に基づいて、端末装置10が取り付けられたHMDシステム1を装着したユーザの視界方向または視界方向の変化を、端末装置10が向いている方向によって検出する。なお、検出部111は、視界方向の変化速度に関する情報を検出してもよい。
判定部112は、ユーザの視線位置P1と選択オブジェクトの判定領域との位置関係に基づいて、選択オブジェクトの選択の有無を判定する。例えば、判定部112は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重ならない位置関係から重なる位置関係になってからの経過時間を計時するとともに、計時した経過時間に基づいて選択の有無を判定する。例えば、判定部112は、視線位置P1と選択オブジェクトの判定領域とが重なる位置関係になってから所定時間以上経過した場合に、その選択オブジェクトが判定された(選択有)と判定する。一方、判定部112は、視線位置P1と選択オブジェクトの判定領域とが重なる位置関係になってからの経過時間が所定時間未満の場合に、その選択オブジェクトはまだ選択されていない(選択無)と判定する。
オブジェクト配置部113は、ユーザからの選択の有無を判定する判定領域を有する選択オブジェクトを、仮想空間内に配置する。また、オブジェクト配置部113は、仮想視点からの視線方向を検出部111の検出結果に基づいて定め、視線方向に対応する視線位置を視認可能とするためのオブジェクト(例えば、視線位置P1)を、仮想空間内に配置する。また、オブジェクト配置部113は、経過時間を視認可能とするためのオブジェクト(例えば、経過時間ゲージT1)を仮想空間内に配置する。例えば、オブジェクト配置部113は、上記の各種オブジェクトを仮想空間内において同一面(同一レイヤ)に配置してもよいし、複数の面(複数のレイヤ)に分けて配置してもよい。なお、オブジェクト配置部113は、経過時間等の時間情報を、タイマ14を用いて計時して取得する。
表示制御部114は、検出部111の検出結果に応じて仮想空間内の仮想視点からの視界方向の視界画像を、表示部12に表示させる。また、表示制御部114は、検出部111の検出結果に応じて仮想空間内の仮想視点からの視界方向に配置されている各種オブジェクト(選択オブジェクト、視線位置、経過時間ゲージ等)を、表示部12に表示させる。なお、仮想空間内の各方向の視界画像のデータは、仮想空間データとして記憶部15に記憶されている。表示制御部114は、視界方向に対応する視界画像を仮想空間データから取得して視界画像として表示部12に表示させる。
〔オブジェクト配置処理の詳細〕
次に、本実施形態に係るオブジェクト配置処理について詳しく説明する。
オブジェクト配置部113は、仮想空間における仮想視点からの視線方向に対応する視線位置P1と選択オブジェクトの判定領域との位置関係に基づいて、選択オブジェクトの判定領域を変更する。例えば、オブジェクト配置部113は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重ならない位置関係から重なる位置関係になった場合、選択オブジェクトの判定領域を広くする。ここで、オブジェクト配置部113は、選択オブジェクトの判定領域を広くする場合、他の選択オブジェクトの判定領域に視線方向において重ならない範囲で広くする。
なお、オブジェクト配置部113は、選択オブジェクトの判定領域を広くする場合、他の選択オブジェクトの判定領域と、視線方向に対して直交する方向に所定の間隔が空く範囲で広くする。また、オブジェクト配置部113は、選択オブジェクトの判定領域を広くする場合、他に配置されている選択オブジェクトの位置を変更してもよい。また、オブジェクト配置部113は、選択オブジェクトの判定領域を広くする場合、選択オブジェクトの表示態様を変更してもよい。また、オブジェクト配置部113は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重ならない位置関係から重なる位置関係になってから所定の時間経過した後に、選択オブジェクトの判定領域または該判定領域に対応する表示領域を広くしてもよい。
次に、図12を参照して、本実施形態に係るオブジェクト配置処理の動作を説明する。図12は、本実施形態に係るオブジェクト配置処理の一例を示すフローチャートである。なお、表示部12には、視界方向の視界画像と視線位置P1とが表示されているものとする。まず、選択メニュー表示のトリガを受け付けると、制御部110は、複数の選択オブジェクトを仮想空間内に配置する(ステップS100)。これにより、表示部12には、視界画像と複数の選択オブジェクトとが含まれる選択メニュー画面(例えば、図5参照)が表示される。ここで、選択メニュー表示のトリガとは、ゲームが開始されたこと、ゲームが開始されて所定時間経過したこと、ゲーム内で特定の行為が行われたこと、等のように、ゲームにおいてユーザの意思確認が必要な場面で設定されたものである。
制御部110は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重なっているか否かを判定する(ステップS102)。視線位置P1と選択オブジェクトの判定領域とが視線方向において重なっている(例えば、図6参照)と判定された場合(YES)、制御部110は、選択オブジェクトの判定領域を拡大に設定する(例えば、図7参照)、即ち、判定領域を広くする(ステップS104)。なお、このとき制御部110は、視線位置P1が判定領域に重なっている選択オブジェクト(例えば、選択肢C)の近傍に、経過時間ゲージT1を配置する。
一方、視線位置P1と選択オブジェクトの判定領域とが視線方向において重なっていない(例えば、図5参照)と判定された場合(NO)、制御部110は、選択オブジェクトの判定領域を初期値に設定する、即ち、判定領域を変更しない(ステップS106)。
次に、制御部110は、選択メニューの表示オフのトリガを受け付けたか否かを判定する(ステップS108)。ここで、選択メニューの表示オフのトリガとは、いずれかの選択オブジェクトが選択された場合、選択オブジェクトを表示させてから所定時間が経過した場合、選択メニューの表示をオフさせる選択肢が選択された場合、等である。選択メニューの表示オフのトリガを受け付けたと判定された場合(YES)、制御部110は、仮想空間内に配置している選択オブジェクトを消去して(ステップS110)、オブジェクト配置処理を終了する。
一方、選択メニューの表示オフのトリガを受け付けていないと判定された場合(NO)、制御部110は、センサ13の検知結果に基づいて角速度を検出する(ステップS112)。そして、制御部110は、検出した角速度に基づいて、視界方向の変化があるか否かを判定する(ステップS114)。視界方向の変化がないと判定された場合(NO)、視線位置P1と選択オブジェクトの判定領域との相対位置に変化がないため、制御部110は、ステップS108の処理に戻し、選択メニューの表示オフのトリガを受け付けたか否かを判定する。一方、視界方向の変化があると判定された場合(YES)、視線位置P1と選択オブジェクトの判定領域との相対位置に変化が生じるため、制御部110は、ステップS102の処理に戻し、視線位置P1と選択オブジェクトの判定領域とが視線方向において重なっているか否かを判定する。継続して重なっている場合には選択オブジェクトの判定領域を拡大に設定したままとし、重なっていない状態から重なっている状態になった場合には選択オブジェクトの判定領域を初期値から拡大に変更し、重なっている状態から重なっていない状態になった場合には選択オブジェクトの判定領域を拡大から初期値に変更する。
〔選択有無の判定処理の動作〕
次に、図13を参照して、本実施形態に係るオブジェクト配置処理において配置した選択オブジェクトの選択有無を判定する判定処理の動作を説明する。図13は、本実施形態に係る選択オブジェクトの選択有無を判定する判定処理の一例を示すフローチャートである。まず、選択メニュー表示のトリガを受け付けると、制御部110は、複数の選択オブジェクトを仮想空間内に配置することにより、表示部12に選択メニュー画面(例えば、図5参照)が表示される(ステップS200)。また、制御部110は、計測時間をリセットする(ステップS202)。
次に、制御部110は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重なっているか否かを判定する(ステップS204)。視線位置P1と選択オブジェクトの判定領域とが視線方向において重なっていない(例えば、図5参照)と判定された場合(NO)、制御部110は、ステップS202に処理を戻す。一方、視線位置P1と選択オブジェクトの判定領域とが視線方向において重なっている(例えば、図6参照)と判定された場合(YES)、制御部110は、経過時間の計時を開始するとともに、計時した経過時間に応じたバーが表示される経過時間ゲージT1を、仮想空間内において、その重なったと判定された選択オブジェクトの近傍に配置する(ステップS206)。これにより、その選択オブジェクトの近傍に経過時間ゲージT1が表示される(例えば、図7参照)。
次に、制御部110は、視線位置P1と選択オブジェクトの判定領域とが重なってからの所定時間以上経過したか否かを判定する(ステップS208)。所定時間以上経過していないと判定された場合(NO)、制御部110は、ステップS204の処理に戻し、重なってからの経過時間の計測を続ける。一方、視線位置P1と選択オブジェクトの判定領域とが重なってから所定時間以上経過したと判定された場合(YES)、制御部110は、その選択オブジェクトが選択されたと決定し(ステップS210)、判定処理を終了する。
〔選択有無の判定処理の他の例〕
上述の選択オブジェクトの選択有無を判定する判定処理では、視線位置P1と選択オブジェクトの判定領域とが重なってからの経過時間に基づいて選択有無を判定する例を説明したが、ここでは、経過時間の計時仕様について他の例を説明する。
図14は、視線位置P1と選択オブジェクトの判定領域とが重なっている選択メニュー画面の一例を示す図である。図示する選択メニュー画面G16では、視線位置P1と選択オブジェクト(ここでは、選択肢B)とが重なっており、重なってからの経過時間を示す経過時間ゲージT1が表示されている。この経過時間は、選択されたと決定する所定時間に達していない状態である。ここで、ユーザが左を向くと、視線位置P1に対して選択オブジェクトが相対的に右に移動する。
図15は、視線位置P1に対して選択オブジェクトが相対的に右に移動したことにより、視線位置P1と選択オブジェクトの判定領域とが重ならない状態になった選択メニュー画面の一例を示す図である。図示する選択メニュー画面G17は、図14では重なっていた視線位置P1と選択オブジェクト(ここでは、選択肢B)の判定領域とが重ならない状態に変化していることを示している。視線位置P1と選択オブジェクトが重ならない状態になると、図13に示す判定処理では計測時間がリセットされて経過時間が0になるが、リセットせずに、経過時間の計時が停止されてもよい。例えば、図15に示す例では、経過時間の計時が停止され、経過時間ゲージT1のバーがそれまでの(視線位置P1と選択オブジェクトの判定領域とが重なっていたときの)経過時間を示す長さで止まっていることを示している。また、視線位置P1と選択オブジェクト判定領域とが重なっている状態から重ならない状態に変化した場合、重なっている状態の経過時間の計時よりも時間の進みを遅くしてもよいし、時間を後退させてもよい。このように、判定部112は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重ならない位置関係にある場合と重なる位置関係にある場合とで異なる計時を行うようにしてもよい。
この場合、視線位置P1が選択オブジェクトの判定領域から一旦外れても、再び同じ選択オブジェクトの判定領域内に視線を移すことで視線位置P1が重なると、経過時間の計時が続きから再開されるので、誤って一瞬判定領域から視線が外れてしまった場合であっても、経過時間を0から計時し直す必要がなくなる。
なお、視線位置P1が選択オブジェクトの判定領域から外れて所定の時間(例えば、10秒など)が経過した場合、ユーザに選択を継続する意思がないとみなして、計測時間がリセットされてもよい。例えば、判定部112は、視線位置P1と選択オブジェクトの判定領域とが重なる位置関係になってから計時した経過時間を、視線位置P1と選択オブジェクトの判定領域とが重ならない位置関係になって所定の時間が経過すると、計測時間(経過時間)をリセットしてもよい。
また、他の選択オブジェクト(選択肢A、Cなど)の判定領域に視線位置P1が移った場合には、計時された計測時間(経過時間)がリセットされ、0から経過時間の計時が開始される。例えば、判定部112は、視線位置P1と選択オブジェクトの判定領域とが重なる位置関係になってから計時した経過時間を、視線位置P1と他の選択オブジェクトの判定領域とが重なる位置関係になった場合、計測時間(経過時間)をリセットする。
次に、図16を参照して、上述した経過時間の計時仕様に基づく選択オブジェクトの選択有無を判定する判定処理の動作を説明する。図16は、本実施形態に係る選択オブジェクトの選択有無を判定する判定処理の一例を示すフローチャートである。図示するステップS300、S302、S304.S306.S308、S310の各処理は、図13に示すステップS200、S202、S204.S206.S208、S210の各処理に対応し、ステップS308の処理でNOと判定された場合のその後の処理のみが、図13に示す判定処理と異なる。ここでは、図13に示す判定処理と異なる処理について説明し、同様の処理については、その説明を省略する。
ステップS308において、視線位置P1と選択オブジェクトの判定領域とが重なってから所定時間以上経過していないと判定された場合(NO)、制御部110は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重なっているか否かを判定する(ステップS312)。視線位置P1と選択オブジェクトの判定領域とが重なっていないと判定され多場合(NO)、制御部130は、経過時間の計時及び表示(経過時間ゲージT1のバー)を一時停止する(ステップS314)。なお、このとき、経過時間の計時及び表示を一時停止するのに代えて、時間の経過がゆっくり進むように計時及び表示してもよいし、時間の経過が後退するように計時及び表示してもよい。
次に、制御部110は、視線位置P1と選択オブジェクトの判定領域とが重ならない状態になってから所定時間以上経過したか否かを判定する(ステップS316)。所定時間以上経過したと判定された場合(YES)、制御部110は、ユーザに選択を継続する意思がないとみなし、ステップS302に処理を戻して計測時間をリセットする。
一方、視線位置P1と選択オブジェクトの判定領域とが重ならない状態になってから所定時間以上経過していないと判定された場合(NO)、制御部110は、ステップS312に処理を戻し、視線位置P1と選択オブジェクトの判定領域とが視線方向において重なっているか否かを判定する。そして、視線位置P1と選択オブジェクトの判定領域とが視線方向において重なっていると判定された場合(YES)、制御部110は、視線位置P1が重なっている選択オブジェクトが前回重なっていた選択オブジェクトであるか否かを判定する(ステップS318)。前回重なっていた選択オブジェクトであると判定された場合、制御部110は、ステップS308に処理を戻し、経過時間の計時及び表示を再開する。なお、制御部110は、ステップS314において、時間の経過がゆっくり進むような計時及び表示にした場合、または、時間の経過が後退するような計時及び表示にした場合には、元の計時及び表示に戻す。一方、視線位置P1が重なっている選択オブジェクトが他の選択オブジェクトであると判定された場合(NO)、制御部110は、ステップS302に処理を戻して計測時間をリセットする。
〔第1の実施形態のまとめ〕
以上説明してきたように、本実施形態に係る端末装置10は、両眼視差を利用した立体視画像として、仮想空間内の仮想視点からの視界を表す視界画像を表示可能なHMDシステム1の少なくとも一部として利用可能な端末装置である。例えば、端末装置10は、検出部111と、オブジェクト配置部113と、表示制御部114と、を備えている。検出部111は、端末装置10の方向に関する情報を検出する。オブジェクト配置部113は、ユーザからの選択の有無を判定する判定領域を有する選択オブジェクトを、仮想空間内に配置する。表示制御部114は、検出部111の検出結果に応じて仮想空間内の仮想視点からの視界方向に配置されている選択オブジェクトを表示部12に表示させる。そして、オブジェクト配置部113は、仮想空間における仮想視点からの視線方向に対応する視線位置P1と選択オブジェクトの判定領域との位置関係に基づいて、選択オブジェクトの判定領域を変更する。
ここで、判定領域の変更とは、判定領域の大きさの変更、例えば面積(広さ)の変更または体積の変更であってもよいし、判定領域が配置される位置の変更であってもよい。また、判定領域の変更とは、判定領域の形状の変更であってもよい。また、上記の位置関係とは、視線方向に投影した2次元の平面的な位置関係であってもよいし、オブジェクトが立体(3次元形状)である場合には3次元的な位置関係であってもよい。
これにより、端末装置10は、視線位置P1と選択オブジェクトの判定領域との位置関係によって、該判定領域の大きさ(見かけ上の大きさ)を変更することができるため、選択肢に対して選択操作する際の操作性を向上することができる。なお、オブジェクト配置部113は、判定領域の色や明るさ等を変更することにより、選択されていることより視認しやすくしてもよい。
例えば、選択メニュー画面では、背景となる視界画像の表示をできるだけ邪魔したくない場合や、選択項目が多数ある場合に、一つの選択肢の判定領域を小さくせざるを得ない場合がある。このような場合、判定領域が小さいと、選択有無を判定する期間内に誤操作によって意図せず視線位置が判定領域外となってしまうといったように操作性に難があった。そこで、例えば、オブジェクト配置部113は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重ならない位置関係から重なる位置関係になった場合、選択オブジェクトの判定領域を広くする。これにより、端末装置10は、視線位置P1が選択オブジェクトの判定領域に入った場合に判定領域を広げるので、ユーザが意図せずに視線位置P1が判定領域から外れてしまう誤操作の発生を抑制できる。
例えば、オブジェクト配置部113は、選択オブジェクトの判定領域を広くする場合、他の選択オブジェクトの判定領域に視線方向において重ならない範囲で広くする。これにより、端末装置10は、ユーザが意図して他の選択オブジェクトの選択に変更する場合には、その選択が可能なように、視線位置P1が現在重なっている判定領域から外れてしまう誤操作の発生を抑制できる。また、端末装置10は、それぞれの選択オブジェクトの判定領域の独立性が保てるため、何れか一つの選択オブジェクトを選択したい場合に誤操作を防ぐことができる。
また、オブジェクト配置部113は、選択オブジェクトの判定領域を広くする場合、他の選択オブジェクトの判定領域と、視線方向に対して直交する方向に所定の間隔が空く範囲で広くしてもよい。これにより、端末装置10は、ユーザが意図して他の選択オブジェクトに選択を変更する場合には、現在重なっている判定領域からすぐに視線位置P1を外すことができる。
また、オブジェクト配置部113は、選択オブジェクトの判定領域を広くする場合、他に配置されている選択オブジェクトの位置を変更してもよい。これにより、端末装置10は、多数の選択オブジェクトがある場合でも、他の選択オブジェクトを移動することで、判定領域を拡大するための領域を確保できる。
オブジェクト配置部113は、選択オブジェクトの判定領域を広くする場合、選択オブジェクトの表示態様を変更する。例えば、オブジェクト配置部113は、拡大された選択オブジェクトに他の情報を表示してもよい。例えば、選択オブジェクトが購入アイテムの選択肢であった場合、視線位置P1が重なる前の通常の大きさの選択オブジェクトにはアイテム名が表示され、視線位置P1が重なって拡大した場合にはアイテム名に加え、購入価格等が表示されてもよい。これにより、端末装置10は、選択の意思決定に関わる情報を選択オブジェクトに表示できるので、ユーザが誤った選択を行わないようにすることができる。また、オブジェクト配置部113は、拡大中の選択オブジェクトの色を拡大前とは異なる色に変更してもよい。この場合、端末装置10は、選択しようとしている選択オブジェクトの視認性が向上することにより操作性を向上できる。
また、オブジェクト配置部113は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重ならない位置関係から重なる位置関係になってから所定の時間経過した後に、選択オブジェクトの判定領域または該判定領域に対応する表示領域を広くしてもよい。つまり、端末装置10は、視線位置P1が選択オブジェクトの判定領域内に入った場合でも、すぐにその選択オブジェクトの判定領域を拡大するのではなく、所定の時間(例えば、0.2〜0.3秒程度)のタイムラグを設けてもよい。これにより、端末装置10は、選択する意思が無いのに視線位置P1が判定領域上を短時間で通過した場合に判定領域が拡大してしまうことを抑制できるため、選択操作を行う際の視認性を向上させることができる。例えば、視線位置P1が通過しただけでその都度、選択オブジェクトが拡大されると、鬱陶しく視認性が悪いものとなる。なお、タイムラグを設けるのは、選択オブジェクトの表示領域のみとし、判定領域についてはタイムラグを設けなくてもよい。また、選択オブジェクトの表示領域と判定領域とのいずれも同じようにタイムラグを設けてもよい。また、視線位置P1の判定領域への侵入速度によって、タイムラグが設定されてもよい。例えば、侵入速度が所定値以上場合にタイムラグを設け、侵入速度が所定値未満の場合にはタイムラグを設けなくてもよい。
また、オブジェクト配置部113は、仮想視点からの視線方向を、検出部111の検出結果に基づいて定め、視線位置P1を視認可能とするためのオブジェクトを、仮想空間内に配置する。これにより、端末装置10は、例えば、HMDシステム1が装着されたユーザの頭部の向きに応じて視線方向に対応する視線位置P1を視界画像内(例えば、視界画像の中央)に定めることができ、視線位置P1と選択オブジェクトの位置関係をユーザが認識し易くすることで操作性を向上することができる。
なお、本実施形態では、端末装置10の方向に基づいて視線方向を検出する例を説明したが、これに限られるものではなく、例えば、ユーザの眼球の向きを検知することで視線方向を検出(アイトラッキング)してもよい。その場合、視線方向は頭部の動きとは異なる検出に基づくため、視線位置P1は視界画像内の固定された位置ではなく、視界画像内で動くこととなる。
また、端末装置10は、視線位置P1と選択オブジェクトの判定領域との位置関係に基づいて、選択オブジェクトの選択の有無を判定する判定部112を備える。これにより、端末装置10は、HMDシステム1において、ユーザの視線を利用して選択肢を選択させる操作UIが可能である。
例えば、判定部112は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重ならない位置関係から重なる位置関係になってからの経過時間を計時するとともに、計時した経過時間に基づいて選択の有無を判定する。これにより、端末装置10は、視線位置P1が選択オブジェクトの判定領域に重なってから所定の時間が経過することを条件として選択されたと判定するので、選択する意思が無いのに判定領域上を視線位置P1が通過するだけで、選択されてしまうことを防ぐことができる。
また、オブジェクト配置部113は、経過時間を視認可能とするためのオブジェクトを仮想空間内に配置する。これにより、端末装置10は、選択が確定されるタイミングをユーザが容易に認識可能なように提示できる。
また、判定部112は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重ならない位置関係にある場合と重なる位置関係にある場合とで異なる計時を行う。例えば、判定部112は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重なる位置関係にある場合に計時を行い、重ならない位置関係なった場合には計時を停止する(0にリセットしないで経過時間を維持する)。なお、重ならない位置関係なった場合には計時を停止しなくとも、時間の経過がゆっくり進むように計時、または時間の経過が後退するように計時してもよい。これにより、端末装置10は、誤操作により視線位置P1が判定領域から外れてしまった場合でも、同じ判定領域に再び視線位置P1を移せば、0から計時し直すのではなく、続きから経過時間の計時が再開されるので、操作性を向上できる。
また、判定部112は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重なる位置関係になってから計時した経過時間を、視線位置P1と他の選択オブジェクトの判定領域とが視線方向において重なる位置関係になった場合、リセットする。これにより、端末装置10は、視線位置P1が他の選択オブジェクトの判定領域に移った場合には、ユーザに選択を継続する意思がないとみなして、計時した経過時間を0に戻すため、同じ判定領域に再び視線位置P1が意図せず移った場合でも、続きから経過時間の計測が再開されることが無く、誤操作が生じてしまうことを防ぐことができる。
また、判定部112は、視線位置P1と選択オブジェクトの判定領域とが視線方向において重なる位置関係になってから計時した経過時間を、視線位置P1と選択オブジェクトの判定領域とが視線方向において重ならない位置関係になって所定の時間が経過すると、リセットしてもよい。これにより、端末装置10は、視線位置P1が判定領域から外れて所定の時間(例えば、10秒など)経過した場合には、ユーザに選択を継続する意思がないとみなして、計時した経過時間を0に戻すため、同じ判定領域に再び視線位置P1が意図せず移った場合でも、続きから経過時間の計測が再開されることが無く、誤操作が生じてしまうことを防ぐことができる。
また、判定部112は、視線方向において視線位置P1が選択オブジェクトの判定領域内のいずれの位置と重なるかによって、計時する速度を変更してもよい。例えば、判定部112は、判定領域の中心に近ければ近いほど、計時する速度を速くしてもよい。この場合、判定領域の中心に近いほど、経過時間ゲージT1のバーが一周分伸びる速度が速くなり、結果的に選択されたと判定される期間が短くなる。これにより、端末装置10は、誤動作防止のための判定時間を設けつつ、選択と判定されるまでの期間を短くする方法もユーザに提供することができる。なお、計時する速度を変更するのに代えて、選択されたと判定(決定)するための判定時間を変更してもよい。例えば、判定部112は、判定領域の中心に近ければ近いほど、判定時間を短くしてもよい。
また、判定領域内に視線位置P1が入った後に、計時する速度(経過時間ゲージT1のバーが伸びる速度)が速くなる領域が設けられてもよい。その領域は、経過時間を必要としない領域(即ち、すぐに選択が決定される領域)であってもよい。その場合、この経過時間を必要としない領域は、ユーザが意図せずに視線位置P1が入ってしまうことがないように、判定領域内の視線位置P1が包含されない位置に設定される。
また、表示制御部114は、検出部111の検出結果に応じて仮想空間内の仮想視点からの視界方向の視界画像を、表示部12に表示させる。これにより、端末装置10は、HDMシステム1が装着されたユーザの頭部の動きに応じて、仮想空間内の視界方向の視界画像をユーザが視認可能なように提供できる。また、端末装置10は、仮想空間内の視界画像と選択オブジェクトを同時に表示することができるため、ユーザが仮想空間内のゲーム情報を参考にしつつ選択できるようにすることができる。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。
本実施形態に係るHMDシステム1及び端末装置10の基本的な構成は、図1、図2、及び図11に示す各構成と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、選択メニュー画面において視界方向を変更して選択操作を行う際に、視線位置に対する選択オブジェクトの相対位置の変化を所定の方向について制限する処理を説明する。
図17は、本実施形態に係る選択メニュー画面の一例を示す図である。図示する選択メニュー画面G20には、視線位置P1が画面の中央に表示され、また、仮想空間内にZ軸方向に並んで配置されている4つの選択オブジェクト(選択肢A、選択肢B、選択肢C、及び選択肢D)が表示されている。例えば、ユーザが選択肢Aを選択するために視界方向(視線方向)を選択オブジェクトの並び方向(Z軸方向)であるピッチ方向(上下方向)に変えると、その視界方向(視線方向)の変化に応じて、仮想空間内の視界画像がピッチ方向(上下方向)に変化する。また、仮想空間内に配置されている4つの選択オブジェクトは、視界画像がピッチ方向(上下方向)に変化することにより、視線位置P1に対して相対的にピッチ方向(上下方向)に変化する。
図18は、ユーザの視界方向(視線方向)がピッチ方向(上方向)に変化した場合の選択メニュー画面の一例を示す図である。図示する選択メニュー画面G21では、ユーザが視界方向(視線方向)を上方向に変えたことにより、選択オブジェクトが視線位置P1に対して相対的に下方向に変化し、視線位置P1が選択肢Aの判定領域に重なっている状態を示している。
一方、選択オブジェクトの並び方向以外(ここでは、ピッチ方向以外)へのユーザの視界方向(視線方向)の変化に対しては、その変化に応じて選択オブジェクトを移動させることにより、視線位置P1に対する相対位置の変化を制限してもよい。
図19は、図17に示す選択メニュー画面において、ユーザの視界方向(視線方向)がヨー方向(右方向)に変化した場合の選択メニュー画面の一例を示す図である。図示する選択メニュー画面G22では、ユーザが視界方向(視線方向)を右方向に変えたことにより視界画像が右方向に変化しているが、選択オブジェクトの視線位置P1に対する相対位置の変化は少ない。破線M1は、移動前の選択オブジェクトの位置(判定領域の中央の位置)を示している。一方、破線M2は、移動後の選択オブジェクトの位置(判定領域の中央の位置)を示している。つまり、オブジェクト配置部113は、ユーザの視界方向(視線方向)がヨー方向(右方向)に変化することにより、破線M1を中心とした位置から破線M2を中心とした位置へ選択オブジェクトを移動させる。
また、オブジェクト配置部113は、ユーザの視界方向(視線方向)のロール方向への変化についても、選択オブジェクトの並び方向以外の方向への変化であるため、その変化に応じて選択オブジェクトを回転移動させる。図20は、ユーザの視界方向(視線方向)がロール方向に変化した場合の選択メニュー画面の一例を示す図である。図示する選択メニュー画面G23では、ユーザの視界方向(視線方向)がロール方向(ここでは、X軸を中心に反時計回り)に角度θ変化した場合の選択オブジェクトの配置を示している。破線M1は、回転移動前の選択オブジェクトの位置(判定領域の中央の位置)を示している。一方、破線M2は、回転移動後の選択オブジェクトの位置(判定領域の中央の位置)を示している。つまり、オブジェクト配置部113は、ユーザの視界方向(視線方向)がロール方向(ここでは、X軸を中心に反時計回り)に角度θ変化した場合、視線位置P1と選択オブジェクトとの回転方向の相対位置が変化しないように、選択オブジェクトをロール方向(ここでは、X軸を中心に反時計回り)に角度θ回転移動させる。
なお、ユーザの視界方向(視線方向)が変化した角度と、選択オブジェクトを回転移動させる角度とは、一致させてもよいし、一致させなくてもよい。例えば、選択オブジェクトを回転移動させる角度は、ユーザの視界方向(視線方向)が変化した角度に所定の割合を乗算した角度でもよいし、所定の角度を加算又は減算した角度でもよい。また、選択オブジェクトを回転移動させる角度に上限が設けられてもよい。
このように、オブジェクト配置部113は、検出部111の検出結果に基づいて仮想空間内の仮想視点からの視界方向(視線方向)が変化したと判定された場合、当該視界方向(視線方向)の変化に基づいて、選択オブジェクトの並び方向への移動を制限しつつ選択オブジェクトを移動させる。例えば、オブジェクト配置部113は、選択オブジェクトの並び方向以外の方向については視線位置P1と選択オブジェクトとの相対位置が変化しないように、視界方向(視線方向)の変化に応じて選択オブジェクトを移動させる。
なお、オブジェクト配置部113は、選択オブジェクトの並び方向以外の方向については所定の範囲に視線位置P1が収まるように、視界方向(視線方向)の変化に応じて選択オブジェクトを移動させてもよい。ここで、所定の範囲とは、例えば、選択オブジェクトの判定領域の、選択オブジェクトの並び方向と直交する方向の幅(例えば、図19のWが示す幅)である。また、所定の範囲とは、例えば、視線方向を軸とした回転方向の角度の範囲であってもよい。
次に、図21を参照して、本実施形態に係るオブジェクト配置処理の動作を説明する。図21は、本実施形態に係るオブジェクト配置処理の一例を示すフローチャートである。まず、選択メニュー表示のトリガを受け付けると、制御部110は、仮想空間内において、複数の選択オブジェクトを所定の方向(例えば、Z軸方向)へ並べて配置する(ステップS400)。これにより、表示部12には、視界画像と複数の選択オブジェクトとが含まれる選択メニュー画面(例えば、図17参照)が表示される。
制御部110は、センサ13の検知結果に基づいて角速度を検出する(ステップS402)。そして、制御部110は、検出した角速度に基づいて、視界方向(視線方向)の変化があるか否かを判定する(ステップS404)。
視界方向(視線方向)の変化があると判定された場合(YES)、制御部110は、所定の方向(選択オブジェクトの並び方向、例えば、Z軸方向)への移動を制限しつつ、視界方向(視線方向)の変化に基づいて選択オブジェクトを移動させ(図18、19参照)、ステップS408の処理に進む(ステップS406)。一方、視界方向(視線方向)の変化がないと判定された場合(NO)、制御部110は、ステップS408の処理に進む。
次に、制御部110は、選択メニューの表示オフのトリガを受け付けたか否かを判定する(ステップS408)。選択メニューの表示オフのトリガを受け付けていないと判定された場合(NO)、制御部110は、ステップS402に処理を戻す。一方、選択メニューの表示オフのトリガを受け付けたと判定された場合(YES)、制御部110は、仮想空間内に配置している選択オブジェクトを消去して(ステップS410)、オブジェクト配置処理を終了する。
〔第2の実施形態のまとめ〕
以上説明したように、本実施形態に係る端末装置10は、両眼視差を利用した立体視画像として、仮想空間内の仮想視点からの視界を表す視界画像を表示可能なHMDシステム1の少なくとも一部として利用可能な端末装置である。例えば、端末装置10は、検出部111と、オブジェクト配置部113と、表示制御部114と、を備えている。検出部111は、端末装置10の方向に関する情報を検出する。オブジェクト配置部113は、ユーザからの選択の有無を判定する判定領域を有する複数の選択オブジェクトを、仮想空間内において所定の方向に並べて配置する。表示制御部114は、検出部111の検出結果に応じて仮想空間内の仮想視点からの視界方向に配置されている選択オブジェクトを表示部12に表示させる。そして、オブジェクト配置部113は、検出部111の検出結果に基づいて仮想空間内の仮想視点からの視界方向が変化したと判定された場合、当該視界方向の変化に基づいて所定の方向への移動を制限しつつ、選択オブジェクトを移動させる。
これにより、端末装置10は、視線位置P1と選択オブジェクトの判定領域との相対位置が、選択に不必要な方向へ変化しないように制限することができるため、選択肢に対して選択操作する際の操作性を向上することができる。
また、オブジェクト配置部113は、仮想視点からの視線方向を、検出部111の検出結果に基づいて定める。また、オブジェクト配置部113は、記仮想視点からの視線方向に対応する視線位置を視認可能とするためのオブジェクト(例えば、視線位置P1)を、仮想空間内に配置する。これにより、端末装置10は、例えば、HMDシステム1が装着されたユーザの頭部の向きに応じて視線方向に対応する視線位置P1を視界画像内(例えば、視界画像の中央)に定めることができ、視線位置P1と選択オブジェクトの位置関係をユーザが認識し易くすることで操作性を向上することができる。
例えば、オブジェクト配置部113は、視線位置を視認可能とするためのオブジェクト(例えば、視線位置P1)と選択オブジェクトとを仮想空間内の同一面に配置する。同一面とは、例えば、仮想空間内の視線方向に直交する面である。なお、上記の同一面とは、厳密に同一な面のみに限定されるものではなく、略同一な面であってもよい。また、この同一面は、視線方向に直交する面に限定されるものではなく、仮想空間内のいずれの方向の面であってもよいし、平面であっても曲面であってもよい。これにより、端末装置10は、視線位置P1と選択オブジェクトとの相対位置(位置関係)に基づく選択肢の選択操作UIを実現可能とすることができる。具体的には、端末装置10は、視線位置P1と選択オブジェクトを仮想空間内の同一面に配置することで、両眼視差を利用した立体視において、視線位置P1と選択オブジェクトとを同じ焦点距離とすることができるため、両者の位置関係を視認しやすくすることができる。
オブジェクト配置部113は、検出部111の検出結果に基づいて仮想空間内の仮想視点からの視界方向が変化したと判定された場合、選択オブジェクトの並び方向以外の方向については、視線位置P1が選択オブジェクトの判定領域の並び方向と直交する方向の幅に視線位置が収まるように、該視界方向の変化に応じて選択オブジェクトを移動させる。これにより、端末装置10は、選択オブジェクトを選択するために必要な方向以外(即ち、操作に不必要な方向)については、視線位置P1が選択オブジェクトの判定領域の幅の範囲から外れないように制限するため、選択肢に対する選択操作を行いやすくすることできる。また、このように制限すると、選択オブジェクトを小さく(幅を狭める)しても操作への影響が少ないため、選択オブジェクトを小さく表示することで、選択オブジェクトが背景となる視界画像の表示の妨げとなることを軽減することもできる。
また、オブジェクト配置部113は、選択をキャンセルする(判定領域外に視線位置P1を外す)ためのキャンセル領域を残す意味で、上記選択オブジェクトの幅以上に視線位置P1が変化するようにしてもよい。
オブジェクト配置部113は、検出部111の検出結果に基づいて仮想空間内の仮想視点からの視界方向が変化したと判定された場合、選択オブジェクトの並び方向以外の方向については視線位置P1と選択オブジェクトとの相対位置が変化しないように、該視界方向の変化に応じて選択オブジェクトを移動させる。これにより、端末装置10は、選択オブジェクトを選択するために必要な視線位置P1を移動させる方向以外(即ち、操作に不必要な方向)については、視線位置P1と選択オブジェクトの判定領域との相対位置が変化しないように制限するため、選択肢に対する選択操作を行いやすくすることできる。また、このように制限すると、選択オブジェクトを小さく(幅を狭める)しても操作への影響が少ないため、選択オブジェクトを小さく表示することで、選択オブジェクトが背景となる視界画像の表示の妨げとなることを軽減することもできる。
また、端末装置10は、視線位置P1と選択オブジェクトの判定領域との相対位置(位置関係)に基づいて、選択オブジェクトの選択の有無を判定する判定部112を備える。これにより、端末装置10は、HMDシステム1において、ユーザの視線を利用して選択肢を選択させる操作UIが可能である。
オブジェクト配置部113は、検出部111の検出結果に基づいて仮想空間内の仮想視点からの視界が視線方向を軸とした回転方向に変化したと判定された場合、視線位置P1と選択オブジェクトとの回転方向の相対位置が変化しないように、選択オブジェクトを回転方向に回転させる。これにより、端末装置10は、ユーザがロール方向に頭部を傾けた場合でも、ユーザの頭部に対する上下左右方向と選択オブジェクトの並び方向との相対関係が保たれるので、選択肢に対する選択操作を行いやすくすることできる。
なお、オブジェクト配置部113は、検出部111の検出結果に基づいて仮想空間内の仮想視点からの視界が視線方向を軸とした回転方向に変化したと判定された場合でも、選択オブジェクトを回転方向に回転させなくともよい。この場合、選択メニュー画面において、背景となる視界画像とともに、選択オブジェクトが回転方向に変化した分斜めに表示されることになる。
また、表示制御部114は、検出部111の検出結果に応じて仮想空間内の仮想視点からの視界方向の視界画像を、表示部12に表示させる、これにより、端末装置10は、HDMシステム1が装着されたユーザの頭部の動きに応じて、仮想空間内の視界方向の視界画像をユーザが視認可能なように提供できる。また、端末装置10は、仮想空間内の視界画像と選択オブジェクトを同時に表示することができるため、ユーザが仮想空間内のゲーム情報を参考にしつつ選択できるようにすることができる。
[第3の実施形態]
次に、本発明の第3の実施形態について説明する。
本実施形態に係るHMDシステム1及び端末装置10の基本的な構成は、図1、図2、及び図11に示す各構成と同様であるので、本実施形態において特徴的な処理について説明する。本実施形態では、複数の選択オブジェクトがそれぞれ並ぶ複数の列が配置されているような場合に、ユーザの頭部の動きに基づいて、選択の有無の判定対象となる選択オブジェクトを列ごとに切り替える例を説明する。
図22は、判定対象となる選択オブジェクトを列ごとに切り替え可能な選択メニュー画面の一例を示す図である。図示する選択メニュー画面G25には、5つの選択オブジェクトがZ軸方向に並ぶ2つの列(破線M1上に並ぶ左側の列と、破線M2上に並ぶ右側の列)が左右(Y軸方向)に所定の間隔を空けて並んで表示されている。左側の列には選択肢A、選択肢C、選択肢E、選択肢G、及び選択肢Iの5つの選択オブジェクトがZ軸方向に所定の間隔を空けて並んで表示されている。右側の列には選択肢B、選択肢D、選択肢F、選択肢H、及び選択肢Jの5つの選択オブジェクトがZ軸方向に所定の間隔を空けて並んで表示されている。この選択メニュー画面G25では、選択対象が列ごとに切り替わる仕様である。例えば、左側(A)の列が選択対象となっている場合には、選択肢A、選択肢C、選択肢E、選択肢G、及び選択肢Iの5つの選択オブジェクトのうちの何れかを選択可能である。一方、右側(B)の列が選択対象となっている場合には、選択肢B、選択肢D、選択肢F、選択肢H、及び選択肢Jの5つの選択オブジェクトのうちの何れかを選択可能である。
例えば、ユーザの頭部の動きがX軸を中心とした回転方向(ロール方向)であった場合に、選択対象となる列が切り替わる。具体的には、ユーザの頭部の動きが右回転の場合、選択対象となる列が左の列から右の列に切り換わり、ユーザの頭部の動きが左回転の場合、選択対象となる列が右の列から左の列に切り換わる。なお、ユーザの頭部の動きの回転方向によらず、ユーザの頭部の動きが回転であれば、選択対象となる列が切り替わる。
また、単に回転方向のみでなく回転方向とその回転速度に関する情報に基づいて、選択対象となる列が切り替わってもよい。例えば、回転速度が所定値以上の場合には視界方向が回転するとともに選択対象となる列が切り替わり、回転速度が所定値未満の場合には視界方向が回転するのみで選択対象となる列が切り替わらないようにしてもよい。
図23は、本実施形態に係るオブジェクト配置処理の一例を示すフローチャートである。まず、選択メニュー表示のトリガを受け付けると、制御部110は、仮想空間内において、複数の選択オブジェクトを複数列に所定の方向(例えば、Z軸方向)へ並べて配置する(ステップS500)。これにより、表示部12には、視界画像と左右2列の複数の選択オブジェクトとが含まれる選択メニュー画面(例えば、図22参照)が表示される。
制御部110は、センサ13の検知結果に基づいて角速度を検出する(ステップS502)。そして、制御部110は、検出した角速度に基づいて、視界方向(視線方向)の変化(X軸を軸とした回転方向への変化)があるか否かを判定する(ステップS504)。
X軸を軸とした回転方向への変化があると判定された場合(YES)、制御部110は、回転方向の変化速度が所定値以上であるか否かを判定する(ステップS506)。そして、回転方向の変化速度が所定値以上であると判定された場合(YES)、制御部110は、判定対象とする選択オブジェクトの列を切り替える(ステップS508)。一方、回転方向の変化速度が所定値以上でないと判定された場合(NO)、制御部110は、判定対象とする選択オブジェクトの列の切り替えを行わない。
次に、制御部110は、選択メニューの表示オフのトリガを受け付けたか否かを判定する(ステップS510)。選択メニューの表示オフのトリガを受け付けていないと判定された場合(NO)、制御部110は、ステップS502に処理を戻す。一方、選択メニューの表示オフのトリガを受け付けたと判定された場合(YES)、制御部110は、仮想空間内に配置している選択オブジェクトを消去して(ステップS512)、オブジェクト配置処理を終了する。
〔第3の実施形態のまとめ〕
以上説明したように、本実施形態に係る端末装置10において、オブジェクト配置部113は、仮想空間内において、複数の選択オブジェクトがそれぞれ並ぶ複数の列を配置する。判定部112は、選択オブジェクトの選択の有無を列ごとに判定するとともに、検出部111の検出結果に基づいて、判定する列を切り替える。これにより、端末装置10は、複数の列ごとに選択肢を選択する場合、視界方向の変化に基づいて所定の方向への選択オブジェクトの移動を制限しつつも、ユーザが頭の向きを変えるだけで、選択対象の列を切り替えることができるので、選択肢に対して選択操作する際の操作性を向上することができる。
例えば、判定部112は、仮想視点からの視界が仮想視点からの視線方向を軸とした回転方向に変化したと判定された場合、変化した回転方向に応じて前記判定する列を切り替える。これにより、端末装置10は、複数の列ごとに選択肢を選択する場合、ユーザが頭の向きをロール方向に変えるだけで、選択対象の列を対応する方向の列に切り替えることができるので、選択肢に対して選択操作する際の操作性を向上することができる。
検出部111は、端末装置10の方向に関する情報として、該方向の変化速度に関する情報を検出する。判定部112は、検出部111により所定値以上の変化速度に関する情報が検出された場合、判定する列を切り替える。これにより、端末装置10は、複数の列ごとに選択肢を選択する場合、ユーザが頭の向きを所定値以上の速度で変化させることで、選択対象の列を切り替えることができるので、選択肢に対して選択操作する際の操作性を向上することができる。
なお、判定部112は、仮想視点からの視界が仮想視点からの視線方向を軸とした回転方向の変化と、検出部111により所定値以上の変化速度に関する情報が検出された場合との両方に基づいて判定する列を切り替えてもよいし、いずれか一方に基づいて判定する列を切り替えてもよい。例えば、判定部112は、仮想視点からの視界が仮想視点からの視線方向を軸とした回転方向が右方向に変化したことのみで、判定する列を右側に切り替えてもよいし、右方向に変化し且つ所定値以上の変化速度が検出された場合に、判定する列を右側に切り替えてもよい。また、判定部112は、回転方向への変化に関わらず所定値以上の変化速度が検出された場合に、判定する列を右側または左側(例えば、2列であれば、一方から他方へ、3列以上であれば、予め設定されているが側の列)に切り替えてもよい。
[変形例]
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述の第1〜3の実施形態において説明した各構成は、任意に組み合わせることができる。例えば、第2、第3の実施形態において、視線位置P1が判定領域に重なった後は、第1の実施形態と同様に、経過時間が計時され、経過時間ゲージT1が表示されるとともに、経過時間に基づいて選択の有無が判定(決定)される。
上記実施形態では、選択オブジェクトの並び方向がZ軸方向である例を説明したが、選択オブジェクトの並び方向は、Z軸方向に限られるものではなく、例えば、Y軸方向であってもよいし、Y軸成分とZ軸成分とを有する方向であってもよい。また、選択オブジェクトが3次元に配置されている場合、選択オブジェクトの並び方向は、X軸成分とY軸成分とZ軸成分とを有する方向であってもよい。また、図22に示す例では、複数の選択オブジェクトがZ軸方向に並ぶ複数の列が左右(Y軸方向)に並ぶ例を示したが、複数の選択オブジェクトがY軸方向に並ぶ複数の列が上下(Z軸方向)に並ぶ例であって、上下(Z軸方向)に列を切り替える構成としてもよい。
なお、上記実施形態では、端末装置10をアタッチメント2に装着することでHMDとして利用できるHMDシステム1の構成を例に説明したが、これに限られるものではなく、例えば、端末装置10は、アタッチメント2を必要としなくともそれ自体で頭部に装着可能な形態、即ちHMDであってもよい。また、上記実施形態において、端末装置10が少なくとも一部に構成されるHMD(HMDシステム)として、ユーザの頭部に装着可能な構成例を説明したが、HMDは、頭部に完全に装着可能な形状の構成に限られるものではない。例えば、HMDとして利用可能な端末装置10は、アタッチメントの有無にかかわらず、ユーザが目の前に把持することで、ユーザの目と表示部12との位置関係を所定の関係に保ち、仮想空間内の視界画像や各種オブジェクトを視認可能とする装置(例えば、双眼鏡のような形状)であってもよい。
また、上記実施形態では、選択メニュー画面に表示される選択肢としての選択オブジェクトの例を説明したが、これに限られるものではない。例えば、選択オブジェクトは、端末装置10が実行するゲーム内の仮想空間において、判定領域を有するキャラクタ、アイテム等として配置されるオブジェクトであってもよい。一例として、第1の実施形態において説明した選択オブジェクトに関する処理を、ゲームの仮想空間内を飛び交う複数の敵オブジェクト(選択オブジェクト)に対する処理において適用してもよい。例えば、ユーザの視線位置に基づいて攻撃が照射され、敵オブジェクト(選択オブジェクト)に対しての照射(判定領域と視線位置とが重なる位置関係)が所定の時間経過すると敵オブジェクトを撃墜(選択オブジェクトの選択有)するといった処理において適用してもよい。
また、上述の制御部110の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより制御部110としての処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上述した制御部110の機能の一視線位置部または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
[付記]
以上の記載から本発明は例えば以下のように把握される。なお、本発明の理解を容易にするために添付図面の参照符号を便宜的に括弧書きにて付記するが、それにより本発明が図示の態様に限定されるものではない。
(付記1)本発明の一態様に係る端末装置(10)は、両眼視差を利用した立体視画像として、仮想空間内の仮想視点からの視界を表す視界画像を表示可能なヘッドマウントディスプレイシステムの少なくとも一部として利用可能な端末装置であって、前記端末装置の方向に関する情報を検出する検出部(111、S112、S402、S502)と、ユーザからの選択の有無を判定する判定領域を有する複数の選択オブジェクトを、前記仮想空間内において所定の方向に並べて配置するオブジェクト配置部(113、S100、S200、S300、S400、S500)と、前記検出部の検出結果に応じて前記仮想空間内の前記仮想視点からの視界方向に配置されている前記選択オブジェクトを表示部に表示させる表示制御部(114、S100、S200、S300、S400、S500)と、を備え、前記オブジェクト配置部は、前記検出部の検出結果に基づいて前記仮想空間内の前記仮想視点からの視界方向が変化したと判定された場合、当該視界方向の変化に基づいて前記所定の方向への移動を制限しつつ前記選択オブジェクトを移動させる(S406)。
付記1の構成によれば、端末装置は、視線位置と選択オブジェクトの判定領域との相対位置が、選択に不必要な方向へ変化しないように制限することができるため、選択肢に対して選択操作する際の操作性を向上することができる。
(付記2)また、本発明の一態様は、付記1に記載の端末装置であって、前記オブジェクト配置部は、前記仮想視点からの視線方向を、前記検出部の検出結果に基づいて定め、前記仮想視点からの視線方向に対応する視線位置を視認可能とするためのオブジェクトを、前記仮想空間内に配置する。
付記2の構成によれば、端末装置は、例えば、HMDシステムが装着されたユーザの頭部の向きに応じて視線方向に対応する視線位置を視界画像内(例えば、視界画像の中央)に定めることができ、視線位置と選択オブジェクトの位置関係をユーザが認識し易くすることで操作性を向上することができる。
(付記3)また、本発明の一態様は、付記2に記載の端末装置であって、前記オブジェクト配置部は、前記視線位置を視認可能とするためのオブジェクトと前記選択オブジェクトとを前記仮想空間内の(前記視線方向に直交する)同一面に配置する。
付記3の構成によれば、端末装置は、視線位置と選択オブジェクトとの相対位置(位置関係)に基づく選択肢の選択操作UIを実現可能とすることができる。具体的には、端末装置10は、視線位置P1と選択オブジェクトを仮想空間内の同一面に配置することで、両眼視差を利用した立体視において、視線位置P1と選択オブジェクトとを同じ焦点距離とすることができるため、両者の位置関係を視認しやすくすることができる。
(付記4)また、本発明の一態様は、付記2または付記3に記載の端末装置であって、前記オブジェクト配置部は、前記検出部の検出結果に基づいて前記仮想空間内の前記仮想視点からの視界方向が変化したと判定された場合、前記所定の方向以外の方向については前記視線位置が前記選択オブジェクトの判定領域の前記所定の方向と直交する方向の幅に前記視線位置が収まるように、該視界方向の変化に応じて前記選択オブジェクトを移動させる。
付記4の構成によれば、端末装置は、選択オブジェクトを選択するために必要な方向以外(即ち、操作に不必要な方向)については、視線位置が選択オブジェクトの判定領域の幅の範囲から外れないように制限するため、選択肢に対する選択操作を行いやすくすることできる。
(付記5)また、本発明の一態様は、付記2から付記4のいずれか一に記載の端末装置であって、前記オブジェクト配置部は、前記検出部の検出結果に基づいて前記仮想空間内の前記仮想視点からの視界方向が変化したと判定された場合、前記所定の方向以外の方向については前記視線位置と前記選択オブジェクトとの相対位置が変化しないように、該視界方向の変化に応じて前記選択オブジェクトを移動させる。
付記5の構成によれば、端末装置は、選択オブジェクトを選択するために必要な視線位置を移動させる方向以外(即ち、操作に不必要な方向)については、視線位置と選択オブジェクトの判定領域との相対位置が変化しないように制限するため、選択肢に対する選択操作を行いやすくすることできる。
(付記6)また、本発明の一態様は、付記2から付記5のいずれか一に記載の端末装置であって、前記視線位置と前記選択オブジェクトの判定領域との相対位置に基づいて、前記選択オブジェクトの選択の有無を判定する判定部(112、S204〜S210、S304〜S310)、を備える。
付記6の構成によれば、端末装置は、HMDシステムにおいて、ユーザの視線を利用して選択肢を選択させる操作UIが可能である。
(付記7)また、本発明の一態様は、付記6に記載の端末装置であって、前記オブジェクト配置部は、前記仮想空間内において、複数の前記選択オブジェクトがそれぞれ並ぶ複数の列を配置し、前記判定部は、前記選択オブジェクトの選択の有無を列ごとに判定するとともに、前記検出部の検出結果に基づいて、前記判定する列を切り替える(S508)。
付記7の構成によれば、端末装置は、複数の列ごとに選択肢を選択する場合、視界方向の変化に基づいて所定の方向への選択オブジェクトの移動を制限しつつも、ユーザが頭の向きを変えるだけで、選択対象の列を切り替えることができるので、選択肢に対して選択操作する際の操作性を向上することができる。
(付記8)また、本発明の一態様は、付記7に記載の端末装置であって、前記判定部は、前記仮想視点からの視界が前記仮想視点からの視線方向を軸とした回転方向に変化したと判定された場合、変化した回転方向に応じて前記判定する列を切り替える(S504、S508)。
付記8の構成によれば、端末装置は、複数の列ごとに選択肢を選択する場合、ユーザが頭の向きをロール方向に変えるだけで、選択対象の列を対応する方向の列に切り替えることができるので、選択肢に対して選択操作する際の操作性を向上することができる。
(付記9)また、本発明の一態様は、付記7または付記8に記載の端末装置であって、前記検出部は、前記端末装置の方向に関する情報として、該方向の変化速度に関する情報を検出し、前記判定部は、前記検出部により所定値以上の前記変化速度に関する情報が検出された場合、前記判定する列を切り替える(S506、S508)。
付記9の構成によれば、端末装置は、複数の列ごとに選択肢を選択する場合、ユーザが頭の向きを所定値以上の速度で変化させることで、選択対象の列を切り替えることができるので、選択肢に対して選択操作する際の操作性を向上することができる。
(付記10)また、本発明の一態様は、付記2から付記9のいずれか一に記載の端末装置であって、前記オブジェクト配置部は、前記検出部の検出結果に基づいて前記仮想空間内の前記仮想視点からの視界が前記視線方向を軸とした回転方向に変化したと判定された場合、前記視線位置と前記選択オブジェクトとの前記回転方向の相対位置が変化しないように、前記選択オブジェクトを前記回転方向に回転させる。
付記10の構成によれば、端末装置は、ユーザがロール方向に頭部を傾けた場合でも、ユーザの頭部に対する上下左右方向と選択オブジェクトの並び方向との相対関係が保たれるので、選択肢に対する選択操作を行いやすくすることできる。
(付記11)また、本発明の一態様は、付記1から付記10のいずれか一に記載の端末装置であって、前記表示制御部は、前記検出部の検出結果に応じて前記仮想空間内の前記仮想視点からの視界方向の視界画像を、前記表示部に表示させる。また、端末装置は、仮想空間内の視界画像と選択オブジェクトを同時に表示することができるため、ユーザが仮想空間内のゲーム情報を参考にしつつ選択できるようにすることができる。
付記11の構成によれば、端末装置は、HDMシステムが装着されたユーザの頭部の動きに応じて、仮想空間内の視界方向の視界画像をユーザが視認可能なように提供できる。
(付記12)また、本発明の一態様に係るプログラムは、コンピュータを、請求項1から請求項11のいずれか一項に記載の端末装置として機能させるためのプログラムである。
付記12の構成によれば、プログラムは、視線位置と選択オブジェクトの判定領域との相対位置の変化を方向によって制限することができるため、選択肢に対して選択操作する際の操作性を向上することができる。