(57)【特許請求の範囲】
【請求項１】
操作部と、変位を検出するセンサを備えるヘッドマウントディスプレイとに接続されるコンピュータを、前記ヘッドマウントディスプレイに仮想空間を提供するように機能させるプログラムであって、
少なくとも前記操作部又は前記センサを介した操作情報に応じて、前記仮想空間内に配置された仮想カメラを制御する仮想カメラ制御部、
前記仮想カメラに設定された視線軸及び当該視線軸の周囲を含むカメラ領域の情報を前記ヘッドマウントディスプレイに表示する表示制御部、
前記仮想空間内に配置されたオブジェクトを制御するオブジェクト制御部、
前記仮想カメラと、前記仮想空間内に配置されたオブジェクトのうち、ユーザの操作によらず前記オブジェクト制御部によって動きが制御されるオブジェクトとの位置関係が所定条件を満たすか否かを判定する判定部、
として機能させるプログラムにおいて、
前記オブジェクト制御部は、前記所定条件を満たすと判定された場合、前記オブジェクトが前記仮想カメラへの方向とは異なる方向に移動していても、前記オブジェクトの一部を構成する所定の部位が前記仮想カメラの方向を向くように前記オブジェクトの動作を制御する、
プログラム。
【請求項２】
請求項１に記載のプログラムであって、
前記オブジェクト制御部は、前記オブジェクトを所定方向に向けて移動するように制御し、前記所定条件を満たすと判定された場合、前記所定方向が前記仮想カメラへの方向とは異なる方向であっても、前記オブジェクトの前記所定の部位が前記仮想カメラの方向を向くように前記オブジェクトの動作を制御する、
プログラム。
【請求項３】
請求項２に記載のプログラムであって、
前記オブジェクト制御部は、前記オブジェクトの前記移動が行われている間であって且つ前記所定条件を満たすと判定された場合に、前記オブジェクトの前記所定の部位が、前記仮想カメラの方向を向き続けるように前記オブジェクトの動作を制御する、
プログラム。
【請求項４】
請求項２又は請求項３に記載のプログラムであって、
前記オブジェクト制御部は、前記オブジェクトの前記移動が行われている間であって且つ前記所定条件を満たすと判定され更に前記仮想カメラが移動された場合に、前記オブジェクトの前記所定の部位が、移動された前記仮想カメラを向き続けるように前記オブジェクトの動作を制御する、
プログラム。
【請求項５】
請求項１乃至請求項４のいずれかに記載のプログラムであって、
前記位置関係は、前記仮想カメラと前記オブジェクトとの直線距離である、
プログラム。
【請求項６】
操作部と、変位を検出するセンサを備えるヘッドマウントディスプレイとに接続されるコンピュータを、前記ヘッドマウントディスプレイに仮想空間を提供するように機能させるプログラムであって、
少なくとも前記操作部又は前記センサを介した操作情報に応じて、前記仮想空間内に配置された仮想カメラを制御する仮想カメラ制御部、
前記仮想カメラに設定されたカメラ領域の情報を前記ヘッドマウントディスプレイに表示する表示制御部、
前記仮想空間内に配置された人形オブジェクトをユーザの操作によらず制御するオブジェクト制御部、
前記仮想カメラと前記人形オブジェクトとの位置関係が所定距離以下であるか否かを判定する判定部、
として機能させるプログラムにおいて、
前記オブジェクト制御部は、前記位置関係が所定距離以下であると判定された場合、前記人形オブジェクトが前記仮想カメラへの方向とは異なる方向に移動していても、前記人形オブジェクトの一部を構成する顔部分が前記仮想カメラの方向を向き続けるように前記人形オブジェクトの姿態を制御する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ヘッドマウントディスプレイを制御するプログラムに関する。
【背景技術】
【０００２】
特許文献１には、遊技者が操作するキャラクタが敵キャラクタを倒していくアクションゲーム等のゲームを実行するゲームプログラムが開示されている。このプログラムは、キャラクタから指向対象物までの距離に応じて指向速度を変更するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２６１９２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示の発明は、指向速度を変更することのみが開示されているに過ぎず、より自然な表現を実現するためには、改善の余地がある。
【０００５】
本発明は、アクションゲーム等のゲームにおいて、より自然な表現を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明によれば、
操作部と、変位を検出するセンサを備えるヘッドマウントディスプレイとに接続されるコンピュータを、前記ヘッドマウントディスプレイに仮想空間を提供するように機能させるプログラムであって、
少なくとも前記操作部又は前記センサを介した操作情報に応じて、前記仮想空間内に配置された仮想カメラを制御する仮想カメラ制御部、
前記仮想カメラに設定された視線軸及び当該視線軸の周囲を含むカメラ領域の情報を前記ヘッドマウントディスプレイに表示する表示制御部、
前記仮想空間内に配置されたオブジェクトを制御するオブジェクト制御部、
前記仮想カメラと前記オブジェクトとの位置関係が所定条件を満たすか否かを判定する判定部、
として機能させるプログラムにおいて、
前記オブジェクト制御部は、前記所定条件を満たすと判定された場合に、前記オブジェクトの所定の部位が前記仮想カメラの前記視線軸と直交するように前記オブジェクトの動作を制御する、
プログラムが得られる。
【０００７】
また、本発明によれば、
操作部と、変位を検出するセンサを備えるヘッドマウントディスプレイとに接続されるコンピュータを、前記ヘッドマウントディスプレイに仮想空間を提供するように機能させるプログラムであって、
少なくとも前記操作部又は前記センサを介した操作情報に応じて、前記仮想空間内に配置された仮想カメラを制御する仮想カメラ制御部、
前記仮想カメラに設定されたカメラ領域の情報を前記ヘッドマウントディスプレイに表示する表示制御部、
前記仮想空間内に配置された人形オブジェクトを制御するオブジェクト制御部、
前記仮想カメラと前記人形オブジェクトとの位置関係が所定距離以下であるか否かを判定する判定部、
として機能させるプログラムにおいて、
前記オブジェクト制御部は、前記位置関係が所定距離以下であると判定された場合に、前記人形オブジェクトの顔部分が前記仮想カメラの方向に向き続けるように前記オブジェクトの姿態を制御する、
プログラムが得られる。
【発明の効果】
【０００８】
本発明によれば、アクションゲーム等のゲームにおいて、より自然な表現を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態によるＨＭＤシステムを示す図である。
【図２】ＨＭＤを装着しているユーザの頭部を中心に規定される３次元空間上の直交座標系を示す。
【図３】仮想空間と実空間の配置位置の対応関係の一例を示すＸＹＺ空間図である。
【図４】仮想空間と実空間の配置位置の対応関係の一例を示すＸＺ平面図である。
【図５】ＨＭＤシステムの機能を実現するための、制御回路部の機能を示すブロック図である。
【図６】視界領域を示す３次元の模式図である。
【図７】視界領域をＸ方向から見たＹＺ面図である。
【図８】視界領域をＹ方向から見たＸＺ面図である。
【図９】図４に示すオブジェクト制御部の機能を説明するブロック図である。
【図１０】ＨＭＤシステムの機能を実現するための処理を示すフローチャートである。
【図１１】ＨＭＤに表示される視界画像の一例を示す図である。
【図１２】ユーザの入力操作と仮想カメラの移動との関係を示す図である。
【図１３】ＨＭＤに表示される視界画像を模式的に表した図である。
【図１４】ＨＭＤに表示される視界画像を模式的に表した他の図である。
【発明を実施するための形態】
【００１０】
［本発明の実施形態の説明］
最初に、本発明の実施形態の内容を列記して説明する。本発明の一実施形態によるヘッドマウントディスプレイを制御するプログラム、システム、及び方法は、以下のような構成を備える。
（項目１）
操作部と、変位を検出するセンサを備えるヘッドマウントディスプレイとに接続されるコンピュータを、前記ヘッドマウントディスプレイに仮想空間を提供するように機能させるプログラムであって、
少なくとも前記操作部又は前記センサを介した操作情報に応じて、前記仮想空間内に配置された仮想カメラを制御する仮想カメラ制御部、
前記仮想カメラに設定された視線軸及び当該視線軸の周囲を含むカメラ領域の情報を前記ヘッドマウントディスプレイに表示する表示制御部、
前記仮想空間内に配置されたオブジェクトを制御するオブジェクト制御部、
前記仮想カメラと前記オブジェクトとの位置関係が所定条件を満たすか否かを判定する判定部、
として機能させるプログラムにおいて、
前記オブジェクト制御部は、前記所定条件を満たすと判定された場合に、前記オブジェクトの所定の部位が前記仮想カメラの前記視線軸と直交するように前記オブジェクトの動作を制御する、
プログラム。
本発明によれば、ユーザが近寄った時にオブジェクトが振り向くような動作が可能となり、より自然な表現を提供できる。
（項目２）
項目１に記載のプログラムであって、
前記オブジェクト制御部は、更に、前記オブジェクトを所定方向に向けて移動するように制御する、
プログラム。
本発明によれば、ユーザが近寄った時にオブジェクトが振り向くような動作が可能となり、より自然な表現を提供できる。
（項目３）
項目２に記載のプログラムであって、
前記オブジェクト制御部は、前記オブジェクトの前記移動が行われている間であって且つ前記所定条件を満たすと判定された場合に、前記オブジェクトの所定の部位が、前記仮想カメラの前記視線軸と直交し続けるように前記オブジェクトの動作を制御する、
プログラム。
本発明によれば、オブジェクトが移動するようなときであっても、ユーザを注視し続ける動作が可能になるため、より自然な表現を提供できる。
（項目４）
請求項２又は請求項３に記載のプログラムであって、
前記オブジェクト制御部は、前記オブジェクトの前記移動が行われている間であって且つ前記所定条件を満たすと判定され更に前記仮想カメラが移動された場合に、前記オブジェクトの所定の部位が、移動された前記仮想カメラの前記視線軸と直交し続けるように前記オブジェクトの動作を制御する、
プログラム。
本発明によれば、オブジェクトが移動するようなときであっても、ユーザを注視し続ける動作が可能になるため、より自然な表現を提供できる。
（項目５）
項目１乃至項目４のいずれかに記載のプログラムであって、
前記位置関係は、前記仮想カメラと前記オブジェクトとの直線距離である、
プログラム。
本発明によれば、簡単な検知方法で、自然な表現を提供できる。
（項目６）
操作部と、変位を検出するセンサを備えるヘッドマウントディスプレイとに接続されるコンピュータを、前記ヘッドマウントディスプレイに仮想空間を提供するように機能させるプログラムであって、
少なくとも前記操作部又は前記センサを介した操作情報に応じて、前記仮想空間内に配置された仮想カメラを制御する仮想カメラ制御部、
前記仮想カメラに設定されたカメラ領域の情報を前記ヘッドマウントディスプレイに表示する表示制御部、
前記仮想空間内に配置された人形オブジェクトを制御するオブジェクト制御部、
前記仮想カメラと前記人形オブジェクトとの位置関係が所定距離以下であるか否かを判定する判定部、
として機能させるプログラムにおいて、
前記オブジェクト制御部は、前記位置関係が所定距離以下であると判定された場合に、前記人形オブジェクトの顔部分が前記仮想カメラの方向に向き続けるように前記オブジェクトの姿態を制御する、
プログラム。
本発明によれば、ユーザが近寄った時にオブジェクトが振り向くような動作が可能となり、より自然な表現を提供できる。
【００１１】
［本発明の実施形態の詳細］
本発明の実施形態に係るヘッドマウントディスプレイを制御するプログラム、システム、及び方法の具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【００１２】
図１は、本実施形態にかかるヘッドマウントディスプレイ（以下、「ＨＭＤ」と称する。）１１０を備えるＨＭＤシステム１００を示す。ＨＭＤシステム１００は、ユーザの頭部に装着されるＨＭＤ１１０と、制御回路部１２０と、センサ１３０と、外部コントローラ１４０を備える。ＨＭＤ１１０は、非透過型の表示装置であるディスプレイ１１２と、センサ部１１４を含む。制御回路部１２０はディスプレイ１１２に右目用画像と左目用画像を表示することにより、両目の視差を利用した３次元画像を仮想空間として提供する。ディスプレイ１１２がユーザの眼前に配置されることによって、ユーザは仮想空間に没入できる。仮想空間は、後述するように、背景やユーザが操作可能な各種オブジェクトを含む。
【００１３】
ディスプレイ１１２は、右目用画像を提供する右目用サブディスプレイと、左目用画像を提供する左目用サブディスプレイを含んでもよい。また、右目用画像と左目用画像を提供できれば、１つの表示装置で構成されていても良い。例えば、表示画像が一方の目にしか認識できないようにするシャッターを高速に切り替えることにより、右目用画像と左目用画像を独立して提供し得る。
【００１４】
制御回路部１２０は、ＨＭＤ１１０に接続されるコンピュータであり、ディスプレイ１１２に仮想空間を提供し、当該仮想空間内に表示される各種オブジェクトを操作するように機能させる。制御回路部１２０はそのような動作を制御するプログラムを格納する。制御回路部１２０はＨＭＤ１１０に搭載されていなくてもよく、別のハードウェア（例えば公知のパーソナルコンピュータ、ネットワークを通じたサーバ・コンピュータ）として構成してもよい。また、制御回路部１２０は、一部の機能のみをＨＭＤ１１０に実装し、残りの機能を別のハードウェアに実装してもよい。
【００１５】
センサ１３０は、ＨＭＤ１１０の位置や動きに関する情報を検出する。センサ１３０は、センサ部１１４と、検知部１３２を含む。センサ部１１４は、複数の光源を含んでもよい。光源は、例えば赤外線を発するＬＥＤである。検知部１３２は例えば赤外線センサであり、光源からの赤外線をＨＭＤ１１０の検知点として検知することで、ユーザの動きに応じたＨＭＤ１１０の実空間内における角度に関する情報を経時的に検出する。そして、検知部１３２により検出された情報の経時的変化に基づいて、ＨＭＤ１１０の角度の時間変化を決定し、ＨＭＤ１１０の位置や動きに関する情報を検知することができる。
【００１６】
センサ１３０によって取得される角度に関する情報を、図２を参照して説明する。ＨＭＤ１１０を装着したユーザの頭部を中心として、ＸＹＺ座標を規定する。ユーザが直立する垂直方向をＹ軸とし、Ｙ軸と直交しディスプレイ１１２の中心とユーザを結ぶ前後方向をＺ軸とし、Ｙ軸およびＺ軸と直交する横方向をＸ軸とする。そして各軸周りのＨＭＤ１１０の傾き角度θｘ（いわゆるピッチ角），θｙ（いわゆるヨー角），θｚ（いわゆるロール角）を検出し、それらの経時的な変化により、ＨＭＤ１１０の位置や動きに関する情報を検知することができる。
【００１７】
センサ１３０は、ディスプレイ１１２の近くに固定されたセンサ部１１４と、検知部１３２の、一方のみから構成されてもよい。センサ部１１４が、地磁気センサ、加速度センサ、角速度（ジャイロ）センサであってもよく、これらの少なくとも１つを用いて、ユーザの頭部に装着されたＨＭＤ１１０（特に、ディスプレイ１１２）の傾きを検出する。これにより、ＨＭＤ１１０の位置や動きに関する情報を検出することができる。例えば、角速度センサは、ＨＭＤ１１０の動きに応じて、ＨＭＤ１１０の３軸回りの角速度を経時的に検出し、各軸回りの角度（傾き）の時間変化を決定することができる。この場合には、検知部１３２は不要である。また、検知部１３２は光学カメラを含んで構成されても良い。この場合には、画像情報に基づいてＨＭＤ１１０の位置や動きに関する情報を検出することができ、センサ部１１４は不要である。
【００１８】
センサ１３０を用いてＨＭＤの位置や動きに関する情報を検出する機能をポジション・トラッキングと称する。センサ１３０によるポジション・トラッキングと、仮想空間２内に配置される仮想カメラ１との関係を図３，図４を参照して説明する。仮想カメラ１とセンサ１３０の位置関係を説明するために、以下ではセンサ１３０の位置は、検知部１３２を有する場合には検知部１３２の位置とし、検知部１３２を有しない場合にはセンサ部１１４の位置とする。図３は実空間内のセンサ１３０と仮想空間２の関係を示す３次元の模式図であり、図４は実空間内のセンサ１３０と仮想空間２の関係をＹ方向から見た平面図である。仮想空間２の内部に仮想カメラ１が配置され、および仮想空間２の外部（実空間）にセンサ１３０が仮想的に配置される。
【００１９】
仮想空間２は、略正方形または略長方形の複数のメッシュ３を有する天球状に形成される。各メッシュは仮想空間２の空間情報が関連付けられており、この空間情報に基づいて後述する視界画像が形成される。本実施形態では、図４に示すように、ＸＺ面において、天球の中心点２１が仮想カメラ１とセンサ１３０を結ぶ線上に常に配置されるように調整することが好ましい。例えば、ＨＭＤを装着したユーザが移動して仮想カメラ１の位置がＸ方向に移動した場合には、中心２１が仮想カメラ１とセンサ１３０の線分上に位置するように、仮想空間２の領域が変更される。
【００２０】
外部コントローラ１４０は、制御回路部１２０に対して各種指令を送ることができるように通信可能なデバイスであり、無線通信が可能な携帯端末で構成されることが好ましい。外部コントローラ１４０は、互いにバス接続されたＣＰＵ、主記憶、補助記憶、送受信部、表示部、および入力部を備える任意の携帯型デバイスとすることができる。例えば、スマートフォン、ＰＤＡ、タブレット型コンピュータ、ゲーム用コンソール、ノートＰＣを適用可能であり、タッチパネルを備える携帯端末であることが好ましい。ユーザは、外部コントローラ１４０のタッチパネルに対し、タップ、スワイプおよびホールドを含む各種タッチ動作を実施することにより、仮想空間に表示されるオブジェクトに対して影響を及ぼすことができる。
【００２１】
ＨＭＤシステム１００はいずれかの要素にマイクを含むヘッドホンを備えていても良い。これにより、ユーザは仮想空間内の所定のオブジェクト（後述するゲームオブジェクト等）に、音声による指示を与えることができる。また、仮想空間内の仮想テレビにテレビ番組の放送を受信するために、ＨＭＤシステム１００はいずれかの要素にテレビジョン受像機を含んでいても良い。
【００２２】
図５は、ＨＭＤシステム１００における仮想空間２の表示処理や、当該仮想空間２内に
表示されるオブジェクトの操作を実現するための、制御回路部１２０の機能を示す図であ
る。制御回路部１２０は、主にセンサ１３０および外部コントローラ１４０からの入力に
基づいて、ディスプレイ１１２への出力画像を制御する。
【００２３】
制御回路部１２０は、表示制御部２００とオブジェクト制御部３００と、判定部４００を備える。表示制御部２００は、動き検出部２１０と、視界決定部２２０と、視界画像生成部２３０と、空間情報格納部２４０を含む。オブジェクト制御部３００は、オブジェクト情報格納部３１０と、仮想カメラ情報格納部３２０を含む。センサ１３０と、表示制御部２００と、オブジェクト制御部３００と、ディスプレイ１１２は互いに通信可能に接続されており、有線または無線の通信インターフェースを介して接続され得る。外部コントローラ１４０は、オブジェクト制御部３００と通信可能に接続されている。空間情報格納部２４０、オブジェクト情報格納部３１０、および仮想カメラ情報格納部３２０は、センサ１３０や外部コントローラ１４０からの入力に対応した出力情報をディスプレイ１１２へ提供するための各種テーブルを含む。判定部４００は、センサ１３０や外部コントローラ１４０からの入力が所定の条件を満たし、各種オブジェクトが所定の条件を満たすように操作されたか否かを判定する。
【００２４】
センサ１３０は、センサ部１１４により経時的に検知される角度情報や、検知部１３２により経時的に検知されるＨＭＤ１１０の角度情報に基づいて、ＨＭＤ１１０の位置や動きに関する情報を、表示制御部２００およびオブジェクト制御部３００に出力する。動き検知部２１０は、センサ１３０からの入力情報に基づいて、ＨＭＤ１１０の動きを検出する。そして、仮想空間２内におけるＨＭＤ１１０の向きを規定する基準視線となる視野方向を検出する。そして、検出した情報を視界決定部２２０に出力する。
【００２５】
視界決定部２２０は、空間情報格納部２４０に格納された仮想空間情報と、センサ１３０からの入力情報（動き検知部２１０からの情報）に基づいて、仮想空間２における仮想カメラ１の視界領域に関する情報を決定する。視界画像生成部２３０は、当該視界情報に基づいて、仮想空間を構成する３６０度パノラマの一部を、視界画像として生成する。視界画像はディスプレイ１１２に出力される。視界画像は左目用と右目用の２つの２次元画像を含み、これらがディスプレイ１１２に重畳されることにより、３次元画像としての仮想空間２がユーザに提供される。
【００２６】
オブジェクト制御部３００では、オブジェクト情報格納部３１０に格納された仮想空間内のオブジェクト情報と、センサ１３０および外部コントローラ１４０からのユーザ指令に基づいて、操作対象オブジェクトを特定する。そして、操作対象オブジェクトへの所定のユーザ操作指令に基づいて、仮想カメラ情報格納部３２０に格納された仮想カメラ情報を調整する。調整された仮想カメラ情報を表示制御部２００に出力し、視界画像が調整される。また、所定のユーザ操作指令に対応する操作を操作対象オブジェクトへ実施し、オブジェクト制御情報をディスプレイ１１２および表示制御部２００に出力する。オブジェクト操作の具体的な処理は後述する。
【００２７】
なお、制御回路部１２０の各機能を実現するためのハードウェア要素は、ＣＰＵ、メモリ、その他の集積回路で構成することができる。そして、メモリにロードされたソフトウェア要素としての各種プログラムによって各機能が実現される。したがって、これらの機能ブロックがハードウェア、ソフトウェア、又はそれらの組み合わせによって実現できることが当業者に理解される。
【００２８】
図６〜図８を参照して、視界決定部２２０で決定される、仮想空間２の天球面に沿った視界領域６について説明する。図６は、視界領域６を示す３次元の模式図であり、図７は視界領域６をＸ方向から見たＹＺ面図であり、図８は視界領域６をＹ方向から見たＸＺ面図である。図６に示すように、視界領域６は仮想空間２の一部を構成する。視界領域６は視界方向５に基づいて定められ、視界方向５は仮想カメラ１の位置および方向に基づいて定められる。視界領域６は、仮想空間２と視界方向５との交点におけるＸ軸まわりの所定範囲である第１領域６１と、仮想空間２と視界方向５との交点におけるＹ軸まわりの所定範囲である第２視界領域６２とを有する。第１領域６１は、視界方向５を中心として極角αを含む範囲として設定される。第２領域６２は、視界方向５を中心として方位角βを含む範囲として設定される。つまり、視界領域６は、仮想カメラ１の位置からの視界方向５に対して、ＸＹ平面図における極角θおよびＸＺ平面図における方位角βを有した球面上の領域とすることができる。
【００２９】
図９、図１０を参照して、仮想空間２内でのオブジェクト操作に関する制御回路部１２０の処理動作を説明する。図９は、図４に示すオブジェクト制御部３００の機能を説明するブロック図である。オブジェクト制御部３００は、操作対象オブジェクトを特定するためのオブジェクト特定部３３０と、特定された操作対象オブジェクトを操作するためのオブジェクト操作部３４０を備える。
【００３０】
オブジェクト特定部３３０は、基準視線計算部３３１、オブジェクト判定部３３２、操作対象オブジェクト選択部３３３を備える。オブジェクト特定部３３０は、ＨＭＤ１１０の傾き動作によって、仮想空間２において図６〜図８に示した基準視線である視界方向５上に配置されるオブジェクトを特定する。そのために、基準視線計算部３３１が視界方向５を設定し、オブジェクト判定部３４０が視界方向５上にオブジェクトが配置されているかを判定する。さらに、操作対象オブジェクト選択部３６０は、視界方向５上にオブジェクトが配置される場合に、そのオブジェクトを操作対象オブジェクトとして選択する。
【００３１】
オブジェクト操作部３４０は、外部コントローラ動作判定部３４１と、傾き動作判定部３４２と、仮想カメラ調整部３４３と、オブジェクト操作特定部３４４と、オブジェクト操作実施部３４５と、オブジェクト操作テーブル３４６を備える。オブジェクト操作部３４０は、オブジェクト特定部３００で特定された操作対象オブジェクトに対し、ＨＭＤ１１０の傾き動作に従った操作を実施する。
【００３２】
外部コントローラ動作判定部３４１は、外部コントローラ１４０にユーザのタッチ操作が入力されたかを判定する。傾き動作判定部３４２は、ＨＭＤ１１０に傾き動作（特に、傾け方向）が入力されたかを判定する。仮想カメラ調整部３４３は、オブジェクト操作の際に仮想カメラ１の位置や方向を調整する。オブジェクト操作特定部３４４は、操作対象オブジェクトに対する操作を、オブジェクト操作テーブル３４６に従って特定する。オブジェクト操作実施部３４５は、オブジェクト操作を実施し、その結果として生じる画像を視界画像として生成する。
【００３３】
図１０はオブジェクト操作テーブル３４６の一例を示す。オブジェクト操作テーブル３４６は、ユーザ動作と操作対象オブジェクトのアクションを関連付ける。即ち、ユーザによるＨＭＤ１１０に対する傾き変更動作や、外部コントローラ１４０への入力といった動作に対して、操作対象オブジェクトが所定のアクションをとるよう、一対一で対応付けられる。操作対象オブジェクトのアクションは、ＨＭＤ１１０または外部コントローラ１４０単体への入力動作によって関連付けられても良いし、ＨＭＤ１１０と外部コントローラ１４０の連携した操作に関連付けられていても良い。当該入力に対する各アクションの詳細は後述する。
【００３４】
なお、オブジェクト操作テーブル３４６がユーザ動作と操作対象オブジェクトの情報を有している場合には、オブジェクト操作部３４０がオブジェクト特定部３３０としての機能を有する場合がある。即ち、オブジェクト操作テーブル３４６が有する操作対象オブジェクト情報は、オブジェクト特定部３３０において特定されたものであっても良いし、予め設定されたものであっても良い。
【００３５】
次に、図１０〜図１４を参照して、本実施形態による、仮想空間２内におけるオブジェクト操作のための処理フローを説明する。当該オブジェクト操作処理は、外部コントローラ１４０、センサ１３０、ＨＭＤ１００および制御回路部１２０の相互作用によって実現され得る。
【００３６】
まず、センサ１３０によってＨＭＤ１１０の位置が検知される（ステップＳ１３０−１）。
センサ１３０の検知情報は制御回路部１２０に送信され、動き検出部２１０により、視界決定部２２０は基準視線である視界方向５を決定する（ステップＳ１２０−１）。視界方向５は、前述のように視界画像の所定位置に対応付けて決定される。当該所定位置は視界画像の中心点とするのがよいが、これに限定されず、視界画像の如何なる設定可能な位置としてよい。また、視界方向は何らかのマーク（例えば、円形や手の平形のアイコン）として上記視界画像に重畳表示してもよい。続いて、視界決定部２２０により、ＨＭＤ１１０の位置情報および／または傾き情報に基づいて、仮想空間２内での視界情報が決定される。更に、視界画像生成部２３０が当該視界情報に基づいてＨＭＤ１１０のディスプレイ１１２に表示するための視界画像を生成する（ステップＳ１２０−２）。
【００３７】
次に、視界画像がＨＭＤ１１０に表示される（ステップＳ１１０−２）。視界画像には、後述するように操作対象になり得る複数のオブジェクトが表示される。そして、視界画像がＨＭＤ１１０に表示された状態で、ＨＭＤ１１０を装着したユーザが頭部を傾ける動作をした場合には、仮想空間２内に配置された複数のオブジェクトのうち、少なくとも１つが視界画像の所定位置に対応するよう位置合わせを行う。
【００３８】
ＨＭＤ１１０に表示される視界画像の一例を図１１に示す。視界画像Ｇ１は、ＨＭＤ１１０に表示される仮想空間内の様子である。なお、実際のＨＭＤ１１０においては、右目用の画像及び左目用の画像が夫々用意されるが、今回は簡単のため、左目用の画像のみ使用して説明する。
【００３９】
本実施の形態においては、図示される仮想空間に、「くま」を模した複数のキャラクタＣｋが表示される。図示された視界においては、キャラクタＣｋは、画面外（Ｇ１の左下）から現れ、矢印ＤＤ１に沿って斜面Ｓｌｐを駆け上がり、平面Ｐｌｎに差し掛かると方向転換をして矢印ＤＤ２に沿って進み、画面外に消える。なお、『図示された視界においては』と記載したのは、ＨＭＤ１１０の傾きや外部コントローラの操作によって、視界領域を変更することができるからである（図１０のステップＳ１３０−１、Ｓ１１０−１、Ｓ１２０−１乃至Ｓ１２０−３、Ｓ１１０−２）。
【００４０】
次に、外部コントローラ１４０による操作入力（ステップＳ１４０−１）に関する情報、センサ１３０によるＨＭＤ１１０の位置検知（ステップＳ１３０−２）に関する情報、ＨＭＤ１１０による傾きに関する情報（ステップＳ１１０−３）が、制御回路部１２０に受け付けられる（ステップＳ１２０−４）。制御回路部１２０は、これらの情報に基づいて、仮想カメラの位置、傾きを制御する（ステップＳ１２０−５）。
【００４１】
本実施の形態においては、図１２に示されるように、ユーザの外部コントローラ（スマートフォン）１４０に対する操作が仮想カメラＶＣａｍの位置に反映される。即ち、図示されるように、スマートフォンのタッチパネル上において、指を前方に移動させると、仮想カメラＶＣａｍも仮想空間内を前方に移動（即ち、前進）し、それに伴って、視界領域もＶ１〜Ｖ２へと変化する。
【００４２】
次に、仮想カメラＶＣａｍと仮想空間内のキャラクタＣｋとの関係について説明する。図１３に示されるように、仮想カメラＶＣａｍは、ＨＭＤ１１０に表示される領域である視界領域Ｖ１と、当該視界領域Ｖ１に包含される領域である検知領域Ｄｅｔとを有している。検知領域Ｄｅｔは仮想カメラＶＣａｍから距離Ｌの範囲内に設定される。
【００４３】
仮想空間内には、キャラクタＣｋ１、Ｃｋ２の２種類のキャラクタが表示されている。キャラクタＣｋ１は、仮想カメラＶＣａｍの視界領域Ｖ１に含まれているものの、検知領域Ｄｅｔには含まれていない。キャラクタＣｋ１は、位置Ｐ＿１、Ｐ＿２、Ｐ＿３の順に進行方向（Ｘ方向）に沿って進行し、当該進行方向に視線を向けている（点線の矢印参照）。一方、キャラクタＣｋ２は、仮想カメラＶＣａｍの視界領域Ｖ１に含まれ、且つ、一部の位置（Ｐ＿１２、Ｐ＿１３等）で検知領域Ｄｅｔにも含まれている。本実施の形態においては、検知領Ｄｅｔ内に含まれるキャラクタはその視線を仮想カメラＶＣａｍに向けながら進行するように制御される。即ち、キャラクタＣｋが検知領域Ｄｅｔ外である位置Ｐ＿１１にある場合にはその視線は進行方法（Ｘ方向）である。キャラクタＣｋ２が移動し、検知領域Ｄｅｔ内である位置Ｐ＿１２まで進むと、それまで進行方向を向いていた視線は仮想カメラＶＣａｍの方向となるように（仮想カメラＶＣａｍを見るように）姿態を変化させる。少し進んだＰ＿１３では、姿態を更に変化させ、その視線がＶＣａｍから外れないように視線方向を更に変化させる。そして、検知領域Ｄｅｔ外である位置Ｐ＿１４になると再び視線を進行方向に戻す。このように、自分の近くに位置するキャラクタのみが自分と目線を合わせ続けながら移動する制御を行うことで、キャラクタにより自然な動きを持たせることができる。
【００４４】
なお、検知領域Ｄｅｔ内にキャラクタＣｋがいたとしても、仮想カメラＶＣａｍと視線を合わせようとすると、首の向き等が明らかにおかしいものとなってしまう場合、自然な表現ができなくなる。したがって、キャラクタＣｋが仮想カメラＶＣａｍに向ける場合、進行方向と視線とのなす角度が一定以上となる場合は上述した処理を行わずそれ以上首を曲げないこととしてもよい。
【００４５】
図１４は、進行方向Ｘに沿って移動中のキャラクタＣｋ３が仮想カメラＶＣａｍに視線を向けている際に、ユーザ操作によって仮想カメラＶＣａｍが移動された場合の例である。具体的には、移動前の位置ＣＰ＿０に位置する仮想カメラＶＣａｍにおける検知領域Ｄｅｔ＿０の外の位置Ｐ＿３１においては、キャラクタＣｋ３は進行方向に視線を向けている。キャラクタＣｋ３がＸ方向に進み且つ検知領域Ｄｅｔ＿０内の位置Ｐ＿３２においては、キャラクタＣｋ３はＣＰ＿０に位置する仮想カメラＶＣａｍに視線を向けている。この時、ユーザがスマートフォン１４０上で左から右に向けてスワイプ操作（スライド操作）を行うと、仮想カメラＶＣａｍはＣＰ＿０からＣＰ＿１へと移動し、それに伴って検知領域もＤｅｔ＿０からＤｅｔ＿１へと変化する。このとき、Ｐ＿３２からＰ＿３３へと移動したキャラクタＣｋ３は、その視線を移動後の仮想カメラＶＣａｍに向かうように姿態を変化させる。
【００４６】
このように、検知領域内にある限り、仮想カメラが移動したとしてもキャラクタの視線
は仮想カメラＶＣａｍを追い続けることとなり、新しいゲーム体験を提供させつつ、自然
な動きを表現することができる。
【００４７】
以上、本発明の実施の形態について説明したが、本発明は上記実施形態に限定されるものではない。前述の請求項に記載されるこの発明の精神及び範囲から逸脱することなく、様々な実施形態の変更がなされ得ることを当業者は理解するであろう。
【符号の説明】
【００４８】
１００…ヘッドマウントディスプレイ（ＨＭＤ）システム、１１０…ＨＭＤ、１１２…ディスプレイ、１１４…センサ部、１２０…制御回路部、１３０…センサ、１３２…検知部、１４０…外部コントローラ、２００…表示制御部、３００…オブジェクト制御部、４００…判定部、１…仮想カメラ、２…仮想空間、５…視界方向、６…視界領域
【図１】
0006448478.tif 000002
【図２】
0006448478.tif 000003
【図３】
0006448478.tif 000004
【図４】
0006448478.tif 000005
【図５】
0006448478.tif 000006
【図６】
0006448478.tif 000007
【図７】
0006448478.tif 000008
【図８】
0006448478.tif 000009
【図９】
0006448478.tif 000010
【図１０】
0006448478.tif 000011
【図１１】
0006448478.tif 000012
【図１２】
0006448478.tif 000013
【図１３】
0006448478.tif 000014
【図１４】
0006448478.tif 000015