(57)【要約】【課題】エンタテイメント性の高い、仮想空間における仮想体験をユーザに提供する。【解決手段】ＨＭＤと、ユーザの身体の一部の動きを検知するセンサとを備えたシステムにおける情報処理方法であって、仮想空間を規定する仮想空間データを特定するステップと、仮想視点を特定するステップと、仮想空間データ、仮想視点、及びＨＭＤの向きに応じて視野画像を生成するステップと、視野画像内の操作オブジェクトを動かすステップと、第１オブジェクトを含む、第１視点からの視野画像を表示部に表示するステップと、仮想視点を第１視点から第２視点に切り替えるステップと、仮想視点が第２視点に切り替えられた際に、第１オブジェクトに関連付けられた第２オブジェクトを操作オブジェクトに関連付けるステップと、第２オブジェクトを含む、第２視点からの視野画像を表示部に表示するステップと、を含む方法を提供する。【選択図】図１１
2018190163.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドマウントデバイスと、ユーザの身体の一部の動きを検知するように構成されたセンサとを備えたシステムにおける情報処理方法であって、
仮想空間を規定する仮想空間データを特定するステップと、
前記仮想空間における仮想視点を特定するステップと、
前記仮想空間データと、前記仮想視点と、前記ヘッドマウントデバイスの向きとに応じて、前記身体の一部に関連付けられる操作オブジェクトを含む視野画像を生成するステップと、
前記センサによって検知された前記身体の一部の動きに応じて、前記視野画像内の前記操作オブジェクトを動かすステップと、
第１オブジェクトを含む、第１視点からの視野画像を前記ヘッドマウントデバイスに関連付けられる表示部に表示するステップと、
前記仮想視点を前記第１視点から第２視点に切り替えるステップと、
前記第１視点において前記第１オブジェクトに対する選択が受け付けられている場合において、前記仮想視点が前記第２視点に切り替えられた際に、前記第１オブジェクトに関連付けられた第２オブジェクトを前記操作オブジェクトに関連付けるステップと、
前記操作オブジェクトに関連付けられた前記第２オブジェクトを含む、前記第２視点からの視野画像を前記ヘッドマウントデバイスに関連付けられる前記表示部に表示するステップと、
を含む方法。
【請求項２】
前記第２視点において前記操作オブジェクトの動きに応じて前記視野画像内の前記第２オブジェクトを動かすステップを更に含む、請求項１に記載の方法。
【請求項３】
前記仮想空間はゲームフィールドを含み、前記第１視点は前記ゲームフィールドを俯瞰する仮想視点であり、前記第２視点は前記ゲームフィールド上に配置された前記第１オブジェクトに関連付けられた仮想視点である、請求項１又は請求項２に記載の方法。
【請求項４】
前記第１オブジェクトは前記ゲームフィールド上を移動可能なゲームキャラクタであり、前記第２視点は前記ゲームキャラクタの視点で前記仮想空間を見た仮想視点である、請求項３に記載の方法。
【請求項５】
前記操作オブジェクトは仮想の手であり、前記第２オブジェクトを前記操作オブジェクトに関連付ける前記ステップは、前記第２視点の視野画像において前記仮想の手に前記第２オブジェクトを把持させることを含む、請求項１から請求項４のいずれか１項に記載の方法。
【請求項６】
前記第１オブジェクトに対する選択は、前記第１視点において複数の候補オブジェクトのうちの１つのオブジェクトを前記操作オブジェクトの動きに応じて選択することを含む、請求項１から請求項５のいずれか１項に記載の方法。
【請求項７】
前記第１オブジェクトに対する選択は、更に、前記選択した１つのオブジェクトを前記仮想空間内のゲームフィールドに配置することを含み、前記第２視点は、前記１つのオブジェクトの前記ゲームフィールドへの配置によって特定される前記第１オブジェクトの位置に基づく仮想視点である、請求項６に記載の方法。
【請求項８】
前記仮想空間は第３オブジェクトが配置されたゲームフィールドを含み、
前記第２視点において前記操作オブジェクトの動きに応じて前記視野画像内の前記第２オブジェクトを動かす前記ステップは、前記第２オブジェクトの動きによって前記第３オブジェクトに作用を与えるステップを含む、
請求項２に記載の方法。
【請求項９】
前記第２視点において前記第３オブジェクトの動きに応じて前記第１オブジェクト及び前記第２オブジェクトの少なくとも一方に作用を与えるステップを更に含む、請求項８に記載の方法。
【請求項１０】
前記仮想視点を前記第１視点から前記第２視点に切り替える前に前記第１オブジェクトに前記第２オブジェクトを関連付けるステップを更に含む、請求項１から請求項９のいずれか１項に記載の方法。
【請求項１１】
前記第２オブジェクトの属性は前記第１オブジェクトの属性に応じて設定される、請求項１から請求項１０のいずれか１項に記載の方法。
【請求項１２】
プロセッサとメモリを備え、
前記プロセッサの制御により、請求項１から請求項１１のいずれか１項に記載の方法が実行される、
コンピュータ。
【請求項１３】
プロセッサによって実行されると、前記プロセッサに、請求項１から請求項１１のいずれか１項に記載の方法を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理方法、コンピュータ、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、仮想空間内における視点移動によって、様々な視点から仮想空間における仮想体験を楽しむことを可能にする技術が開示されている。
【０００３】
特許文献１に開示された技術において、ユーザは、１つの対象を様々な角度から観察することができるにすぎない。このような技術に関し、仮想体験のエンタテイメント性を高めるために改善の余地がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５８６９１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示は、上記の点に鑑みてなされたものであり、その目的の１つは、エンタテイメント性の高い、仮想空間における仮想体験をユーザに提供することにある。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本開示の一態様は、ヘッドマウントデバイスと、ユーザの身体の一部の動きを検知するように構成されたセンサとを備えたシステムにおける情報処理方法であって、仮想空間を規定する仮想空間データを特定するステップと、前記仮想空間における仮想視点を特定するステップと、前記仮想空間データと、前記仮想視点と、前記ヘッドマウントデバイスの向きとに応じて、前記身体の一部に関連付けられる操作オブジェクトを含む視野画像を生成するステップと、前記センサによって検知された前記身体の一部の動きに応じて、前記視野画像内の前記操作オブジェクトを動かすステップと、第１オブジェクトを含む、第１視点からの視野画像を前記ヘッドマウントデバイスに関連付けられる表示部に表示するステップと、前記仮想視点を前記第１視点から第２視点に切り替えるステップと、前記第１視点において前記第１オブジェクトに対する選択が受け付けられている場合において、前記仮想視点が前記第２視点に切り替えられた際に、前記第１オブジェクトに関連付けられた第２オブジェクトを前記操作オブジェクトに関連付けるステップと、前記操作オブジェクトに関連付けられた前記第２オブジェクトを含む、前記第２視点からの視野画像を前記ヘッドマウントデバイスに関連付けられる前記表示部に表示するステップと、を含む方法である。
【０００７】
また、本開示の他の一態様は、プロセッサとメモリを備え、前記プロセッサの制御により、前記方法が実行される、コンピュータである。
【０００８】
また、本開示の他の一態様は、プロセッサによって実行されると、前記プロセッサに、前記方法を実行させる、プログラムである。
【発明の効果】
【０００９】
本開示によれば、エンタテイメント性の高い、仮想空間における仮想体験をユーザに提供することができる。
【図面の簡単な説明】
【００１０】
【図１】ＨＭＤシステム１００の構成を概略的に示す。
【図２】一実施形態による、コンピュータの基本的なハードウェア構成の例を表すブロック図である。
【図３】一実施形態による、ＨＭＤに設定されるｕｖｗ視野座標系を概念的に表す図である。
【図４】一実施形態による、仮想空間を表現する一態様を概念的に表す図である。
【図５】一実施形態による、ＨＭＤ１１０を装着するユーザの頭部を上から表した図である。
【図６】仮想空間において視認領域をｘ方向から見たｙｚ断面を表す図である。
【図７】仮想空間において視認領域をｙ方向から見たｘｚ断面を表す図である。
【図８】一実施形態によるコントローラの概略構成を表す図である。
【図９】一実施形態による、ＨＭＤシステムにおける仮想空間の表示処理等を実現するためのコンピュータの機能を示すブロック図である。
【図１０】ユーザが没入する仮想空間の画像を表示部に表示するための一般的な処理のフロー図である。
【図１１】本開示の一実施形態による方法のフローチャートである。
【図１２】本開示の一実施形態において想定されるゲームの態様を概略的に説明する図である。
【図１３】本開示の一実施形態の処理により生成される視界画像の例を示す。
【図１４】本開示の一実施形態の処理により生成される視界画像の例を示す。
【図１５】本開示の一実施形態の処理により生成される視界画像の例を示す。
【図１６】本開示の一実施形態の処理により生成される視界画像の例を示す。
【図１７】本開示の一実施形態の処理により生成される視界画像の例を示す。
【図１８】本開示の一実施形態の処理により生成される視界画像の例を示す。
【発明を実施するための形態】
【００１１】
［本開示の実施形態の説明］
最初に、本開示の実施形態の内容を列記して説明する。本開示の一実施形態は、以下のような構成を備える。
【００１２】
（項目１）ヘッドマウントデバイスと、ユーザの身体の一部の動きを検知するように構成されたセンサとを備えたシステムにおける情報処理方法であって、仮想空間を規定する仮想空間データを特定するステップと、前記仮想空間における仮想視点を特定するステップと、前記仮想空間データと、前記仮想視点と、前記ヘッドマウントデバイスの向きとに応じて、前記身体の一部に関連付けられる操作オブジェクトを含む視野画像を生成するステップと、前記センサによって検知された前記身体の一部の動きに応じて、前記視野画像内の前記操作オブジェクトを動かすステップと、第１オブジェクトを含む、第１視点からの視野画像を前記ヘッドマウントデバイスに関連付けられる表示部に表示するステップと、前記仮想視点を前記第１視点から第２視点に切り替えるステップと、前記第１視点において前記第１オブジェクトに対する選択が受け付けられている場合において、前記仮想視点が前記第２視点に切り替えられた際に、前記第１オブジェクトに関連付けられた第２オブジェクトを前記操作オブジェクトに関連付けるステップと、前記操作オブジェクトに関連付けられた前記第２オブジェクトを含む、前記第２視点からの視野画像を前記ヘッドマウントデバイスに関連付けられる前記表示部に表示するステップと、を含む方法。
【００１３】
（項目２）前記第２視点において前記操作オブジェクトの動きに応じて前記視野画像内の前記第２オブジェクトを動かすステップを更に含む、項目１に記載の方法。
【００１４】
（項目３）前記仮想空間はゲームフィールドを含み、前記第１視点は前記ゲームフィールドを俯瞰する仮想視点であり、前記第２視点は前記ゲームフィールド上に配置された前記第１オブジェクトに関連付けられた仮想視点である、項目１又は項目２に記載の方法。
【００１５】
（項目４）前記第１オブジェクトは前記ゲームフィールド上を移動可能なゲームキャラクタであり、前記第２視点は前記ゲームキャラクタの視点で前記仮想空間を見た仮想視点である、項目３に記載の方法。
【００１６】
（項目５）前記操作オブジェクトは仮想の手であり、前記第２オブジェクトを前記操作オブジェクトに関連付ける前記ステップは、前記第２視点の視野画像において前記仮想の手に前記第２オブジェクトを把持させることを含む、項目１から項目４のいずれか１項に記載の方法。
【００１７】
（項目６）前記第１オブジェクトに対する選択は、前記第１視点において複数の候補オブジェクトのうちの１つのオブジェクトを前記操作オブジェクトの動きに応じて選択することを含む、項目１から項目５のいずれか１項に記載の方法。
【００１８】
（項目７）前記第１オブジェクトに対する選択は、更に、前記選択した１つのオブジェクトを前記仮想空間内のゲームフィールドに配置することを含み、前記第２視点は、前記１つのオブジェクトの前記ゲームフィールドへの配置によって特定される前記第１オブジェクトの位置に基づく仮想視点である、項目６に記載の方法。
【００１９】
（項目８）前記仮想空間は第３オブジェクトが配置されたゲームフィールドを含み、前記第２視点において前記操作オブジェクトの動きに応じて前記視野画像内の前記第２オブジェクトを動かす前記ステップは、前記第２オブジェクトの動きによって前記第３オブジェクトに作用を与えるステップを含む、項目２に記載の方法。
【００２０】
（項目９）前記第２視点において前記第３オブジェクトの動きに応じて前記第１オブジェクト及び前記第２オブジェクトの少なくとも一方に作用を与えるステップを更に含む、項目８に記載の方法。
【００２１】
（項目１０）前記仮想視点を前記第１視点から前記第２視点に切り替える前に前記第１オブジェクトに前記第２オブジェクトを関連付けるステップを更に含む、項目１から項目９のいずれか１項に記載の方法。
【００２２】
（項目１１）前記第２オブジェクトの属性は前記第１オブジェクトの属性に応じて設定される、項目１から項目１０のいずれか１項に記載の方法。
【００２３】
（項目１２）プロセッサとメモリを備え、前記プロセッサの制御により、項目１から項目１１のいずれか１項に記載の方法が実行される、コンピュータ。
【００２４】
（項目１３）プロセッサによって実行されると、前記プロセッサに、項目１から項目１１のいずれか１項に記載の方法を実行させる、プログラム。
【００２５】
［本開示の実施形態の詳細］
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
【００２６】
図１を参照して、ヘッドマウントデバイス（Ｈｅａｄ−Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ、ＨＭＤ）システム１００の構成について説明する。図１は、ＨＭＤシステム１００の構成を概略的に示す。一例では、ＨＭＤシステム１００は、家庭用のシステム又は業務用のシステムとして提供される。ＨＭＤは、表示部を備える所謂ヘッドマウントディスプレイであってもよく、表示部を有するスマートフォン等の端末を装着可能なヘッドマウント機器であってもよい。
【００２７】
ＨＭＤシステム１００は、ＨＭＤ１１０と、ＨＭＤセンサ１２０と、コントローラ１６０と、コンピュータ２００とを備える。ＨＭＤ１１０は、表示部１１２と、注視センサ１４０とを含む。コントローラ１６０は、モーションセンサ１３０を含んでもよい。
【００２８】
一例では、コンピュータ２００は、インターネット等のネットワーク１９２に接続可能であってもよく、ネットワーク１９２に接続されるサーバ１５０等のコンピュータと通信可能であってもよい。別の態様において、ＨＭＤ１１０は、ＨＭＤセンサ１２０の代わりにセンサ１１４を含んでもよい。
【００２９】
ＨＭＤ１１０は、ユーザ１９０の頭部に装着され、動作中に仮想空間をユーザに提供し得る。より具体的には、ＨＭＤ１１０は、右目用の画像及び左目用の画像を表示部１１２にそれぞれ表示する。ユーザの各目がそれぞれの画像を視認すると、ユーザは、両目の視差に基づき当該画像を３次元の画像として認識し得る。
【００３０】
表示部１１２は、例えば、非透過型の表示装置として実現される。一例では、表示部１１２は、ユーザの両目の前方に位置するように、ＨＭＤ１１０の本体に配置される。したがって、ユーザは、表示部１１２に表示される３次元画像を視認すると、仮想空間に没入することができる。ある実施形態において、仮想空間は、例えば、背景、ユーザが操作可能なオブジェクト、ユーザが選択可能なメニューの画像等を含む。ある実施形態において、表示部１１２は、スマートフォン等の情報表示端末が備える液晶表示部又は有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）表示部として実現され得る。
【００３１】
一例では、表示部１１２は、右目用の画像を表示するためのサブ表示部と、左目用の画像を表示するためのサブ表示部とを含み得る。別の態様において、表示部１１２は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、表示部１１２は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
【００３２】
一例では、ＨＭＤ１１０は、複数の光源（図示せず）を含む。各光源は、例えば、赤外線を発するＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）により実現される。ＨＭＤセンサ１２０は、ＨＭＤ１１０の動きを検出するためのポジショントラッキング機能を有する。より具体的には、ＨＭＤセンサ１２０は、ＨＭＤ１１０が発する複数の赤外線を読み取り、現実空間内におけるＨＭＤ１１０の位置及び傾きを検出してもよい。
【００３３】
ある態様において、ＨＭＤセンサ１２０は、カメラにより実現されてもよい。この場合、ＨＭＤセンサ１２０は、カメラから出力されるＨＭＤ１１０の画像情報を用いて、画像解析処理を実行することにより、ＨＭＤ１１０の位置及び傾きを検出することができる。
【００３４】
別の態様において、ＨＭＤ１１０は、位置検出器として、ＨＭＤセンサ１２０の代わりに、センサ１１４を備えてもよい。ＨＭＤ１１０は、センサ１１４を用いて、ＨＭＤ１１０自身の位置及び傾きを検出し得る。例えば、センサ１１４が角速度センサ、地磁気センサ、加速度センサ、ジャイロセンサ等である場合、ＨＭＤ１１０は、ＨＭＤセンサ１２０の代わりに、これらの各センサのいずれかを用いて、自身の位置及び傾きを検出し得る。一例として、センサ１１４が角速度センサである場合、角速度センサは、現実空間におけるＨＭＤ１１０の３軸周りの角速度を経時的に検出する。ＨＭＤ１１０は、各角速度に基づいて、ＨＭＤ１１０の３軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、ＨＭＤ１１０の傾きを算出する。また、ＨＭＤ１１０は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視界画像は、仮想空間を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。例えば、ＨＭＤ１１０に搭載されたカメラで撮影した画像を視界画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視界画像の一部から現実空間を視認可能にしてもよい。
【００３５】
注視センサ１４０は、ユーザ１９０の右目及び左目の視線が向けられる方向（視線）を検出する。当該方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ１４０は、当該アイトラッキング機能を有するセンサにより実現される。ある態様において、注視センサ１４０は、右目用のセンサ及び左目用のセンサを含むことが好ましい。注視センサ１４０は、例えば、ユーザ１９０の右目及び左目に赤外光を照射するとともに、照射光に対する角膜及び虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ１４０は、検出した各回転角に基づいて、ユーザ１９０の視線を検知することができる。
【００３６】
サーバ１５０は、コンピュータ２００にプログラムを送信し得る。別の態様において、サーバ１５０は、他のユーザによって使用されるＨＭＤに仮想現実を提供するための他のコンピュータ２００と通信し得る。例えば、アミューズメント施設において、複数のユーザが参加型のゲームを行う場合、各コンピュータ２００は、各ユーザの動作に基づく信号を他のコンピュータ２００と通信して、同じ仮想空間において複数のユーザが共通のゲームを楽しむことを可能にする。
【００３７】
コントローラ１６０は、有線又は無線によりコンピュータ２００に接続される。コントローラ１６０は、ユーザ１９０からコンピュータ２００への命令の入力を受け付ける。ある態様において、コントローラ１６０は、ユーザ１９０によって把持可能に構成される。別の態様において、コントローラ１６０は、ユーザ１９０の身体又は衣類の一部に装着可能に構成される。別の態様において、コントローラ１６０は、コンピュータ２００から送信される信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。別の態様において、コントローラ１６０は、ユーザ１９０から、仮想空間に配置されるオブジェクトの位置や動きを制御するための操作を受け付ける。
【００３８】
ある態様において、モーションセンサ１３０は、ユーザの手に取り付けられて、ユーザの手の動きを検出する。例えば、モーションセンサ１３０は、手の回転速度、回転数等を検出する。検出された信号は、コンピュータ２００に送られる。モーションセンサ１３０は、例えば、手袋型のコントローラ１６０に設けられる。ある実施形態において、現実空間における安全のため、コントローラ１６０は、手袋型のようにユーザ１９０の手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。別の態様において、ユーザ１９０に装着されないセンサがユーザ１９０の手の動きを検出してもよい。ユーザ１９０の身体の様々な部分の位置、向き、動きの方向、動きの距離などを検知する光学式センサが用いられてもよい。例えば、ユーザ１９０を撮影するカメラの信号が、ユーザ１９０の動作を表す信号として、コンピュータ２００に入力されてもよい。モーションセンサ１３０とコンピュータ２００とは、一例として、無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）その他の公知の通信手法が用いられる。
【００３９】
図２を参照して、本開示の実施形態に係るコンピュータ２００について説明する。図２は、本開示の一実施形態によるコンピュータ２００の基本的なハードウェア構成の例を表すブロック図である。コンピュータ２００は、主たる構成要素として、プロセッサ２０２と、メモリ２０４と、ストレージ２０６と、入出力インターフェース２０８と、通信インターフェース２１０とを備える。各構成要素は、それぞれ、バス２１２に接続される。
【００４０】
プロセッサ２０２は、コンピュータ２００に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ２０４又はストレージ２０６に格納されているプログラムに含まれる一連の命令を実行する。ある態様において、プロセッサ２０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のデバイスとして実現される。
【００４１】
メモリ２０４は、プログラム及びデータを一時的に保存する。プログラムは、例えば、ストレージ２０６からロードされる。データは、コンピュータ２００に入力されたデータと、プロセッサ２０２によって生成されたデータとを含む。ある態様において、メモリ２０４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリとして実現される。
【００４２】
ストレージ２０６は、プログラム及びデータを永続的に保持する。ストレージ２０６は、例えば、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ハードディスク装置、フラッシュメモリ等の不揮発性記憶装置として実現される。ストレージ２０６に格納されるプログラムは、ＨＭＤシステム１００において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ２００との通信を実現するためのプログラム等を含む。ストレージ２０６に格納されるデータは、仮想空間を規定するためのデータ及びオブジェクト等を含む。
【００４３】
別の態様において、ストレージ２０６は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の態様において、コンピュータ２００に内蔵されたストレージ２０６の代わりに、外部の記憶装置に保存されているプログラム及びデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のＨＭＤシステム１００が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
【００４４】
ある実施形態において、入出力インターフェース２０８は、ＨＭＤ１１０、ＨＭＤセンサ１２０及びモーションセンサ１３０との間で信号を通信する。ある態様において、入出力インターフェース２０８は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ、ＵＳＢ）、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）等の端子を用いて実現される。なお、入出力インターフェース２０８は上述のものに限られない。
【００４５】
ある実施形態において、入出力インターフェース２０８は、さらに、コントローラ１６０と通信し得る。例えば、入出力インターフェース２０８は、コントローラ１６０及びモーションセンサ１３０から出力された信号の入力を受ける。別の態様において、入出力インターフェース２０８は、プロセッサ２０２から出力された命令を、コントローラ１６０に送る。当該命令は、振動、音声出力、発光等をコントローラ１６０に指示する。コントローラ１６０は、当該命令を受信すると、その命令に応じて、振動、音声出力、発光等を実行する。
【００４６】
通信インターフェース２１０は、ネットワーク１９２に接続され、ネットワーク１９２に接続されている他のコンピュータ（例えば、サーバ１５０）と通信する。ある態様において、通信インターフェース２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の有線通信インターフェース、あるいは、ＷｉＦｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）等の無線通信インターフェースとして実現される。なお、通信インターフェース２１０は上述のものに限られない。
【００４７】
ある態様において、プロセッサ２０２は、ストレージ２０６にアクセスし、ストレージ２０６に格納されている１つ以上のプログラムをメモリ２０４にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、コンピュータ２００のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ２０２は、入出力インターフェース２０８を介して、仮想空間を提供するための信号をＨＭＤ１１０に送る。ＨＭＤ１１０は、その信号に基づいて表示部１１２に映像を表示する。
【００４８】
図２に示される例では、コンピュータ２００は、ＨＭＤ１１０の外部に設けられている。しかし、別の態様において、コンピュータ２００は、ＨＭＤ１１０に内蔵されてもよい。一例として、表示部１１２を含む携帯型の情報通信端末（例えば、スマートフォン）がコンピュータ２００として機能してもよい。
【００４９】
また、コンピュータ２００は、複数のＨＭＤ１１０に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のユーザに同一の仮想空間を提供することもできるので、各ユーザは同一の仮想空間で他のユーザと同一のアプリケーションを楽しむことができる。
【００５０】
ある実施形態において、ＨＭＤシステム１００では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向及び水平方向の双方に直交する前後方向にそれぞれ平行な、３つの基準方向（軸）を有する。本実施形態では、グローバル座標系は視点座標系の１つである。そこで、グローバル座標系における水平方向、鉛直方向（上下方向）、及び前後方向は、それぞれ、ｘ軸、ｙ軸、ｚ軸として規定される。より具体的には、グローバル座標系において、ｘ軸は現実空間の水平方向に平行である。ｙ軸は、現実空間の鉛直方向に平行である。ｚ軸は現実空間の前後方向に平行である。
【００５１】
ある態様において、ＨＭＤセンサ１２０は、赤外線センサを含む。赤外線センサが、ＨＭＤ１１０の各光源から発せられた赤外線をそれぞれ検出すると、ＨＭＤ１１０の存在を検出する。ＨＭＤセンサ１２０は、さらに、各点の値（グローバル座標系における各座標値）に基づいて、ＨＭＤ１１０を装着したユーザ１９０の動きに応じた、現実空間内におけるＨＭＤ１１０の位置及び傾きを検出する。より詳しくは、ＨＭＤセンサ１２０は、経時的に検出された各値を用いて、ＨＭＤ１１０の位置及び傾きの時間的変化を検出できる。
【００５２】
グローバル座標系は現実空間の座標系と平行である。したがって、ＨＭＤセンサ１２０によって検出されたＨＭＤ１１０の各傾きは、グローバル座標系におけるＨＭＤ１１０の３軸周りの各傾きに相当する。ＨＭＤセンサ１２０は、グローバル座標系におけるＨＭＤ１１０の傾きに基づき、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。ＨＭＤ１１０に設定されるｕｖｗ視野座標系は、ＨＭＤ１１０を装着したユーザ１９０が仮想空間において物体を見る際の視点座標系に対応する。
【００５３】
図３を参照して、ｕｖｗ視野座標系について説明する。図３は、ある実施形態に従うＨＭＤ１１０に設定されるｕｖｗ視野座標系を概念的に表す図である。ＨＭＤセンサ１２０は、ＨＭＤ１１０の起動時に、グローバル座標系におけるＨＭＤ１１０の位置及び傾きを検出する。プロセッサ２０２は、検出された値に基づいて、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。
【００５４】
図３に示されるように、ＨＭＤ１１０は、ＨＭＤ１１０を装着したユーザの頭部を中心（原点）とした３次元のｕｖｗ視野座標系を設定する。より具体的には、ＨＭＤ１１０は、グローバル座標系を規定する水平方向、鉛直方向、及び前後方向（ｘ軸、ｙ軸、ｚ軸）を、グローバル座標系内においてＨＭＤ１１０の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる３つの方向を、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ方向（ｕ軸）、ヨー方向（ｖ軸）、及びロール方向（ｗ軸）として設定する。
【００５５】
ある態様において、ＨＭＤ１１０を装着したユーザ１９０が直立し、かつ、正面を視認している場合、プロセッサ２０２は、グローバル座標系に平行なｕｖｗ視野座標系をＨＭＤ１１０に設定する。この場合、グローバル座標系における水平方向（ｘ軸）、鉛直方向（ｙ軸）、及び前後方向（ｚ軸）は、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ方向（ｕ軸）、ヨー方向（ｖ軸）及びロール方向（ｗ軸）に一致する。
【００５６】
ｕｖｗ視野座標系がＨＭＤ１１０に設定された後、ＨＭＤセンサ１２０は、ＨＭＤ１１０の動きに基づいて、設定されたｕｖｗ視野座標系におけるＨＭＤ１１０の傾き（傾きの変化量）を検出できる。この場合、ＨＭＤセンサ１２０は、ＨＭＤ１１０の傾きとして、ｕｖｗ視野座標系におけるＨＭＤ１１０のピッチ角（θｕ）、ヨー角（θｖ）及びロール角（θｗ）をそれぞれ検出する。ピッチ角（θｕ）は、ｕｖｗ視野座標系におけるピッチ方向周りのＨＭＤ１１０の傾き角度を表す。ヨー角（θｖ）は、ｕｖｗ視野座標系におけるヨー方向周りのＨＭＤ１１０の傾き角度を表す。ロール角（θｗ）は、ｕｖｗ視野座標系におけるロール方向周りのＨＭＤ１１０の傾き角度を表す。
【００５７】
ＨＭＤセンサ１２０は、検出されたＨＭＤ１１０の傾き角度に基づいて、ＨＭＤ１１０が動いた後のＨＭＤ１１０におけるｕｖｗ視野座標系を、ＨＭＤ１１０に設定する。ＨＭＤ１１０と、ＨＭＤ１１０のｕｖｗ視野座標系との関係は、ＨＭＤ１１０の位置及び傾きに関わらず、常に一定である。ＨＭＤ１１０の位置及び傾きが変わると、当該位置及び傾きの変化に連動して、グローバル座標系におけるＨＭＤ１１０のｕｖｗ視野座標系の位置及び傾きが変化する。
【００５８】
ある態様において、ＨＭＤセンサ１２０は、赤外線センサからの出力に基づいて取得される赤外線の光強度及び複数の点間の相対的な位置関係（例えば、各点間の距離等）に基づいて、ＨＭＤ１１０の現実空間内における位置を、ＨＭＤセンサ１２０に対する相対位置として特定してもよい。また、プロセッサ２０２は、特定された相対位置に基づいて、現実空間内（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系の原点を決定してもよい。
【００５９】
図４を参照して、仮想空間についてさらに説明する。図４は、ある実施形態に従う仮想空間４００を表現する一態様を概念的に表す図である。仮想空間４００は、中心４０６の３６０度方向の全体を覆う全天球状の構造を有する。図４では、説明を複雑にしないために、仮想空間４００のうちの上半分の天球が例示されている。仮想空間４００では各メッシュが規定される。各メッシュの位置は、仮想空間４００に規定されるＸＹＺ座標系における座標値として予め規定されている。コンピュータ２００は、仮想空間４００に展開可能なコンテンツ（静止画、動画等）を構成する各部分画像を、仮想空間４００において対応する各メッシュにそれぞれ対応付けて、ユーザによって視認可能な仮想空間画像が展開される仮想空間４００をユーザに提供する。
【００６０】
ある態様において、仮想空間４００では、中心４０６を原点とするｘｙｚ座標系が規定される。ｘｙｚ座標系は、例えば、グローバル座標系に平行である。ｘｙｚ座標系は視点座標系の一種であるため、ｘｙｚ座標系における水平方向、鉛直方向（上下方向）及び前後方向は、それぞれｘ軸、ｙ軸及びｚ軸として規定される。したがって、ｘｙｚ座標系のｘ軸（水平方向）がグローバル座標系のｘ軸と平行であり、ｘｙｚ座標系のｙ軸（鉛直方向）がグローバル座標系のｙ軸と平行であり、ｘｙｚ座標系のｚ軸（前後方向）がグローバル座標系のｚ軸と平行である。
【００６１】
ＨＭＤ１１０の起動時、すなわちＨＭＤ１１０の初期状態において、仮想カメラ４０４が、仮想空間４００の中心４０６に配置される。ある態様において、プロセッサ２０２は、仮想カメラ４０４が撮影する画像をＨＭＤ１１０の表示部１１２に表示する。仮想カメラ４０４は、現実空間におけるＨＭＤ１１０の動きに連動して、仮想空間４００を同様に移動する。これにより、現実空間におけるＨＭＤ１１０の位置及び向きの変化が、仮想空間４００において同様に再現され得る。
【００６２】
ＨＭＤ１１０の場合と同様に、仮想カメラ４０４には、ｕｖｗ視野座標系が規定される。仮想空間４００における仮想カメラ４０４のｕｖｗ視野座標系は、現実空間（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系に連動するように規定される。したがって、ＨＭＤ１１０の傾きが変化すると、それに応じて、仮想カメラ４０４の傾きも変化する。また、仮想カメラ４０４は、ＨＭＤ１１０を装着したユーザの現実空間における移動に連動して、仮想空間４００において移動することもできる。
【００６３】
コンピュータ２００のプロセッサ２０２は、仮想カメラ４０４の配置位置と、基準視線４０８とに基づいて、仮想空間４００における視認領域４１０を規定する。視認領域４１０は、仮想空間４００のうち、ＨＭＤ１１０を装着したユーザが視認する領域に対応する。
【００６４】
注視センサ１４０によって検出されるユーザ１９０の視線は、ユーザ１９０が物体を視認する際の視点座標系における方向である。ＨＭＤ１１０のｕｖｗ視野座標系は、ユーザ１９０が表示部１１２を視認する際の視点座標系に等しい。また、仮想カメラ４０４のｕｖｗ視野座標系は、ＨＭＤ１１０のｕｖｗ視野座標系に連動している。したがって、ある態様に従うＨＭＤシステム１００は、注視センサ１４０によって検出されたユーザ１９０の視線を、仮想カメラ４０４のｕｖｗ視野座標系におけるユーザの視線とみなすことができる。
【００６５】
図５を参照して、ユーザの視線の決定について説明する。図５は、ある実施形態に従うＨＭＤ１１０を装着するユーザ１９０の頭部を上から表した図である。
【００６６】
ある態様において、注視センサ１４０は、ユーザ１９０の右目及び左目の各視線を検出する。ある態様において、ユーザ１９０が近くを見ている場合、注視センサ１４０は、視線Ｒ１及びＬ１を検出する。別の態様において、ユーザ１９０が遠くを見ている場合、注視センサ１４０は、視線Ｒ２及びＬ２を検出する。この場合、ロール方向ｗに対して視線Ｒ２及びＬ２がなす角度は、ロール方向ｗに対して視線Ｒ１及びＬ１がなす角度よりも小さい。注視センサ１４０は、検出結果をコンピュータ２００に送信する。
【００６７】
コンピュータ２００が、視線の検出結果として、視線Ｒ１及びＬ１の検出値を注視センサ１４０から受信した場合には、その検出値に基づいて、視線Ｒ１及びＬ１の交点である注視点Ｎ１を特定する。一方、コンピュータ２００は、視線Ｒ２及びＬ２の検出値を注視センサ１４０から受信した場合には、視線Ｒ２及びＬ２の交点を注視点として特定する。コンピュータ２００は、特定した注視点Ｎ１の位置に基づき、ユーザ１９０の視線Ｎ０を特定する。コンピュータ２００は、例えば、ユーザ１９０の右目Ｒと左目Ｌとを結ぶ直線の中点と、注視点Ｎ１とを通る直線の延びる方向を、視線Ｎ０として検出する。視線Ｎ０は、ユーザ１９０が両目により実際に視線を向けている方向である。また、視線Ｎ０は、視認領域４１０に対してユーザ１９０が実際に視線を向けている方向に相当する。
【００６８】
別の態様において、ＨＭＤシステム１００は、ＨＭＤシステム１００を構成するいずれかの部分に、マイク及びスピーカを備えてもよい。ユーザは、マイクに発話することにより、仮想空間４００に対して、音声による指示を与えることができる。
【００６９】
また、別の態様において、ＨＭＤシステム１００は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、ＨＭＤシステム１００は、仮想空間４００においてテレビ番組を表示することができる。
【００７０】
さらに別の態様において、ＨＭＤシステム１００は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
【００７１】
図６及び図７を参照して、視認領域４１０について説明する。図６は、仮想空間４００において視認領域４１０をｘ方向から見たｙｚ断面を表す図である。図７は、仮想空間４００において視認領域４１０をｙ方向から見たｘｚ断面を表す図である。
【００７２】
図６に示されるように、ｙｚ断面における視認領域４１０は、領域６０２を含む。領域６０２は、仮想カメラ４０４の配置位置と基準視線４０８と仮想空間４００のｙｚ断面とによって定義される。プロセッサ２０２は、仮想空間おける基準視線４０８を中心として極角αを含む範囲を、領域６０２として規定する。
【００７３】
図７に示されるように、ｘｚ断面における視認領域４１０は、領域７０２を含む。領域７０２は、仮想カメラ４０４の配置位置と基準視線４０８と仮想空間４００のｘｚ断面とによって定義される。プロセッサ２０２は、仮想空間４００における基準視線４０８を中心とした方位角βを含む範囲を、領域７０２として規定する。極角α及びβは、仮想カメラ４０４の配置位置と仮想カメラ４０４の向きとに応じて定まる。
【００７４】
ある態様において、ＨＭＤシステム１００は、コンピュータ２００からの信号に基づいて、視界画像を表示部１１２に表示させることにより、仮想空間における視界をユーザ１９０に提供する。視界画像は、仮想空間画像４０２のうち視認領域４１０に重畳する部分に相当する。ユーザ１９０が、頭に装着したＨＭＤ１１０を動かすと、その動きに連動して仮想カメラ４０４も動く。その結果、仮想空間４００における視認領域４１０の位置が変化する。これにより、表示部１１２に表示される視界画像は、仮想空間画像４０２のうち、仮想空間４００においてユーザが向いた方向の視認領域４１０に重畳する画像に更新される。ユーザは、仮想空間４００における所望の方向を視認することができる。
【００７５】
このように、仮想カメラ４０４の向き（傾き）は仮想空間４００におけるユーザの視線（基準視線４０８）に相当し、仮想カメラ４０４が配置される位置は、仮想空間４００におけるユーザの視点に相当する。したがって、仮想カメラ４０４を移動（配置位置を変える動作、向きを変える動作を含む）させることにより、表示部１１２に表示される画像が更新され、ユーザ１９０の視界（視点、視線を含む）が移動される。
【００７６】
ユーザ１９０は、ＨＭＤ１１０を装着している間、現実世界を視認することなく、仮想空間４００に展開される仮想空間画像４０２のみを視認できる。そのため、ＨＭＤシステム１００は、仮想空間４００への高い没入感覚をユーザに与えることができる。
【００７７】
ある態様において、プロセッサ２０２は、ＨＭＤ１１０を装着したユーザ１９０の現実空間における移動に連動して、仮想空間４００において仮想カメラ４０４を移動し得る。この場合、プロセッサ２０２は、仮想空間４００における仮想カメラ４０４の位置及び向きに基づいて、ＨＭＤ１１０の表示部１１２に投影される画像領域（すなわち、仮想空間４００における視認領域４１０）を特定する。
【００７８】
ある実施形態に従うと、仮想カメラ４０４は、２つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含んでもよい。また、ユーザ１９０が３次元の仮想空間４００を認識できるように、適切な視差が、２つの仮想カメラに設定されてもよい。
【００７９】
図８を参照して、コントローラ１６０の一例について説明する。図８は、ある実施形態に従うコントローラ１６０の概略構成を表す図である。
【００８０】
ある態様において、コントローラ１６０は、右コントローラと左コントローラとを含み得る。説明を簡単にするために、図８には右コントローラ８００のみが示される。右コントローラ８００は、ユーザ１９０の右手で操作される。左コントローラは、ユーザ１９０の左手で操作される。ある態様において、右コントローラ８００と左コントローラとは、別個の装置として対称に構成される。したがって、ユーザ１９０は、右コントローラ８００を把持した右手と、左コントローラを把持した左手とをそれぞれ自由に動かすことができる。別の態様において、コントローラ１６０は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ８００について説明する。
【００８１】
右コントローラ８００は、グリップ８０２と、フレーム８０４と、天面８０６とを備える。グリップ８０２は、ユーザ１９０の右手によって把持されるように構成されている。例えば、グリップ８０２は、ユーザ１９０の右手の掌と３本の指（中指、薬指、小指）とによって保持され得る。
【００８２】
グリップ８０２は、ボタン８０８及び８１０と、モーションセンサ１３０とを含む。ボタン８０８は、グリップ８０２の側面に配置され、右手の中指による操作を受け付ける。ボタン８１０は、グリップ８０２の前面に配置され、右手の人差し指による操作を受け付ける。ある態様において、ボタン８０８、８１０は、トリガー式のボタンとして構成される。モーションセンサ１３０は、グリップ８０２の筐体に内蔵されている。なお、ユーザ１９０の動作がカメラその他の装置によってユーザ１９０の周りから検出可能である場合には、グリップ８０２は、モーションセンサ１３０を備えなくてもよい。
【００８３】
フレーム８０４は、その円周方向に沿って配置された複数の赤外線ＬＥＤ８１２を含む。赤外線ＬＥＤ８１２は、コントローラ１６０を使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線ＬＥＤ８１２から発せられた赤外線は、右コントローラ８００と左コントローラ（図示しない）との各位置や姿勢（傾き、向き）を検出するために使用され得る。図８に示される例では、２列に配置された赤外線ＬＥＤ８１２が示されているが、配列の数は図８に示されるものに限られない。１列あるいは３列以上の配列が使用されてもよい。
【００８４】
天面８０６は、ボタン８１４及び８１６と、アナログスティック８１８とを備える。ボタン８１４及び８１６は、プッシュ式ボタンとして構成される。ボタン８１４及び８１６は、ユーザ１９０の右手の親指による操作を受け付ける。アナログスティック８１８は、ある態様において、初期位置（ニュートラルの位置）から３６０度任意の方向への操作を受け付ける。当該操作は、例えば、仮想空間４００に配置されるオブジェクトを移動するための操作を含む。
【００８５】
ある態様において、右コントローラ８００及び左コントローラは、赤外線ＬＥＤ８１２等の部材を駆動するための電池を含む。電池は、１次電池及び２次電池のいずれであってもよく、その形状は、ボタン型、乾電池型等任意であり得る。別の態様において、右コントローラ８００と左コントローラは、例えば、コンピュータ２００のＵＳＢインターフェースに接続され得る。この場合、右コントローラ８００及び左コントローラは、ＵＳＢインターフェースを介して電力を供給され得る。
【００８６】
図９は、本開示の一実施形態による、ＨＭＤシステム１００における仮想空間４００の表示処理等を実現するための、コンピュータ２００の機能を示すブロック図である。コンピュータ２００は、主にＨＭＤセンサ１２０、モーションセンサ１３０、注視センサ１４０、コントローラ１６０からの入力に基づいて、表示部１１２への画像出力を制御する。
【００８７】
コンピュータ２００は、プロセッサ２０２と、メモリ２０４と、通信制御部２０５とを備える。プロセッサ２０２は、仮想空間特定部９０２と、ＨＭＤ動作検知部９０３と、視線検知部９０４と、基準視線決定部９０６と、視界領域決定部９０８と、仮想視点特定部９１０と、視界画像生成部９１２と、オブジェクト制御部９１４と、仮想視点切替部９１６と、視界画像出力部９２６とを含み得る。メモリ２０４は様々な情報を格納するように構成され得る。一例では、メモリ２０４は、仮想空間データ９２８、オブジェクトデータ９３０、アプリケーションデータ９３２、その他のデータ９３４を含んでもよい。メモリ２０４はまた、ＨＭＤセンサ１２０、モーションセンサ１３０、注視センサ１４０、コントローラ１６０等からの入力に対応した出力情報を、ＨＭＤ１１０に関連付けられる表示部１１２へ提供するための演算に必要な各種データを含んでもよい。オブジェクトデータ９３０は、仮想空間内に配置される操作オブジェクト、仮想オブジェクト等に関するデータを含んでもよい。表示部１１２は、ＨＭＤ１１０に内蔵されてもよいし、ＨＭＤ１１０に取り付け可能な別のデバイス（例えば、スマートフォン）のディスプレイであってもよい。
【００８８】
図９においてプロセッサ２０２内に含まれるコンポーネントは、プロセッサ２０２が実行する機能を具体的なモジュールとして表現する１つの例にすぎない。複数のコンポーネントの機能が単一のコンポーネントによって実現されてもよい。プロセッサ２０２がすべてのコンポーネントの機能を実行するように構成されてもよい。
【００８９】
図１０は、ユーザが没入する仮想空間の画像を表示部１１２に表示するための一般的な処理のフロー図である。
【００９０】
図９及び図１０を参照して、仮想空間の画像を提供するためのＨＭＤシステム１００の一般的な処理を説明する。仮想空間４００は、ＨＭＤセンサ１２０、注視センサ１４０及びコンピュータ２００等の相互作用によって提供され得る。
【００９１】
処理はステップ１００２において開始する。一例として、アプリケーションデータに含まれるゲームアプリケーションがコンピュータ２００によって実行されてもよい。ステップ１００４において、プロセッサ２０２（仮想空間特定部９０２）は、仮想空間データ９２８を参照するなどして、ユーザが没入する仮想空間４００を構成する天球状の仮想空間画像４０２を生成する。ＨＭＤセンサ１２０によってＨＭＤ１１０の位置や傾きが検知される。ＨＭＤセンサ１２０によって検知された情報はコンピュータ２００に送信される。ステップ１００６において、ＨＭＤ動作検知部９０３は、ＨＭＤ１１０の位置情報や傾き情報を取得する。ステップ１００８において、取得された位置情報及び傾き情報に基づいて視界方向が決定される。
【００９２】
注視センサ１４０がユーザの左右の目の眼球の動きを検出すると、当該情報がコンピュータ２００に送信される。ステップ１０１０において、視線検知部９０４は、右目及び左目の視線が向けられる方向を特定し、視線方向Ｎ０を決定する。ステップ１０１２において、基準視線決定部９０６は、ＨＭＤ１１０の傾きにより決定された視界方向又はユーザの視線方向Ｎ０を基準視線４０８として決定する。基準視線４０８はまた、ＨＭＤ１１０の位置や傾きに追随する仮想カメラ４０４の位置及び傾きに基づいて決定されてもよい。
【００９３】
ステップ１０１４において、視界領域決定部９０８は、仮想空間４００における仮想カメラ４０４の視界領域４１０を決定する。図４に示すように、視界領域４１０は、仮想空間画像４０２のうちユーザの視界を構成する部分である。視界領域４１０は基準視線４０８に基づいて決定される。視界領域４１０をｘ方向から見たｙｚ断面図及び視界領域４１０をｙ方向から見たｘｚ断面図は、既に説明した図６及び図７にそれぞれ示されている。
【００９４】
ステップ１０１６において、視界画像生成部９１２は、視界領域４１０に基づいて視界画像を生成する。視界画像は、右目用と左目用の２つの２次元画像を含む。これらの２次元画像が表示部１１２に重畳される（より具体的には、右目用画像が右目用表示部に出力され、左目用画像が左目用表示部に出力される）ことにより、３次元画像としての仮想空間４００がユーザに提供される。ステップ１０１８において、視界画像出力部９２６は、視界画像に関する情報を表示部１１２に出力する。表示部１１２は、受信した視界画像の情報に基づいて、当該視界画像を表示する。処理はステップ１０２０において終了する。
【００９５】
図１１は、本開示の一実施形態による方法１１００のフローチャートである。本開示の一実施形態において、コンピュータプログラムが、図１１に示される各ステップをプロセッサ２０２（又はコンピュータ２００）に実行させてもよい。また、本開示の別の実施形態は、方法１１００を実行するプロセッサ２０２（又はコンピュータ２００）として実施することができる。
【００９６】
以下、本開示の実施形態について具体的に説明する。ここでは、本開示の実施形態を適用することができる具体例として、複数のユーザが、各ユーザのアバター、ゲームフィールド、当該ゲームフィールド内で行動する各ユーザのユニット等が配置された仮想空間に没入して楽しむことができるゲームを想定する。しかし、本開示の実施形態は、必ずしもこのような態様に限定されない。本開示の実施形態が、特許請求の範囲において規定される範囲に含まれる様々な態様を取り得ることは、当業者にとって明らかであろう。
【００９７】
図１２は、本実施形態において想定されるゲームの態様を概略的に説明する図である。この例では、２人のユーザ１２１２Ａ及び１２１２Ｂ（以下、まとめて「ユーザ１２１２」とも呼ぶ）が当該ゲームをプレイする。ユーザ１２１２Ａ及び１２１２Ｂは、それぞれ、ＨＭＤ１１０Ａ及び１１０Ｂ（以下、まとめて「ＨＭＤ１１０」とも呼ぶ）を頭部に装着し、さらにコントローラ１６０Ａ及び１６０Ｂ（以下、まとめて「コントローラ１６０」とも呼ぶ）を装着する。一例では、コントローラ１６０は、図８に関して上述した構成を有する。この場合、各ユーザは当該コントローラを両手に装着する。但し、これはコントローラ１６０の例にすぎない。ユーザの身体の他の部分に装着可能な様々な態様のコントローラを本開示の実施形態に適用することができる。
【００９８】
仮想空間１２００内には、ユーザ１２１２Ａ及び１２１２Ｂのそれぞれによって操作されるアバター１２１４Ａ及び１２１４Ｂ（以下、まとめて「アバター１２１４」とも呼ぶ）並びにゲームフィールド１２２２が配置される。ゲームフィールド１２２２上には、ユーザ１２１２Ａ及び１２１２Ｂの各々が有するユニット１２１６Ａ及び１２１６Ｂ（以下、まとめて「ユニット１２１６」とも呼ぶ）、基地１２２４Ａ及び１２２４Ｂ（以下、まとめて「基地１２２４」とも呼ぶ）等が配置される。ユニット１２１６は、各ユーザ１２１２が操作することによってゲームフィールド１２２２上を移動することが可能なゲームキャラクタ（第１オブジェクト）である。ゲームのプレイ中、ユーザ１２１２は、自分のユニット１２１６が相手ユーザの基地１２２４に到達することができるように、様々な操作を行う。
【００９９】
ユーザ１２１２は、アバター１２１４を介して、仮想空間１２００内のゲームフィールド１２２２上で行われるゲームを楽しむことができる。アバター１２１４Ａ及び１２１４Ｂは、それぞれ、操作オブジェクト１２２０Ａ及び１２２０Ｂ（以下、まとめて「操作オブジェクト１２２０」とも呼ぶ）を有する。基本的に、操作オブジェクト１２２０は、コントローラ１６０が装着されたユーザ１２１２の身体の一部に対応する、アバター１２１４の身体の一部である。例えば、操作オブジェクト１２２０は、アバター１２１４の手である。これは操作オブジェクト１２２０の一例にすぎない。操作オブジェクト１２２０は、アバター１２１４の身体の別の部分であってもよい。例えば、コントローラ１６０が、ユーザ１２１２の足に装着されるように構成される場合、操作オブジェクト１２２０はアバター１２１４の足であってもよい。
【０１００】
図１２に示されるように、アバター１２１４Ａ及び１２１４Ｂの位置にそれぞれ仮想カメラ１２０４Ａ１及び１２０４Ｂ１（以下、まとめて「仮想カメラ１２０４−１」とも呼ぶ）が配置されてもよい。また、ユニット１２１６Ａ及び１２１６Ｂの位置にそれぞれ仮想カメラ１２０４Ａ２及び１２０４Ｂ２（以下、まとめて「仮想カメラ１２０４−２」とも呼ぶ）が配置されてもよい。仮想カメラ１２０４−１は、アバター１２１４の視点（第１視点）から仮想空間１２００を捉え、仮想カメラ１２０４−２は、ユニット１２１６の視点（第２視点）から仮想空間１２００を捉える。仮想カメラ１２０４−１からのアバター１２１４の視点は、仮想空間１２００内のゲームフィールド１２２２を俯瞰する視点である。例えば、仮想カメラ１２０４Ａ１が捉えるアバター１２１４Ａの視点（第１視点）からの視界画像には、ユーザ１２１２Ａが操作可能なゲームフィールド１２２２上のユニット１２１６Ａ（第１オブジェクト）が含まれ、仮想カメラ１２０４Ｂ１が捉えるアバター１２１４Ｂの視点（第１視点）からの視界画像には、ユーザ１２１２Ｂが操作可能なゲームフィールド１２２２上のユニット１２１６Ｂ（第１オブジェクト）が含まれる。一方、仮想カメラ１２０４−２からの視点は、ゲームフィールド１２２２上のユニット１２１６（第１オブジェクト）に関連付けられている。例えば、仮想カメラ１２０４Ａ２が捉えるユニット１２１６Ａの視点（第２視点）からの視界画像には、相手ユーザのユニットであるユニット１２１６Ｂが含まれ、仮想カメラ１２０４Ｂ２が捉えるユニット１２１６Ｂの視点（第２視点）からの視界画像には、相手ユーザのユニットであるユニット１２１６Ａが含まれる。更に、仮想カメラ１２０４−２によるユニット１２１６の視点（第２視点）からの視界画像には、例えば、当該ユニット１２１６（第１オブジェクト）が手に持つことができる後述の装備アイテム（第２オブジェクト）が含まれる。一例として、ユニット１２１６が把持可能な装備アイテムは、ゲーム内でユニット１２１６が使用することが可能な銃などの武器であってよい。ユーザ１２１２は、仮想カメラ１２０４−１により（アバター１２１４の視点から）得られた仮想空間１２００の映像を見ることができるだけでなく、仮想カメラ１２０４−２により（ユニット１２１６の視点から）得られた仮想空間１２００の映像を見ることもできる。ユーザ１２１２はまた、仮想空間１２００の映像を、仮想カメラ１２０４−１で捉えたアバター１２１４の視点（第１視点）と仮想カメラ１２０４−２で捉えたユニット１２１６の視点（第２視点）との間で相互に切り替えることもできる。
【０１０１】
図１１に戻り、処理はステップ１１０２において開始する。プロセッサ２０２は、メモリ２０４に格納されているアプリケーションデータ９３２に含まれるゲームプログラムを読み出して実行する。
【０１０２】
処理はステップ１１０４に進み、仮想空間特定部９０２は、仮想空間データ９２８、オブジェクトデータ９３０等に基づいて、実行されたゲームのための仮想空間データを特定する。当該仮想空間データは、ユーザ１２１２の身体の一部（例えば、手）に関連付けられる操作オブジェクト１２２０及び少なくとも１つの仮想オブジェクトを含む仮想空間を規定する。仮想オブジェクトは、ユーザ１２１２がゲーム内で使用するカードオブジェクト（後述）のほか、仮想空間１２００内に存在する椅子、棚、ランプなどの様々なオブジェクト（図示せず）を含み得る。
【０１０３】
処理はステップ１１０６に進み、仮想視点特定部９１０は、仮想空間１２００における仮想視点を特定する。図１２を参照すると、例えば、ゲームの開始直後において、ユーザ１２１２は、アバター１２１４としてゲームに参加する。前述したように、ユーザ１２１２は、アバター１２１４を仮想空間１２００内で動き回らせることもできる。仮想視点特定部９１０は、仮想空間１２００内におけるアバター１２１４に関連付けられた仮想カメラ１２０４−１の現在位置を、仮想視点として特定する。
【０１０４】
処理はステップ１１０８に進み、視界画像生成部９１２は、仮想空間データと、仮想視点と、ＨＭＤの向きとに基づいて、視界画像を生成する。視界画像は、例えば、図１０に関連して既に説明された処理によって生成される。生成された視界画像は、視界画像出力部９２６によって、ＨＭＤ１１０に関連付けられる表示部１１２に出力され、表示部１１２によって表示される。ＨＭＤ１１０を装着したユーザ１２１２は、表示部１１２に表示された当該視界画像を見ることができる。例えば、表示部１１２に表示される視界画像は、アバター１２１４の視点（第１視点）から仮想空間１２００を見た画像である。
【０１０５】
図１３は、ステップ１１０８の処理により生成される、アバター１２１４の視点（第１視点）からの視界画像の例を示す。この例においては、アバター１２１４Ａに関連付けられる仮想カメラ１２０４Ａ１が仮想視点として設定されている。図示されるように、仮想カメラ１２０４Ａ１により取得されたアバター１２１４Ａの第１視点からの視界画像１３００は、ユーザ１２１２Ａのアバター１２１４Ａの操作オブジェクト（ここでは、手）１２２０Ａ、相手ユーザ１２１２Ｂのアバター１２１４Ｂ、ゲームフィールド１２２２、ゲームフィールド１２２２上に配置されたユーザ１２１２Ａのユニット１２１６Ａ（第１オブジェクト）及び相手ユーザ１２１２Ｂのユニット１２１６Ｂ、基地１２２４Ａ及び１２２４Ｂ、壁１３０４、ユーザ１２１２Ａがゲーム内で使用できるユニットを表すカードオブジェクト１３０２−１及び１３０２−２、ゲーム内でユニットに装備させることが可能な装備アイテムを表すカードオブジェクト１３０２−３等を含んでいる。この例では、操作オブジェクト１２２０Ａは、左手オブジェクト１２２０Ａ１及び右手オブジェクト１２２０Ａ２を含む。ユーザ１２１２Ａは、自分が仮想空間１２００内に入り込んでゲームフィールド１２２２上で行われるゲームに参加しているかのような没入感を得ることができる。
【０１０６】
処理はステップ１１１０に進み、オブジェクト制御部９１４は、ユーザ１２１２Ａの身体の一部の動きに応じて、操作オブジェクト１２２０Ａを動かす。視界画像生成部９１２は、操作オブジェクト１２２０Ａの動きに応じた視界画像を生成し、視界画像出力部９２６は、視界画像生成部９１２によって生成された視界画像を表示部１１２に出力する。このように、ユーザ１２１２Ａは、ユーザ１２１２Ａの身体の一部（例えば手）を動かすことにより、仮想空間１２００内で行われるゲームをプレイするアバター１２１４Ａの視点（第１視点）において、アバター１２１４Ａの操作オブジェクト（例えば手）１２２０Ａを自由に動かすことができる。
【０１０７】
なお、本実施形態において、ユーザの身体の一部の「動き」とは、当該身体の一部の静止状態での位置、向き、動いている状態での動きの方向、動きの距離等の様々な概念を含み得る。
【０１０８】
処理はステップ１１１２に進み、オブジェクト制御部９１４は、操作オブジェクト１２２０Ａによって、アバター１２１４Ａの視点（第１視点）の視界画像に含まれているカードオブジェクト１３０２−１、１３０２−２、１３０２−３のうち、ユニットを表す１枚のカードオブジェクトが選択されてゲームフィールド１２２２の上へ移動されたか否かを判定する。例えば、オブジェクト制御部９１４は、操作オブジェクト１２２０Ａがある特定の１枚のカードオブジェクトから所定距離の範囲内に入ったとき、当該カードオブジェクトが選択されたと判定してもよい。また例えば、オブジェクト制御部９１４は、選択されたカードオブジェクトが操作オブジェクト１２２０Ａによってドラッグされた際のドラッグ先の位置に基づいて、当該カードオブジェクトがゲームフィールド１２２２へ移動したことを判定してもよい。カードオブジェクトの選択及び移動の判定を様々な方法で行うことができることは、当業者にとって明らかであろう。
【０１０９】
図１４は、ステップ１１１２においてユニットを表すカードオブジェクトが選択されたときに表示部１１２に表示される視界画像の例を示す。ユーザ１２１２Ａが、視界画像内の左手オブジェクト１２２０Ａ１が３枚のカードオブジェクトのうちのユニットを表す１枚のカードオブジェクト１３０２−２に重なるように左手を動かすと、モーションセンサ１３０はこの動きを検知する。オブジェクト制御部９１４は、検知された動きに基づいて、図１４に示されるように、左手オブジェクト１２２０Ａ１によってカードオブジェクト１３０２−２を掴ませる。結果として、視界画像１４００が表示部１１２に表示される。
【０１１０】
図１５は、ステップ１１１２においてカードオブジェクトがゲームフィールド１２２２へ移動したときに、図１４の視界画像に引き続いて表示部１１２に表示される視界画像の例を示す。ユーザ１２１２Ａが左手を右斜め前方に動かすと、モーションセンサ１３０はこの動きを検知する。オブジェクト制御部９１４は、検知された動きに基づいて、図１４において矢印で示されるように左手オブジェクト１２２０Ａ１及び選択されたカードオブジェクト１３０２−２を動かす。結果として、図１５に示す視界画像１５００が生成され、表示部１１２に表示される。
【０１１１】
図１１に戻り、ステップ１１１２においてユニットを表すカードオブジェクトがゲームフィールド１２２２へ移動されると（ステップ１１１２の「Ｙ」）、処理はステップ１１１４に進む。ステップ１１１４において、オブジェクト制御部９１４は、ゲームフィールド１２２２へ移動されたカードオブジェクトに対応する新しい追加のユニットをゲームフィールド１２２２に配置する。視界画像生成部９１２は、追加されたユニットを含む視界画像を生成し、視界画像出力部９２６は、視界画像生成部９１２によって生成された視界画像を表示部１１２に出力する。このようにして、ユーザ１２１２Ａは、アバター１２１４Ａの操作オブジェクト１２２０Ａを操作することにより、自分が所有しているカードオブジェクトの中から選択したユニットをゲームフィールド１２２２に追加で配置することができる。
【０１１２】
図１６は、ステップ１１１４において追加のユニットがゲームフィールド１２２２に配置されたときに、図１５の視界画像に引き続いて表示部１１２に表示される視界画像１６００の例を示す。例えば、ユーザ１２１２Ａは、コントローラ１６０のトリガーボタン８１０を押しながら、カードオブジェクト１３０２−２をゲームフィールド１２２２へドラッグする。ユーザ１２１２Ａがコントローラ１６０のトリガーボタン８１０を離すと、オブジェクト制御部９１４は、ドラッグされたカードオブジェクト１３０２−２に対応する追加のユニット１２１６Ｃをゲームフィールド１２２２上に新しく配置する。追加のユニット１２１６Ｃのゲームフィールド１２２２への配置位置は、例えば、ユーザ１２１２Ａがトリガーボタン８１０を離した瞬間にアバター１２１４Ａの操作オブジェクト１２２０Ａ（カードオブジェクト１３０２−２を掴んでいた左手オブジェクト１２２０Ａ１）が指し示しているゲームフィールド１２２２上の位置であってもよいし、あるいは、予め定められたゲームフィールド１２２２上のデフォルト位置であってもよい。
【０１１３】
ステップ１１１４に続いて、処理はステップ１１１６へ進む。ステップ１１１６において、仮想視点切替部９１６は、表示部１１２に表示する視界画像を、アバター１２１４Ａの視点である第１視点による視界画像から、ステップ１１１４でゲームフィールド１２２２に追加で配置したユニット１２１６Ｃの視点である第２視点による視界画像へ切り替えるか否かを判定する。例えば、仮想視点切替部９１６は、追加のユニット１２１６Ｃがゲームフィールド１２２２に配置された際に、第１視点から第２視点への視界画像の切り替えを行うべきかどうかをユーザ１２１２Ａに問い合わせるポップアップ画像を表示部１１２に表示し、これに対するユーザ１２１２Ａからのコントローラ１６０を介した応答に基づいて、視界画像の視点を切り替えるか否かを判定してもよい。あるいは、仮想視点切替部９１６は、ユーザ１２１２Ａがステップ１１１４においてコントローラ１６０の所定のボタン（例えばプッシュボタン８１４）を押しながらユニット１２１６Ｃをゲームフィールド１２２２に配置した場合に、視界画像の視点を切り替えると判定してもよい。更にまた、仮想視点切替部９１６は、ゲームフィールド１２２２にユニット１２１６Ｃが配置されると無条件に視界画像の視点を切り替えてもよい。視界画像をアバター１２１４Ａの第１視点からゲームフィールド１２２２上に追加されたユニット１２１６Ｃの第２視点へ切り替えると判定された場合、処理はステップ１１２２へ進み、そうでない場合、処理はステップ１１１８へ進む。
【０１１４】
ステップ１１１２においてユニットを表すカードオブジェクトの選択とゲームフィールド１２２２への移動が行われなかった場合、及びステップ１１１６において視界画像の第１視点から第２視点への切り替えを行うとの判定がなされなかった場合には、ステップ１１１８が実行される。ステップ１１１８において、オブジェクト制御部９１４は、ゲームフィールド１２２２上に現在配置されている各ユニット（例えばユニット１２１６Ａ、ユニット１２１６Ｂ、及びユニット１２１６Ｃ）を、所定の移動アルゴリズムに従って自動的に移動させる制御を行う。例えば、オブジェクト制御部９１４は、ユーザ１２１２Ａのユニット１２１６Ａ及び１２１６Ｃを、相手ユーザ１２１２Ｂの基地１２２４Ｂを目指して移動するよう制御し、ユーザ１２１２Ｂのユニット１２１６Ｂを、相手ユーザ１２１２Ａの基地１２２４Ａを目指して移動するよう制御する。また、オブジェクト制御部９１４は、ゲームフィールド１２２２上でユーザ同士のユニット（例えばユーザ１２１２Ａのユニット１２１６Ａとユーザ１２１２Ｂのユニット１２１６Ｂ）が出会った場合に、それらのユニットに相手ユニットへの攻撃や、攻撃に対する防御を行わせてもよい。
【０１１５】
ステップ１１１８に続いて、処理はステップ１１２０に進む。ステップ１１２０において、仮想視点切替部９１６は、操作オブジェクト１２２０Ａによって、ゲームフィールド１２２２上に既に配置されているユーザ１２１２Ａのいずれかのユニット１２１６（第１オブジェクト）が選択されたか否かを判定する。この選択は、視界画像をアバター１２１４Ａの視点である第１視点からゲームフィールド１２２２上のユニット１２１６の視点である第２視点へ切り替えようとするユーザ１２１２Ａの意図を表す。例えば、ユーザ１２１２Ａは、図１６に例示されるアバター１２１４Ａの視点（第１視点）からの視界画像１６００において、コントローラ１６０を動かすことによって操作オブジェクト１２２０Ａをゲームフィールド１２２２上の１つのユニット１２１６Ａに重ね合わせて、コントローラ１６０の所定のボタン（例えばトリガーボタン８１０）を押す。この例において、仮想視点切替部９１６は、操作オブジェクト１２２０Ａの位置及びコントローラ１６０の所定のボタンが押されたか否かに基づいて、ゲームフィールド１２２２上のユニット１２１６Ａが選択されたことを判定する。ユニット１２１６を選択するための任意の方法が用いられてよい。別の例として、仮想視点切替部９１６は、左手オブジェクト１２２０Ａ１又は右手オブジェクト１２２０Ａ２の（例えば）人差し指が示す延長線上に存在するユニット１２１６を、操作オブジェクト１２２０Ａにより選択されたユニットと判定してもよい。あるいはまた、仮想視点切替部９１６は、現在ゲームフィールド１２２２上に配置されているユニット１２１６を示すリストをポップアップ画像としてユーザ１２１２Ａに提示し、リスト中のユニットから所望のユニットを選択する操作をユーザ１２１２Ａに行わせてもよい。
【０１１６】
ステップ１１１６において視界画像をゲームフィールド１２２２に新しく追加されたユニット１２１６Ｃの第２視点へ切り替えることが判定された場合、及びステップ１１２０において視界画像を第２視点へ切り替えるためにゲームフィールド１２２２上のいずれかのユニット１２１６が選択された場合は、処理はステップ１１２２に進む。ステップ１１２２において、仮想視点切替部９１６は、表示部１１２に表示する視界画像を、アバター１２１４Ａの視点である第１視点から、ステップ１１１４でゲームフィールド１２２２に追加されたユニット１２１６Ｃの視点である第２視点、又はステップ１１２０で選択されたユニット１２１６の視点である第２視点へ切り替える。視界画像を第２視点へ切り替えるために、仮想視点特定部９１０は、例えば、ステップ１１２０で選択されたユニット１２１６Ａに関連付けられた仮想カメラ１２０４Ａ２の現在位置を、仮想視点として特定する。次いで、視界画像生成部９１２は、仮想空間データと、仮想カメラ１２０４Ａ２の現在位置を表す仮想視点と、ＨＭＤの向きとに基づいて、ゲームフィールド１２２２上のユニット１２１６Ａの第２視点による視界画像を生成する。生成された第２視点の視界画像は、視界画像出力部９２６によって、ＨＭＤ１１０に関連付けられる表示部１１２に出力され、表示部１１２によって表示される。これにより、ＨＭＤ１１０を装着したユーザ１２１２は、ゲームフィールド１２２２上のユニット１２１６Ａの第２視点から仮想空間１２００を捉えた視界画像を見ることができる。
【０１１７】
図１７は、ステップ１１２２の処理により生成される、ゲームフィールド１２２２上のユニット１２１６の視点（第２視点）による視界画像の例を示す。この例においては、ユニット１２１６Ａに関連付けられる仮想カメラ１２０４Ａ２が仮想視点として設定されている。図示されるように、仮想カメラ１２０４Ａ２が捉えるユニット１２１６Ａの第２視点からの視界画像１７００は、ユーザ１２１２Ａのユニット１２１６Ａの手として表現されたユニット１２１６Ａの操作オブジェクト１２２５Ａ、相手ユーザ１２１２Ｂのアバター１２１４Ｂ、ゲームフィールド１２２２、相手ユーザ１２１２Ｂのユニット１２１６Ｂ、相手ユーザ１２１２Ｂの基地１２２４Ｂ、壁１３０４等を含んでいる。操作オブジェクト１２２５Ａは、左手オブジェクト１２２５Ａ１及び右手オブジェクト１２２５Ａ２を含む。ユーザ１２１２Ａは、ゲームフィールド１２２２上を行動するユニット１２１６Ａの目線でゲームを体感することができる。
【０１１８】
ステップ１１２２に続いて、処理はステップ１１２４に進む。ステップ１１２４において、オブジェクト制御部９１４は、ユニット１２１６Ａの視点（第２視点）からの視界画像において、当該ユニット１２１６Ａ（第１オブジェクト）の操作オブジェクト１２２５Ａに所定の装備アイテム（第２オブジェクト）を関連付ける。装備アイテムは、ゲーム内でユニット１２１６Ａが装備し使用することができる様々なアイテムを含む。一例として、装備アイテムは、ユニット１２１６Ａがゲームフィールド１２２２上で行動する際に使用可能な銃などの武器であってよいが、これには限定されないことに留意されたい。操作オブジェクト１２２５Ａへの装備アイテムの関連付けは、様々な方法により行われることができる。例えば、オブジェクト制御部９１４は、ユニット１２１６Ａの第２視点からの視界画像において、ユニット１２１６Ａの手（操作オブジェクト１２２５Ａ）に装備アイテムとしての銃を把持させる。あるいはまた、装備アイテムはゲーム内の特殊能力や特殊効果（例えば魔法など）に関連するアイテムであってもよく、オブジェクト制御部９１４は、装備アイテムとしてのそのような特殊能力や特殊効果をユニット１２１６Ａの手（操作オブジェクト１２２５Ａ）に付与することにより、ユニット１２１６Ａを能力アップさせるのであってもよい。
【０１１９】
一実施形態において、オブジェクト制御部９１４は、ユニット１２１６Ａ（第１オブジェクト）に予め関連付けられている装備アイテム（第２オブジェクト）を、ユニット１２１６Ａの操作オブジェクト１２２５Ａに関連付ける。例えば、各ユニット１２１６がゲーム内でそれぞれ使用する固有の装備アイテムが、予め定義されていてもよい。一例として、各ユニット１２１６には、当該ユニットの属性（例えばレアリティ）に応じた属性（例えば攻撃力）を有する固有の装備アイテムが、予め割り当てられていてもよい。オブジェクト制御部９１４は、当該ユニット１２１６に対して予め定義されている固有の装備アイテムを、そのユニット１２１６の操作オブジェクトに関連付ける。あるいはまた、ユーザ１２１２Ａが、図１３に例示されるアバター１２１４Ａの第１視点において、ユニットを表すカードオブジェクト１３０２−１又は１３０２−２に装備アイテムを表すカードオブジェクト１３０２−３を予め関連付けておくのであってもよい。例えば、ユーザ１２１２Ａがカードオブジェクト１３０２−２とカードオブジェクト１３０２−３を関連付けた場合、オブジェクト制御部９１４は、視界画像がアバター１２１４Ａの第１視点からカードオブジェクト１３０２−２に対応するユニット１２１６Ｃの第２視点に切り替わった際に、ユニット１２１６Ｃの操作オブジェクトにカードオブジェクト１３０２−３に対応する装備アイテムを関連付ける。
【０１２０】
図１８は、ステップ１１２４の処理により生成されるユニット１２１６Ａの第２視点による視界画像１８００の例を示す。図１８の視界画像１８００は、図１７の視界画像１７００に引き続いて表示部１１２に表示される。図示されるように、ユニット１２１６Ａの第２視点からの視界画像１８００において、ユニット１２１６Ａの右手オブジェクト１２２５Ａ２（操作オブジェクト１２２５Ａ）は装備アイテム（第２オブジェクト）１８１０を把持する。装備アイテム１８１０は、例示的に、ユニット１２１６Ａがゲーム内で使用できる銃として描かれている。ユニット１２１６Ａ（第１オブジェクト）の操作オブジェクト１２２５Ａと装備アイテム（第２オブジェクト）１８１０との関連付け（例えばユニットの右手に銃を持たせること）が自動的に行われることにより、ユーザ１２１２Ａは、視点をアバター１２１４Ａの第１視点からユニット１２１６Ａの第２視点に切り替えた時に、直ぐに装備アイテム１８１０の使用を開始してゲームを進めることができる。
【０１２１】
ステップ１１２４に続いて、処理はステップ１１２６に進む。ステップ１１２６において、オブジェクト制御部９１４は、ユーザ１２１２Ａの身体の一部の動きに応じて、第２視点におけるユニット１２１６Ａの操作オブジェクト１２２５Ａ及び操作オブジェクト１２２５Ａに関連付けられた装備アイテム１８１０を制御する。例えば、ユーザ１２１２Ａは、ユニット１２１６Ａの視点（第２視点）において、コントローラ１６０を握った手を動かすことでユニット１２１６Ａが把持している銃（装備アイテム）１８１０の狙いを定め、更にコントローラ１６０のトリガーボタン８１０を押すことで銃１８１０による射撃を行うことができる。視界画像生成部９１２は、操作オブジェクト１２２５Ａ及び装備アイテム１８１０の動作に応じた視界画像を生成し、視界画像出力部９２６は、視界画像生成部９１２によって生成された視界画像を表示部１１２に出力する。ユーザ１２１２Ａは、仮想空間１２００内のゲームフィールド１２２２上を行動するユニット１２１６Ａの視点（第２視点）において、ユニット１２１６Ａの操作オブジェクト（例えば手）１２２５Ａと装備アイテム（例えば銃）１８１０を使ってゲームを楽しむことができる。
【０１２２】
一実施形態において、オブジェクト制御部９１４は、ユーザ１２１２Ａがユニット１２１６Ａの第２視点で操作する装備アイテム１８１０（第２オブジェクト）の動きが相手ユーザ１２１２Ｂのユニット１２１６Ｂ（第３オブジェクト）に対して作用を与えるように、相手ユーザ１２１２Ｂのユニット１２１６Ｂを制御してもよい。例えば、第２視点のユニット１２１６Ａは、銃１８１０を使用して相手ユニット１２１６Ｂを攻撃することにより、相手ユニット１２１６Ｂにダメージを与えることができる。また、オブジェクト制御部９１４は、ユニット１２１６Ａの第２視点において、相手ユーザ１２１２Ｂのユニット１２１６Ｂの動きに応じてユニット１２１６Ａ又はユニット１２１６Ａの装備アイテム１８１０が作用を受けるように、ユニット１２１６Ａ又は装備アイテム１８１０を制御してもよい。例えば、相手ユーザ１２１２Ｂからの攻撃によって、ユニット１２１６Ａ又は装備アイテム１８１０がダメージを受けてもよい。
【０１２３】
別の実施形態において、アバター１２１４Ａの第１視点にあるユーザ１２１２Ａは、アバター１２１４Ａを操作して相手ユーザ１２１２Ｂのアバター１２１４Ｂに作用を与える（例えばアバター１２１４Ｂを攻撃する）ことが可能であってもよい。例えば、各ユーザは、それぞれのアバターの第１視点からゲームフィールド１２２２を俯瞰的に眺め、ゲームフィールド１２２２におけるゲームの情勢を判断しながら、次の戦略を考えゲームフィールド１２２２にカードオブジェクト（即ち追加のユニット）を配置していくことによってゲームをプレイする。この第１視点において、相手のアバターに作用を与えることは、ユーザが相手ユーザに作用を与えるのと同じ意味合いを持つ。したがって、第１視点でアバター１２１４Ａを操作して相手アバター１２１４Ｂに作用を与えることを可能とすることによって、ユーザは、相手のユーザ（人間）と一緒にゲームをしているという一体感を得ることができる。
【０１２４】
また、本実施形態においては、ＨＭＤ装置１１０によってユーザ１９０が没入する仮想空間（ＶＲ空間）を例示して説明したが、ＨＭＤ装置１１０として、透過型のＨＭＤ装置を採用してもよい。この場合、透過型のＨＭＤ装置を介してユーザ１９０が視認する現実空間に、仮想空間を構成するための画像の一部が視界画像として重畳されるように出力することにより、拡張現実（ＡＲ：Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）空間または複合現実（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）空間における仮想体験をユーザ１９０に提供してもよい。この場合、右手オブジェクトおよび左手オブジェクトに代えて、ユーザ１９０の右手および左手の動きに基づいて、仮想空間４００、１２００内における各種オブジェクト（例えば、第１オブジェクト、第２オブジェクト）への作用を生じさせてもよい。具体的には、プロセッサ２０２は、現実空間におけるユーザ１９０の手の位置の座標情報を特定するとともに、仮想空間４００、１２００内における各種オブジェクトの位置を現実空間における座標情報との関係で定義してもよい。これにより、プロセッサ２０２は、現実空間におけるユーザ１９０の手と仮想空間４００、１２００における仮想オブジェクトとの位置関係を把握し、ユーザ１９０の手と仮想オブジェクトとの間で上述した制御に対応する処理を実行可能となる。その結果、ユーザ１９０の手の動きに基づいて各種オブジェクトに作用を与えることが可能となる。
【０１２５】
本開示の実施形態は、主に、プロセッサ２０２（もしくはコンピュータ２００）又は方法１１００として実施されるものとして説明された。しかし、本開示の実施形態が、プロセッサ２０２に方法１１００を実行させるコンピュータプログラムとして実施することができることは、当業者にとって明らかであろう。
【０１２６】
本開示の実施形態が説明されたが、これらが例示にすぎず、本開示の範囲を限定するものではないことが理解されるべきである。本開示の趣旨及び範囲から逸脱することなく、実施形態の変更、追加、改良等を適宜行うことができることが理解されるべきである。本開示の範囲は、上述した実施形態のいずれによっても限定されるべきではなく、特許請求の範囲及びその均等物によってのみ規定されるべきである。
【符号の説明】
【０１２７】
１００…ＨＭＤシステム、１１０…ＨＭＤ、１１２…表示部、１１４…センサ、１２０…ＨＭＤセンサ、１３０…モーションセンサ、１４０…注視センサ、１５０…サーバ、１６０…コントローラ、１９０…ユーザ、１９２…ネットワーク、２００…コンピュータ、２０２…プロセッサ、２０４…メモリ、２０５…通信制御部、２０６…ストレージ、２０８…入出力インターフェース、２１０…通信インターフェース、２１２…バス、４００…仮想空間、４０２…仮想空間画像、４０４…仮想カメラ、４０６…中心、４０８…基準視線、４１０…視認領域、６０２、７０２…領域、８００…コントローラ、８０２…グリップ、８０４…フレーム、８０６…天面、８０８、８１０、８１４、８１６…ボタン、８１８…アナログスティック、９０２…仮想空間特定部、９０３…動作検知部、９０４…視線検知部、９０６…基準視線決定部、９０８…視界領域決定部、９１０…仮想視点特定部、９１２…視界画像生成部、９１４…オブジェクト制御部、９１６…仮想視点切替部、９２６…視界画像出力部、９２８…仮想空間データ、９３０…オブジェクトデータ、９３２…アプリケーションデータ、９３４…その他のデータ、１２００…仮想空間、１２０４Ａ１、Ａ２、Ｂ１、Ｂ２…仮想カメラ、１２１２Ａ、Ｂ…ユーザ、１２１４Ａ、Ｂ…アバター、１２１６Ａ、Ｂ、Ｃ…ユニット、１２２０Ａ、Ｂ、１２２５Ａ…操作オブジェクト、１２２２…ゲームフィールド、１２２４Ａ、Ｂ…基地、１３０２−１、２、３…カードオブジェクト、１３０４…壁、１６０Ａ、Ｂ…コントローラ、１２２０Ａ１、１２２５Ａ１…左手オブジェクト、１２２０Ａ２、１２２５Ａ…右手オブジェクト、１８１０…装備アイテム
【図１】
2018190163.tif 000003
【図２】
2018190163.tif 000004
【図３】
2018190163.tif 000005
【図４】
2018190163.tif 000006
【図５】
2018190163.tif 000007
【図６】
2018190163.tif 000008
【図７】
2018190163.tif 000009
【図８】
2018190163.tif 000010
【図９】
2018190163.tif 000011
【図１０】
2018190163.tif 000012
【図１１】
2018190163.tif 000013
【図１２】
2018190163.tif 000014
【図１３】
2018190163.tif 000015
【図１４】
2018190163.tif 000016
【図１５】
2018190163.tif 000017
【図１６】
2018190163.tif 000018
【図１７】
2018190163.tif 000019
【図１８】
2018190163.tif 000020