[本開示が示す実施形態の説明]
本開示が示す実施形態の概要を説明する。
(1)(a)第1オブジェクトを含む仮想空間を規定する仮想空間データを生成するステップと、
(b)ユーザの頭部に装着されたヘッドマウントデバイスの動きと前記仮想空間データに基づいて、前記ヘッドマウントデバイスに表示される視野画像を示す視野画像データを更新するステップと、
(c)現実空間における第1エリアを特定するステップと、
(d)前記仮想空間において、前記第1エリアに相当する第2エリアを特定するステップと、
(e)前記第2エリアの範囲に応じて、前記仮想空間における前記ユーザと前記第1オブジェクトとの間のインタラクションを可能にするように、前記仮想空間データを調整するステップと、
を含む、プロセッサによって実行される情報処理方法。
上記方法によれば、ユーザと第1オブジェクトとの間のインタラクションを確実に生じさせることが可能となる。したがって、リッチな仮想体験をユーザに提供することが可能となる。
(2)前記ステップ(e)は、
(e1)前記第2エリアの範囲に応じて、前記第1オブジェクトの行動範囲又は行動軌跡を設定するステップを含む、項目(1)に記載の情報処理方法。
上記方法によれば、ユーザと第1オブジェクトとの間のインタラクションを確実に生じさせることが可能となる。
(3)前記ステップ(e1)は、
前記第1オブジェクトの行動範囲又は行動軌跡が前記第2エリアの少なくとも一部と重複するように、前記第1オブジェクトの行動範囲又は行動軌跡を設定するステップを含む、項目(2)に記載の情報処理方法。
上記方法によれば、仮想空間におけるユーザと第1オブジェクトとの間のインタラクションを確実に生じさせることが可能となる。
(4)(f)前記第2エリアの範囲と、前記ユーザの射程範囲に基づいて前記ユーザの作用範囲を特定するステップをさらに含み、
前記ステップ(e1)は、
前記第1オブジェクトの行動範囲又は行動軌跡が前記作用範囲の少なくとも一部と重複するように、前記第1オブジェクトの行動範囲又は行動軌跡を設定するステップを含む、項目(2)に記載の情報処理方法。
上記方法によれば、仮想空間におけるユーザと第1オブジェクトとの間のインタラクションを確実に生じさせることが可能となる。
(5)(g)前記ユーザの身体の一部の動きに応じて操作オブジェクトを動かすステップをさらに含み、
前記ユーザの射程範囲は、前記操作オブジェクトによって操作される作用オブジェクトの射程範囲である、項目(4)に記載の情報処理方法。
上記方法によれば、仮想空間におけるユーザと第1オブジェクトとの間のインタラクションを確実に生じさせることが可能となる。
(6)(g)前記ユーザの身体の一部の動きに応じて操作オブジェクトを動かすステップと、
(h)前記ユーザの操作に応じて、複数の候補オブジェクトから前記操作オブジェクトによって操作される作用オブジェクトを特定するステップと、
(i)前記第2エリアの範囲と、前記複数の候補オブジェクトの射程範囲のうちの最大の射程範囲とに基づいて、前記ユーザの最大作用範囲を特定するステップと、
をさらに含み、
前記ステップ(e1)は、
前記第1オブジェクトの行動範囲又は行動軌跡が前記最大作用範囲の少なくとも一部と重複するように、前記第1オブジェクトの行動範囲又は行動軌跡を設定するステップを含む、項目(2)に記載の情報処理方法。
上記方法によれば、複数の候補オブジェクトの中から、適切な射程範囲を有する作用オブジェクトを装備するようにユーザに促すことができるため、仮想空間のエンターテイメント性を向上させることができる。
(7)(g)前記ユーザの身体の一部の動きに応じて操作オブジェクトを動かすステップをさらに含み、
前記ステップ(e)は、
(e2)前記第2エリアの範囲に応じて、前記操作オブジェクトによって操作される作用オブジェクトの射程範囲を設定するステップを含む、項目(1)に記載の情報処理方法。
上記方法によれば、ユーザと第1オブジェクトとの間のインタラクションを確実に生じさせることが可能となる。
(8)項目(1)から(7)のうちのいずれか一項に記載の情報処理方法をコンピュータに実行させるための情報処理プログラム。
上記によれば、リッチな仮想体験をユーザに提供することが可能な情報処理プログラムを提供することができる。
(9)プロセッサと、
コンピュータ可読命令を記憶するメモリと、を備えた情報処理装置であって、
前記コンピュータ可読命令が前記プロセッサにより実行されると、前記情報処理装置は、項目(1)から(7)のうちのいずれか一項に記載の情報処理方法を実行する、情報処理装置。
上記によれば、リッチな仮想体験をユーザに提供することが可能な情報処理装置を提供することができる。
[本開示が示す実施形態の詳細]
以下、本開示が示す実施形態について図面を参照しながら説明する。尚、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
最初に、図1を参照してユーザ端末1の構成について説明する。図1は、ユーザ端末1を示す概略図である。図1に示すように、ユーザ端末1は、ユーザUの頭部に装着されたヘッドマウントデバイス(HMD)110と、ヘッドフォン116と、マイク118と、位置センサ130と、外部コントローラ320と、制御装置120とを備える。
HMD110は、表示部112と、HMDセンサ114と、注視センサ140とを備えている。表示部112は、HMD110を装着したユーザUの視界(視野)を完全に覆うように構成された非透過型の表示装置を備えている。これにより、ユーザUは、表示部112に表示された視野画像のみを見ることで仮想空間に没入することができる。尚、表示部112は、ユーザUの左目に画像を提供するように構成された左目用表示部と、ユーザUの右目に画像を提供するように構成された右目用表示部とから構成されてもよい。また、HMD110は、透過型の表示装置を備えてもよい。この場合、透過型の表示装置は、その透過率を調整することで、一時的に非透過型の表示装置として構成されてもよい。
HMDセンサ114は、HMD110の表示部112の近傍に搭載される。HMDセンサ114は、地磁気センサ、加速度センサ、傾きセンサ(角速度センサやジャイロセンサ等)のうちの少なくとも1つを含み、ユーザUの頭部に装着されたHMD110の各種動き(傾き等)を検出することができる。
注視センサ140は、ユーザUの視線を検出するアイトラッキング機能を有する。注視センサ140は、例えば、右目用注視センサと、左目用注視センサを備えてもよい。右目用注視センサは、ユーザUの右目に例えば赤外光を照射して、右目(特に、角膜や虹彩)から反射された反射光を検出することで、右目の眼球の回転角に関する情報を取得してもよい。一方、左目用注視センサは、ユーザUの左目に例えば赤外光を照射して、左目(特に、角膜や虹彩)から反射された反射光を検出することで、左目の眼球の回転角に関する情報を取得してもよい。
ヘッドフォン116は、ユーザUの左耳と右耳にそれぞれ装着されている。ヘッドフォン116は、制御装置120から音声データ(電気信号)を受信し、当該受信した音声データに基づいて音声を出力するように構成されている。マイク118は、ユーザUから発声された音声を収集し、当該収集された音声に基づいて音声データ(電気信号)を生成するように構成されている。さらに、マイク118は、音声データを制御装置120に送信するように構成されている。
位置センサ130は、例えば、ポジション・トラッキング・カメラにより構成され、HMD110と外部コントローラ320の位置を検出するように構成されている。位置センサ130は、制御装置120に無線又は有線により通信可能に接続されており、HMD110に設けられた図示しない複数の検知点の位置、傾き又は発光強度に関する情報を検出するように構成されている。さらに、位置センサ130は、外部コントローラ320に設けられた図示しない複数の検知点の位置、傾き及び/又は発光強度に関する情報を検出するように構成されている。検知点は、例えば、赤外線や可視光を放射する発光部である。また、位置センサ130は、赤外線センサや複数の光学カメラを含んでもよい。
外部コントローラ320は、ユーザUの身体の一部(頭部以外の部位であり、本実施形態においてはユーザUの手)の動きを検知することにより、仮想空間内に表示される手オブジェクトの動作を制御するために使用される。外部コントローラ320は、ユーザUの右手によって操作される右手用外部コントローラ320R(以下、単にコントローラ320Rという。)と、ユーザUの左手によって操作される左手用外部コントローラ320L(以下、単にコントローラ320Lという。)と、を有する。
コントローラ320Rは、ユーザUの右手の位置や右手の指の動きを示す装置であって、右手の指によって操作される複数の操作ボタンを備えてもよい。コントローラ320Rの動きに応じて仮想空間内に存在する右手オブジェクト400R(図10(b)参照)が動く。例えば、ユーザUがコントローラ320Rの所定の操作ボタンを押すことで、右手オブジェクト400Rの所定の指が折れ曲がる一方、ユーザUがコントローラ320Rの所定の操作ボタンを離すことで、右手オブジェクト400Rの所定の指が伸びてもよい。このように、コントローラ320Rの操作ボタンに対する操作に応じて右手オブジェクト400Rの指が制御されてもよい。
コントローラ320Lは、ユーザUの左手の位置や左手の指の動きを示す装置であって、左手の指によって操作される複数の操作ボタンを備えてもよい。コントローラ320Lの動きに応じて仮想空間内に存在する左手オブジェクト400L(図10(b)参照)が動く。例えば、ユーザUがコントローラ320Lの所定の操作ボタンを押すことで、左手オブジェクト400Lの所定の指が折れ曲がる一方、ユーザUがコントローラ320Lの所定の操作ボタンを離すことで、左手オブジェクトの所定の指が伸びてもよい。このように、コントローラ320Lの操作ボタンに対する操作に応じて左手オブジェクト400Lの指が制御されてもよい。
制御装置120は、HMD110を制御するように構成されたコンピュータである。制御装置120は、位置センサ130から取得された情報に基づいて、HMD110の位置情報を特定し、当該特定された位置情報に基づいて、仮想空間における仮想カメラの位置と、現実空間におけるHMD110を装着したユーザUの位置を正確に対応付けることができる。さらに、制御装置120は、位置センサ130及び/又は外部コントローラ320から送信された情報に基づいて、外部コントローラ320の動作を特定し、当該特定された外部コントローラ320の動作に基づいて、仮想空間内に表示される手オブジェクトの動作と現実空間における外部コントローラ320の動作を正確に対応付けることができる。特に、制御装置120は、位置センサ130及び/又はコントローラ320Lから送信された情報に基づいて、コントローラ320Lの動作を特定し、当該特定されたコントローラ320Lの動作に基づいて、仮想空間内に表示される左手オブジェクトの動作と現実空間におけるコントローラ320Lの動作(ユーザUの左手の動作)を正確に対応付けることができる。同様に、制御装置120は、位置センサ及び/コントローラ320Rから送信された情報に基づいて、コントローラ320Rの動作を特定し、当該特定されたコントローラ320Rの動作に基づいて、仮想空間内に表示される右手オブジェクトの動作と現実空間におけるコントローラ320Rの動作(ユーザUの右手の動作)を正確に対応付けることができる。
また、制御装置120は、注視センサ140(左目用注視センサと右目用注視センサ)から送信された情報に基づいて、ユーザUの右目の視線と左目の視線をそれぞれ特定し、当該右目の視線と当該左目の視線の交点である注視点を特定することができる。さらに、制御装置120は、特定された注視点に基づいて、ユーザUの両目の視線(ユーザUの視線)を特定することができる。ここで、ユーザUの視線は、ユーザUの両目の視線であって、ユーザUの右目と左目を結ぶ線分の中点と注視点を通る直線の方向に一致する。
次に、図2を参照して、HMD110の位置や傾きに関する情報を取得する方法について説明する。図2は、HMD110を装着したユーザUの頭部を示す図である。HMD110を装着したユーザUの頭部の動きに連動したHMD110の位置や傾きに関する情報は、位置センサ130及び/又はHMD110に搭載されたHMDセンサ114により検出可能である。図2に示すように、HMD110を装着したユーザUの頭部を中心として、3次元座標(uvw座標)が規定される。ユーザUが直立する垂直方向をv軸として規定し、v軸と直交しHMD110の中心を通る方向をw軸として規定し、v軸およびw軸と直交する方向をu軸として規定する。位置センサ130及び/又はHMDセンサ114は、各uvw軸回りの角度(すなわち、v軸を中心とする回転を示すヨー角、u軸を中心とした回転を示すピッチ角、w軸を中心とした回転を示すロール角で決定される傾き)を検出する。制御装置120は、検出された各uvw軸回りの角度変化に基づいて、仮想カメラの視軸を制御するための角度情報を決定する。
次に、図3を参照することで、制御装置120のハードウェア構成について説明する。図3は、制御装置120のハードウェア構成を示す図である。図3に示すように、制御装置120は、制御部121と、記憶部123と、I/O(入出力)インターフェース124と、通信インターフェース125と、バス126とを備える。制御部121と、記憶部123と、I/Oインターフェース124と、通信インターフェース125は、バス126を介して互いに通信可能に接続されている。
制御装置120は、HMD110とは別体に、パーソナルコンピュータ、タブレット又はウェアラブルデバイスとして構成されてもよいし、HMD110に内蔵されていてもよい。また、制御装置120の一部の機能がHMD110に搭載されると共に、制御装置120の残りの機能がHMD110とは別体の他の装置に搭載されてもよい。
制御部121は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたROM(Read Only Memory)やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するRAM(Random Access Memory)等から構成される。プロセッサは、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)及び/又はGPU(Graphics Processing Unit)であって、ROMに組み込まれた各種プログラムから指定されたプログラムをRAM上に展開し、RAMとの協働で各種処理を実行するように構成されている。
特に、プロセッサが制御プログラムをRAM上に展開し、RAMとの協働で制御プログラムを実行することで、制御部121は、制御装置120の各種動作を制御してもよい。制御部121は、視野画像データに基づいてHMD110の表示部112に視野画像を表示する。これにより、ユーザUは、仮想空間に没入することができる。
記憶部(ストレージ)123は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、USBフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部123は、本実施形態に係る情報処理方法の少なくとも一部をコンピュータに実行させるための制御プログラムや、複数のユーザによる仮想空間の共有を実現するための制御プログラムを格納してもよい。また、記憶部123には、ユーザUの認証プログラムや各種画像やオブジェクトに関するデータが格納されてもよい。さらに、記憶部123には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。
I/Oインターフェース124は、位置センサ130と、HMD110と、外部コントローラ320と、ヘッドフォン116と、マイク118とをそれぞれ制御装置120に通信可能に接続するように構成されており、例えば、USB(Universal Serial Bus)端子、DVI(Digital Visual Interface)端子、HDMI(登録商標)(High―Definition Multimedia Interface)端子等により構成されている。尚、制御装置120は、位置センサ130と、HMD110と、外部コントローラ320と、ヘッドフォン116と、マイク118とのそれぞれと無線接続されていてもよい。
通信インターフェース125は、制御装置120をLAN(Local Area Network)、WAN(Wide Area Network)又はインターネット等の通信ネットワーク30に接続させるように構成されている。通信インターフェース125は、通信ネットワーク30を介してサーバ等の外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク30を介して通信するための通信規格に適合するように構成されている。
次に、図4を参照して外部コントローラ320の具体的構成の一例について説明する。コントローラ320Rとコントローラ320Lは略同一の構成を有するので、以下では、図4を参照してコントローラ320Rの具体的構成についてのみ説明する。尚、以降の説明では、便宜上、コントローラ320L,320Rを単に外部コントローラ320と総称する場合がある。
図4に示すように、コントローラ320Rは、操作ボタン302と、複数の検知点304と、図示しないセンサと、図示しないトランシーバとを備える。検知点304とセンサは、どちらか一方のみが設けられていてもよい。操作ボタン302は、ユーザUからの操作入力を受付けるように構成された複数のボタン群により構成されている。操作ボタン302は、プッシュ式ボタン、トリガー式ボタン及びアナログスティックを含む。プッシュ式ボタンは、親指による押下する動作によって操作されるボタンである。例えば、天面322上に2つのプッシュ式ボタン302a,302bが設けられている。トリガー式ボタンは、人差し指や中指で引き金を引くような動作によって操作されるボタンである。例えば、グリップ324の前面部分にトリガー式ボタン302eが設けられると共に、グリップ324の側面部分にトリガー式ボタン302fが設けられる。トリガー式ボタン302e,302fは、人差し指と中指によってそれぞれ操作される。アナログスティックは、所定のニュートラル位置から360度任意の方向へ傾けて操作されうるスティック型のボタンである。例えば、天面322上にアナログスティック320iが設けられており、親指を用いて操作される。
コントローラ320Rは、グリップ324の両側面から天面322とは反対側の方向へ延びて半円状のリングを形成するフレーム326を備える。フレーム326の外側面には、複数の検知点304が埋め込まれている。複数の検知点304は、例えば、フレーム326の円周方向に沿って一列に並んだ複数の赤外線LEDである。位置センサ130は、複数の検知点304の位置、傾き又は発光強度に関する情報を検出した後に、制御装置120は、位置センサ130によって検出された情報に基づいて、コントローラ320Rの位置や姿勢(傾き・向き)に関する情報を取得する。
コントローラ320Rのセンサは、例えば、磁気センサ、角速度センサ、若しくは加速度センサのいずれか、又はこれらの組み合わせであってもよい。センサは、ユーザUがコントローラ320Rを動かしたときに、コントローラ320Rの向きや位置に応じた信号(例えば、磁気、角速度、又は加速度に関する情報を示す信号)を出力する。制御装置120は、センサから出力された信号に基づいて、コントローラ320Rの位置や姿勢に関する情報を取得する。
コントローラ320Rのトランシーバは、コントローラ320Rと制御装置120との間でデータを送受信するように構成されている。例えば、トランシーバは、ユーザUの操作入力に対応する操作信号を制御装置120に送信してもよい。また、トランシーバは、検知点304の発光をコントローラ320Rに指示する指示信号を制御装置120から受信してもよい。さらに、トランシーバは、センサによって検出された値を示す信号を制御装置120に送信してもよい。
次に、図5から図8を参照することで視野画像をHMD110に表示するための処理について説明する。図5は、視野画像をHMD110に表示する処理を示すフローチャートである。図6は、仮想空間200の一例を示すxyz空間図である。図7の状態(a)は、図6に示す仮想空間200のyx平面図である。図7の状態(b)は、図6に示す仮想空間200のzx平面図である。図8は、HMD110に表示された視野画像Vの一例を示す図である。
図5に示すように、ステップS1において、制御部121(図3参照)は、仮想カメラ300と、各種オブジェクトとを含む仮想空間200を示す仮想空間データを生成する。図6に示すように、仮想空間200は、中心位置210を中心とした全天球として規定される(図6では、上半分の天球のみが図示されている)。また、仮想空間200では、中心位置210を原点とするxyz座標系が設定されている。仮想カメラ300は、HMD110に表示される視野画像V(図8参照)を特定するための視軸Lを規定している。仮想カメラ300の視野を定義するuvw座標系は、現実空間におけるユーザUの頭部を中心として規定されたuvw座標系に連動するように決定される。また、HMD110を装着したユーザUの現実空間における移動に連動して、制御部121は、仮想カメラ300を仮想空間200内で移動させてもよい。
次に、ステップS2において、制御部121は、仮想カメラ300の視野CV(図7参照)を特定する。具体的には、制御部121は、位置センサ130及び/又はHMDセンサ114から送信されたHMD110の状態を示すデータに基づいて、HMD110の位置や傾きに関する情報を取得する。次に、制御部121は、HMD110の位置や傾きに関する情報に基づいて、仮想空間200内における仮想カメラ300の位置や向きを特定する。次に、制御部121は、仮想カメラ300の位置や向きから仮想カメラ300の視軸Lを決定し、決定された視軸Lから仮想カメラ300の視野CVを特定する。ここで、仮想カメラ300の視野CVは、HMD110を装着したユーザUが視認可能な仮想空間200の一部の領域に相当する(換言すれば、HMD110に表示される仮想空間200の一部の領域に相当する)。また、視野CVは、図7の状態(a)に示すxy平面において、視軸Lを中心とした極角αの角度範囲として設定される第1領域CVaと、図7の状態(b)に示すxz平面において、視軸Lを中心とした方位角βの角度範囲として設定される第2領域CVbとを有する。尚、制御部121は、注視センサ140から送信されたユーザUの視線を示すデータに基づいてユーザUの視線を特定し、特定されたユーザUの視線とHMD110の位置や傾きに関する情報に基づいて、仮想カメラ300の向き(仮想カメラの野軸L)を決定してもよい。
このように、制御部121は、位置センサ130及び/又はHMDセンサ114からのデータに基づいて、仮想カメラ300の視野CVを特定することができる。ここで、HMD110を装着したユーザUが動くと、制御部121は、位置センサ130及び/又はHMDセンサ114から送信されたHMD110の動きを示すデータに基づいて、仮想カメラ300の視野CVを更新することができる。つまり、制御部121は、HMD110の動きに応じて、視野CVを更新することができる。同様に、ユーザUの視線が変化すると、制御部121は、注視センサ140から送信されたユーザUの視線を示すデータに基づいて、仮想カメラ300の視野CVを更新してもよい。つまり、制御部121は、ユーザUの視線の変化に応じて、視野CVを変化させてもよい。
次に、ステップS3において、制御部121は、HMD110の表示部112に表示される視野画像Vを示す視野画像データを生成する。具体的には、制御部121は、仮想空間200を規定する仮想空間データと、仮想カメラ300の視野CVとに基づいて、視野画像データを生成する。
次に、ステップS4において、制御部121は、視野画像データに基づいて、HMD110の表示部112に視野画像Vを表示する(図8参照)。このように、HMD110を装着しているユーザUの動きに応じて、仮想カメラ300の視野CVが変化し、HMD110の表示部112に表示される視野画像Vが変化するので、ユーザUは仮想空間200に没入することができる。
尚、仮想カメラ300は、左目用仮想カメラと右目用仮想カメラを含んでもよい。この場合、制御部121は、仮想空間データと左目用仮想カメラの視野に基づいて、左目用の視野画像を示す左目用視野画像データを生成する。さらに、制御部121は、仮想空間データと、右目用仮想カメラの視野に基づいて、右目用の視野画像を示す右目用視野画像データを生成する。その後、制御部121は、左目用視野画像データに基づいて、左目用表示部に左目用の視野画像を表示すると共に、右目用視野画像データに基づいて、右目用表示部に右目用の視野画像を表示する。このようにして、ユーザUは、左目用視野画像と右目用視野画像との間の視差により、視野画像を3次元的に視認することができる。尚、仮想カメラは、後述するように、ユーザによって操作されるアバターの目の位置に配置されてもよい。例えば、左目用仮想カメラは、アバターの左目に配置される一方で、右目用仮想カメラは、アバターの右目に配置されてもよい。
また、図5に示すステップS1〜S4の処理は1フレーム(動画を構成する静止画像)毎に実行されてもよい。例えば、動画のフレームレートが90fpsである場合、ステップS1〜S4の処理はΔT=1/90(秒)間隔で繰り返し実行されてもよい。このように、ステップS1〜S4の処理が所定間隔ごとに繰り返し実行されるため、HMD110の動作に応じて仮想カメラ300の視野が更新されると共に、HMD110の表示部112に表示される視野画像Vが更新される。
(第1実施形態)
次に、図9から図11を参照して本開示の第1実施形態(以下、単に第1実施形態という。)について以下に説明する。図9は、第1実施形態に係る情報処理方法の一例を説明するためのフローチャートである。図10の状態(a)は、現実空間における第1プレイエリアA1(第1エリアの一例)を示す図である。図10の状態(b)は、仮想空間200における第2プレイエリアA2(第2エリアの一例)を示す図である。図11の状態(a)は、敵キャラクタオブジェクトECの行動範囲S1が第2プレイエリアA2の一部と重複する様子を示す図である。図11の状態(b)は、敵キャラクタオブジェクトECの行動軌跡P1が第2プレイエリアA2の一部と重複する様子を示す図である。
図9に示すように、ステップS10において、制御部121(図3参照)は、現実空間におけるユーザUの行動範囲を規定する第1プレイエリアA1を特定する。図10の状態(a)に示すように、制御部121は、対角線上に配置された2つの位置センサ130a,130bの検出可能領域に基づいて第1プレイエリアA1を自動的に特定してもよい。ここで、位置センサ130a,130bは、既に説明した位置センサ130と同一の構成及び機能を有するものとする。ユーザUが位置センサ130a(130b)の検出可能領域内に存在する場合、位置センサ130a(130b)は、ユーザUの動き(HMD110の動きや外部コントローラ320の動き)を検出することができる。一方、ユーザUが位置センサ130a(130b)の検出可能領域外に存在する場合、位置センサ130a(130b)は、ユーザUの動き(HMD110の動きや外部コントローラ320の動き)を検出することができない。第1プレイエリアA1は、位置センサ130aの検出可能領域と位置センサ130bの検出可能領域とを合成した検出可能領域の内側に設けられてもよい。また、第1プレイエリアA1は、ユーザUによって指定されてもよい。この場合、制御部121は、ユーザUの入力操作に応じて、第1プレイエリアA1を特定してもよい。
また、ユーザUが第1プレイエリアA1の外側に移動した場合に、ヘッドフォン116から警告音が出力されてもよいし、又は視野画像上に警告情報が表示されてもよい。具体的には、制御部121は、位置センサ130a,130bによって取得されたデータに基づいて、ユーザUが第1プレイエリアAの外側に位置していると判定した場合、ヘッドフォン116から警告音を出力させてもよいし、又はHMD110に警告情報を表示させてもよい。
次に、ステップS11において、制御部121は、仮想空間200において、第1プレイエリアA1に相当する第2プレイエリアA2を特定する。図10の状態(b)に示すように、仮想空間200は、仮想カメラ300と、左手オブジェクト400L(操作オブジェクトの一例)と、右手オブジェクト400R(操作オブジェクトの一例)と、敵キャラクタオブジェクトEC(第1オブジェクトの一例)を含む。
仮想カメラ300は、既に説明したように、ユーザUの視野を規定する。制御部121は、仮想空間200を規定する仮想空間データを生成した上で、ユーザUの頭部に装着されたHMD110の動きに応じて仮想カメラ300の視野を更新する。その後、制御部121は、仮想カメラ300の視野と仮想空間200を示す仮想空間データに基づいて、HMD110に表示される視野画像V(図8参照)を示す視野画像データを更新する。
左手オブジェクト400Lは、ユーザUの左手の動きを示すオブジェクトである。制御部121は、ユーザUの左手の動きを示すコントローラ320L(図1参照)の動きに応じて、仮想空間200A内で左手オブジェクト400Lを動かす。特に、制御部121は、位置センサ130及び/又はコントローラ320Lから送信された情報に基づいて、コントローラ320Lの動作を特定し、当該特定されたコントローラ320Lの動作に基づいて、左手オブジェクト400Lの動作とコントローラ320Lの動作(ユーザUの左手の動作)を正確に対応付ける。例えば、制御部121は、コントローラ320Lの移動に応じて左手オブジェクト400Lを移動させると共に、コントローラ320Lの操作ボタンに対する操作に応じて左手オブジェクト400Lの指を動かしてもよい。
右手オブジェクト400Rは、ユーザUの右手の動きを示すオブジェクトである。制御部121は、ユーザUの右手の動きを示すコントローラ320R(図1参照)の動きに応じて、仮想空間200A内で右手オブジェクト400Rを動かす。特に、制御部121は、位置センサ130及び/又はコントローラ320Rから送信された情報に基づいて、コントローラ320Rの動作を特定し、当該特定されたコントローラ320Rの動作に基づいて、右手オブジェクト400Rの動作とコントローラ320Rの動作(ユーザUの右手の動作)を正確に対応付ける。例えば、制御部121は、コントローラ320Rの移動に応じて右手オブジェクト400Rを移動させると共に、コントローラ320Rの操作ボタンに対する操作に応じて右手オブジェクト400Rの指を動かしてもよい。
敵キャラクタオブジェクトECは、例えば、仮想空間200においてユーザU(ユーザUのアバター)に攻撃を仕掛けるオブジェクトである。仮想空間200において、ユーザUと敵キャラクタオブジェクトECとの間のインタラクション(相互作用)によって、ユーザUと敵キャラクタオブジェクトECとの間のコリジョン効果が発生する。例えば、ユーザUと敵キャラクタオブジェクトECとの間のインタラクションによって、ユーザUは敵キャラクタオブジェクトECにダメージを与えることができる。一方、当該インタラクションによって、ユーザUは敵キャラクタオブジェクトECによってダメージを受ける。また、敵キャラクタオブジェクトECの動作は、制御部121(プロセッサ)によって制御されてもよい。
第2プレイエリアA2は、仮想空間200におけるユーザUの行動範囲を規定するエリアである。ユーザU(ユーザUのアバター)は、第2プレイエリアA2内を移動できる一方で、第2プレイエリアA2の外側に移動することはできない。第2プレイエリアA2の範囲は、第1プレイエリアA1の範囲に基づいて決定される。例えば、第2プレイエリアA2の範囲は、第1プレイエリアA1の範囲に等しくてもよい。さらに、第1プレイエリアA1の範囲が小さくなる又は大きくなるに連れて、第2プレイエリアA2の範囲が小さくなる又は大きくなる。
次に、ステップS12において、制御部121は、敵キャラクタオブジェクトECの行動範囲S1が第2プレイエリアA2の少なくとも一部と重複するように、敵キャラクタオブジェクトECの行動範囲S1を設定する。図11の状態(a)に示すように、敵キャラクタオブジェクトECの行動範囲S1は、第2プレイエリアA2の一部と重複している。このように、第1実施形態によれば、第2プレイエリアA2の範囲に応じて、敵キャラクタオブジェクトECの行動範囲S1が設定されるので、仮想空間200におけるユーザUと敵キャラクタオブジェクトECとの間のインタラクションを確実に生じさせることが可能となる。特に、敵キャラクタオブジェクトECの行動範囲S1が第2プレイエリアA2に重複する場合、ユーザUが敵キャラクタオブジェクトECを攻撃できないといった不都合を回避することが可能となる。このように、リッチな仮想空間をユーザUに提供することが可能となる。制御部121は、行動範囲S1が第2プレイエリアA2の少なくとも一部と重複するように仮想空間データを調整した後に、ユーザUと敵キャラクタオブジェクトECとの間の戦いを開始させてもよい。
また、図11の状態(b)に示すように、制御部121は、敵キャラクタオブジェクトECの行動軌跡P1が第2プレイエリアA2の少なくとも一部と重複するように、行動軌跡P1を設定してもよい。この場合も同様に、第2プレイエリアA2の範囲に応じて、行動軌跡P1が設定されるので、仮想空間200におけるユーザUと敵キャラクタオブジェクトECとの間のインタラクションを確実に生じさせることが可能となる。
尚、図11に示す例では、行動範囲S1又は行動軌跡P1の一部が第2プレイエリアA2の一部に重複しているが、行動範囲S1又は行動軌跡P1の全部が第2プレイエリアA2の一部に重複してもよい。さらに、行動範囲S1又は行動軌跡P1の一部が第2プレイエリアA2の全部に重複してもよい。
また、敵キャラクタオブジェクトECの行動範囲S1は、初期設定値としての行動範囲S0を有してもよい。この場合、ステップS12において、制御部121は、敵キャラクタオブジェクトECの行動範囲S0が第2プレイエリアA2に重複しているかどうかを判定してもよい。その後、制御部121は、行動範囲S0が第2プレイエリアA2に重複していると判定した場合、ユーザUと敵キャラクタオブジェクトECとの間の戦いを開始させてもよい。一方、制御部121は、行動範囲S0が第2プレイエリアA2に重複していないと判定した場合、敵キャラクタオブジェクトECの行動範囲S1が第2プレイエリアA2の少なくとも一部と重複するように行動範囲S1を設定してもよい。
(第2実施形態)
次に、図12及び図13を参照して本開示の第2実施形態(以下、単に第2実施形態という。)について以下に説明する。図12は、第2実施形態に係る情報処理方法の一例を説明するためのフローチャートである。図13は、敵キャラクタオブジェクトECの行動範囲S1がユーザUの攻撃範囲C1の一部と重複する様子を示す図である。
図12に示すように、ステップS20において、制御部121は、現実空間における第1プレイエリアA1を特定する。次に、制御部121は、仮想空間200における第2プレイエリアA2を特定する(ステップS21)。ステップS22において、制御部121は、ユーザUの入力操作に従って、ユーザUによって所持されると共に、ユーザUに装備可能な複数の武器オブジェクト(候補オブジェクトの一例)から装備する武器オブジェクト(作用オブジェクトの一例)を特定する。第2実施形態の説明では、剣オブジェクト500(作用オブジェクトの一例)が複数の武器オブジェクトから選択され、ユーザUに装備されるものとする。この場合、図13に示すように、剣オブジェクト500は、左手オブジェクト400Lによって操作される。尚、剣オブジェクト500は、右手オブジェクト400Rによって操作されてもよい。ユーザUは、左手を動かすことで、剣オブジェクト500を操作することができると共に、剣オブジェクト500を操作することで敵キャラクタオブジェクトECにダメージを与えることができる。
次に、ステップS23において、制御部121は、装備した武器オブジェクトである剣オブジェクト500の射程範囲R1を特定する。この点において、各武器オブジェクトは、攻撃力や射程範囲等の属性情報を有しているため、制御部121は、剣オブジェクト500の属性情報に基づいて剣オブジェクト500の射程範囲R1を特定してもよい。剣オブジェクト500の射程範囲R1は、ユーザUの射程範囲に等しい。
ステップS24において、制御部121は、第2プレイエリアA2と、剣オブジェクト500の射程範囲R1(ユーザUの射程範囲)に基づいて、ユーザUの攻撃範囲C1(ユーザUの作用範囲の一例)を特定する。ユーザUの攻撃範囲C1とは、ユーザUが剣オブジェクト500を用いて敵キャラクタオブジェクトECを攻撃することができる範囲をいう。図13に示すように、ユーザUが第2プレイエリアA2の境界線上に位置するときの剣オブジェクト500の射程範囲R1の境界線の一部がユーザUの攻撃範囲C1の境界線を形成する。装備した武器オブジェクトの射程範囲が大きく(又は小さく)なるに連れて、ユーザUの攻撃範囲C1は大きく(又は小さく)なる。
次に、ステップS25において、制御部121は、敵キャラクタオブジェクトECの行動範囲S1がユーザUの攻撃範囲C1の少なくとも一部と重複するように、敵キャラクタオブジェクトECの行動範囲S1を設定する。図13に示すように、行動範囲S1は、攻撃範囲C1の一部と重複している。このように、第2実施形態によれば、攻撃範囲C1に応じて、行動範囲S1が設定されるので、仮想空間200におけるユーザUと敵キャラクタオブジェクトECとの間のインタラクションを確実に生じさせることが可能となる。特に、行動範囲S1が攻撃範囲C1に重複する場合、ユーザUが敵キャラクタオブジェクトECを攻撃できないといった不都合を回避することが可能となる。このように、リッチな仮想空間をユーザUに提供することが可能となる。制御部121は、行動範囲S1が攻撃範囲C1の少なくとも一部と重複するように仮想空間データを調整した後に、ユーザUと敵キャラクタオブジェクトECとの間の戦いを開始させてもよい。
また、図11の状態(b)に示すように、制御部121は、敵キャラクタオブジェクトECの行動軌跡P1が攻撃範囲C1の少なくとも一部と重複するように、行動軌跡P1を設定してもよい。この場合も同様に、攻撃範囲C1に応じて、行動軌跡P1が設定されるので、仮想空間200におけるユーザUと敵キャラクタオブジェクトECとの間のインタラクションを確実に生じさせることが可能となる。
尚、図13に示す例では、行動範囲S1の一部が攻撃範囲C1の一部に重複しているが、行動範囲S1の全部が攻撃範囲C1の一部に重複してもよい。さらに、行動範囲S1の一部が攻撃範囲C1の全部に重複してもよい。
また、敵キャラクタオブジェクトECの行動範囲S1は、初期設定値としての行動範囲S0を有してもよい。この場合、ステップS25において、制御部121は、敵キャラクタオブジェクトECの行動範囲S0が攻撃範囲C1に重複しているかどうかを判定してもよい。その後、制御部121は、行動範囲S0が攻撃範囲C1に重複していると判定した場合、ユーザUと敵キャラクタオブジェクトECとの間の戦いを開始させてもよい。一方、制御部121は、行動範囲S0が攻撃範囲C1に重複していないと判定した場合、敵キャラクタオブジェクトECの行動範囲S1が攻撃範囲C1の少なくとも一部と重複するように行動範囲S1を設定してもよい。
(第3実施形態)
次に、図14及び図15を参照して本開示の第3実施形態(以下、単に第3実施形態という。)について以下に説明する。図14は、第3実施形態に係る情報処理方法の一例を説明するためのフローチャートである。図15の状態(a)は、敵キャラクタオブジェクトECの行動範囲S1がユーザUの最大攻撃範囲C2の一部と重複する様子を示す図である。図15の状態(b)は、敵キャラクタオブジェクトECの行動範囲S1がユーザUの攻撃範囲C1と重複しない様子を示す図である。
図14に示すように、ステップS30において、制御部121は、現実空間における第1プレイエリアA1を特定する。次に、制御部121は、仮想空間200における第2プレイエリアA2を特定する(ステップS31)。ステップS32において、制御部121は、ユーザUに所持されると共に、ユーザUに装備可能な複数の武器オブジェクトから装備する武器オブジェクトを特定する。第3実施形態の説明では、ユーザUは、剣オブジェクト500と槍オブジェクト(図示せず)の2つの武器オブジェクトを所持しており、剣オブジェクト500又は槍オブジェクトを装備可能であるものとする(つまり、剣オブジェクト500と槍オブジェクトは、候補オブジェクトの一例である)。さらに、剣オブジェクト500と槍オブジェクトの中から剣オブジェクト500(作用オブジェクトの一例)が装選択されて、ユーザUに装備されるものとする。図15に示すように、仮想空間200において、ユーザUは、剣オブジェクト500を装備しており、剣オブジェクト500は左手オブジェクト400Lによって操作される。
次に、ステップS33において、制御部121は、複数の武器オブジェクトの射程範囲のうち最大の射程範囲を特定する。ここで、槍オブジェクトの射程範囲R2は、剣オブジェクト500の射程範囲R1よりも大きいものとする。この場合、制御部121は、剣オブジェクト500の属性情報に基づいて剣オブジェクト500の射程範囲R1を特定すると共に、槍オブジェクトの属性情報に基づいて槍オブジェクトの射程範囲R2を特定する。その後、制御部121は、剣オブジェクト500の射程範囲R1と槍オブジェクトの射程範囲R2を比較することで、最大の射程範囲として槍オブジェクトの射程範囲R2を特定する。
ステップS34において、制御部121は、第2プレイエリアA2と、槍オブジェクトの射程範囲R2(候補オブジェクトの最大射程範囲)に基づいて、ユーザの最大攻撃範囲C2(ユーザUの最大作用範囲の一例)を特定する。ユーザUの最大攻撃範囲C2とは、ユーザUが最大射程範囲を有する槍オブジェクトを用いて敵キャラクタオブジェクトECを攻撃することができる範囲をいう。図15の状態(a)に示すように、ユーザUが第2プレイエリアA2の境界線上に位置するときの槍オブジェクトの射程範囲R2の境界線の一部がユーザUの最大攻撃範囲C2の境界線を形成する。
次に、ステップS35において、制御部121は、敵キャラクタオブジェクトECの行動範囲S1がユーザUの最大攻撃範囲C2の少なくとも一部に重複するように、敵キャラクタオブジェクトECの行動範囲S1を設定する。図15の状態(a)に示すように、行動範囲S1は、最大攻撃範囲C2の一部と重複している。一方、図15の状態(b)に示すように、行動範囲S1は、装備した剣オブジェクト500の射程範囲R1と第2プレイエリアA2に基づいて特定されるユーザUの攻撃範囲C1とは重複しなくてもよい。このように、第3実施形態によれば、最大攻撃範囲C2に応じて、行動範囲S1が設定されるので、仮想空間200におけるユーザUと敵キャラクタオブジェクトECとの間のインタラクションを確実に生じさせることが可能となる。特に、行動範囲S1と最大攻撃範囲C2に重複する場合、ユーザUが敵キャラクタオブジェクトECを攻撃できないといった不都合を回避することが可能となる。さらに、複数の武器オブジェクトから適切な射程範囲を有する武器オブジェクトを装備するようにユーザUに促すことができるため、仮想空間200のエンターテイメント性を向上させることができる。制御部121は、行動範囲S1が最大攻撃範囲C2の少なくとも一部と重複するように仮想空間データを調整した後に、ユーザUと敵キャラクタオブジェクトECとの間の戦いを開始させてもよい。
また、図11の状態(b)に示すように、制御部121は、敵キャラクタオブジェクトECの行動軌跡P1が最大攻撃範囲C2の少なくとも一部と重複するように、行動軌跡P1を設定してもよい。この場合も同様に、最大攻撃範囲C2に応じて、行動軌跡P1が設定されるので、仮想空間200におけるユーザUと敵キャラクタオブジェクトECとの間のインタラクションを確実に生じさせることが可能となる。
尚、図15の状態(a)に示す例では、行動範囲S1の一部が最大攻撃範囲C2の一部に重複しているが、行動範囲S1の全部が最大攻撃範囲C2の一部に重複してもよい。さらに、行動範囲S1の一部が最大攻撃範囲C2の全部に重複してもよい。
また、敵キャラクタオブジェクトECの行動範囲S1は、初期設定値としての行動範囲S0を有してもよい。この場合、ステップS35において、制御部121は、敵キャラクタオブジェクトECの行動範囲S0が最大攻撃範囲C2に重複しているかどうかを判定してもよい。その後、制御部121は、行動範囲S0が最大攻撃範囲C2に重複していると判定した場合、ユーザUと敵キャラクタオブジェクトECとの間の戦いを開始させてもよい。一方、制御部121は、行動範囲S0が最大攻撃範囲C2に重複していないと判定した場合、敵キャラクタオブジェクトECの行動範囲S1が最大攻撃範囲C2の少なくとも一部と重複するように行動範囲S1を設定してもよい。
(第4実施形態)
次に、図16及び図17を参照して本開示の第4実施形態(以下、単に第4実施形態という。)について以下に説明する。図16は、第4実施形態に係る情報処理方法の一例を説明するためのフローチャートである。図17の状態(a)は、敵キャラクタオブジェクトECの行動範囲S1がユーザUの攻撃範囲C1と重複しない様子を示す図である。図17の状態(b)は、装備された剣オブジェクト500の射程範囲R1が大きくなることで敵キャラクタオブジェクトECの行動範囲S1がユーザUの攻撃範囲C1と重複する様子を示す図である。
図16に示すように、ステップS40において、制御部121は、現実空間における第1プレイエリアA1を特定する。次に、制御部121は、仮想空間200における第2プレイエリアA2を特定する(ステップS41)。ステップS42において、制御部121は、ユーザUに所持されると共に、ユーザUに装備可能な複数の武器オブジェクト(複数の候補オブジェクトの一例)から装備する武器オブジェクト(作用オブジェクトの一例)を特定する。第4実施形態の説明では、複数の武器オブジェクトから剣オブジェクト500が選択され、ユーザUにより装備されるものとする。
次に、ステップS43において、制御部121は、敵キャラクタオブジェクトECの行動範囲S1がユーザUの攻撃範囲C1の少なくとも一部と重複するように、装備した剣オブジェクト500の射程範囲R1を設定する。このように、第4実施形態では、行動範囲S1ではなく、射程範囲R1が設定される点で第1〜3実施形態とは異なる。図17の状態(a)に示すように、剣オブジェクト500の属性情報に基づいて特定された剣オブジェクト500の射程範囲R1の場合、敵キャラクタオブジェクトECの行動範囲S1は、第2プレイエリアA2と射程範囲R1に基づいて特定されるユーザUの攻撃範囲C1とは重複しない。一方、図17の状態(b)に示すように、制御部121は、剣オブジェクト500の射程範囲R1を大きくすることで、ユーザUの攻撃範囲C1を大きくすることができる。この結果、敵キャラクタオブジェクトECの行動範囲S1をユーザUの攻撃範囲C1の少なくとも一部に重複させることが可能となる。
従って、第4実施形態によれば、第2プレイエリアA2の範囲に応じて、剣オブジェクト500の射程範囲R1が設定されるので、仮想空間200におけるユーザUと敵キャラクタオブジェクトECとの間のインタラクションを確実に生じさせることが可能となる。特に、行動範囲S1が攻撃範囲C1に重複する場合、ユーザUが敵キャラクタオブジェクトECを攻撃できないといった不都合を回避することが可能となる。このように、リッチな仮想空間をユーザUに提供することが可能となる。制御部121は、行動範囲S1が攻撃範囲C1の少なくとも一部と重複するように仮想空間データを調整した後に、ユーザUと敵キャラクタオブジェクトECとの間の戦いを開始させてもよい。
また、図11の状態(b)に示すように、制御部121は、敵キャラクタオブジェクトECの行動軌跡P1が攻撃範囲C1の少なくとも一部と重複するように、剣オブジェクト500の射程範囲R1の大きさを変更してもよい。この場合も同様に、第2プレイエリアA2の範囲に応じて、射程範囲R1が設定されるので、仮想空間200におけるユーザUと敵キャラクタオブジェクトECとの間のインタラクションを確実に生じさせることが可能となる。
尚、図17の状態(b)に示す例では、行動範囲S1の一部が攻撃範囲C1の一部に重複しているが、行動範囲S1の全部が攻撃範囲C1の一部に重複してもよい。さらに、行動範囲S1の一部が攻撃範囲C1の全部に重複してもよい。
また、ユーザ端末1の制御部121によって実行される各種処理をソフトウェアによって実現するために、各種処理をコンピュータ(プロセッサ)に実行させるための制御プログラムが記憶部123又はメモリに予め組み込まれていてもよい。または、制御プログラムは、磁気ディスク(HDD、フロッピーディスク)、光ディスク(CD−ROM,DVD−ROM、Blu−ray(登録商標)ディスク等)、光磁気ディスク(MO等)、フラッシュメモリ(SDカード、USBメモリ、SSD等)等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置120に接続されることで、当該記憶媒体に格納された制御プログラムが、記憶部123に組み込まれる。そして、記憶部123に組み込まれた制御プログラムがRAM上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部121は各種処理を実行する。
また、制御プログラムは、通信ネットワーク30上のコンピュータから通信インターフェース125を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該制御プログラムが記憶部123に組み込まれる。
以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲及びその均等の範囲に基づいて定められるべきである。
本実施形態では、ユーザUの手(左手、右手)の動きを示す外部コントローラ320の動きに応じて、手オブジェクト(左手オブジェクト、右手オブジェクト)の移動が制御されているが、ユーザUの手自体の移動量に応じて、仮想空間内における手オブジェクトの移動が制御されてもよい。例えば、外部コントローラを用いる代わりに、ユーザの指に装着されるグローブ型デバイスや指輪型デバイスを用いることで、位置センサ130により、ユーザUの手の位置や移動量を検出することができると共に、ユーザUの指の動きや状態を検出することができる。また、位置センサ130は、ユーザUの手(指を含む)を撮像するように構成されたカメラであってもよい。この場合、カメラを用いてユーザの手を撮像することにより、ユーザの指に直接何らかのデバイスを装着させることなく、ユーザの手が表示された画像に基づいて、ユーザUの手の位置や移動量を検出することができると共に、ユーザUの指の動きや状態を検出することができる。
また、本実施形態では、ユーザUの身体の一部である手(左手、右手)の動きに応じて手オブジェクト(左手オブジェクトと右手オブジェクト)が動かされているが、本実施形態はこれには限定されない。例えば、ユーザUの身体の一部であるユーザUの足(左足、右足)の動きに応じて足オブジェクト(左足オブジェクトと右足オブジェクト)が動かされてもよい。また、剣オブジェクト等の武器オブジェクトは、足オブジェクトによって操作されてもよい。
本実施形態において、仮想空間は、ユーザにVR(Virtual Reality)、AR(Argumented Reality)及びMR(Mixed Reality)といった、仮想体験を提供するために用いられる。仮想空間がVRを提供する場合、仮想空間の背景にはメモリに保存された背景データが使用される。仮想空間がAR又はMRを提供する場合、仮想空間の背景には現実空間が使用される。この場合、HMD110が透過型の表示装置(光学シースルーまたはビデオシースルー型の表示装置)を備えることにより、現実空間が仮想空間の背景として使用され得る。仮想空間がMRに適用される場合、オブジェクトは、現実空間によって影響を与えられてもよい。このように、仮想空間が背景や仮想オブジェクトといった仮想シーンを少なくとも一部に含むことにより、ユーザには当該仮想シーンとの相互作用が可能な仮想体験が提供され得る。また、仮想空間がAR又はMRに適用される場合、手オブジェクトの代わりにユーザの手が用いられてもよい。この場合、左手オブジェクト400Lに代わりにユーザの左手が仮想空間200に配置されると共に、右手オブジェクト400Rの代わりにユーザの右手が仮想空間200に配置される。また、剣オブジェクト等の武器オブジェクトは、ユーザの左手又は右手によって操作されてもよい。