(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
[本開示が示す実施形態の説明]
本開示が示す実施形態の概要を説明する。
(1)ヘッドマウントデバイスを備えたシステムにおける表示制御方法であって、
当該表示制御方法は、
(a)仮想カメラと対象オブジェクトとを含む仮想空間を定義する仮想空間データを生成するステップと、
(b)前記仮想カメラの視野および前記仮想空間データに基づいて前記ヘッドマウントデバイスに視野画像を表示させるステップと、
(c)前記ヘッドマウントデバイスの動きに基づいて前記仮想カメラを動かすことで前記視野画像を更新するステップと、
(d)所定の入力操作に基づいて、前記仮想カメラから遠い側に開口を有する図形で構成される特定処理オブジェクトを前記仮想空間内に表示させるステップと、
(e)前記視野内における前記特定処理オブジェクトよりも前記仮想カメラ側に前記対象オブジェクトの少なくとも一部が存在するか否かを判定するステップと、
(f)前記特定処理オブジェクトを移動させることにより、前記ステップ(e)において前記特定処理オブジェクトより前記仮想カメラ側に少なくとも一部が存在すると判定された前記対象オブジェクトの前記少なくとも一部を透過処理するステップと、
を含む。
【0010】
上記方法によれば、VR空間における空間把握を容易にすることができる。
【0011】
(2)前記ステップ(f)では、前記開口を形成する二次元的な前記図形の三次元直交座標系における位置および傾きを変更することによって、前記仮想空間において透過処理する二次元的な領域の三次元直交座標系における位置および傾きが変更されても良い。
【0012】
上記方法によれば、三次元空間である仮想空間内において特定処理オブジェクトを任意の位置や向きに自由に動かして透過処理された視野画像を視認できるため、リッチな仮想空間体験を提供することができる。
【0013】
(3)前記ステップ(f)では、前記特定処理オブジェクトの前記開口の大きさが変更可能であっても良い。
【0014】
上記方法によれば、よりリッチな仮想空間体験を提供することができる。
【0015】
(4)前記システムは、前記ヘッドマウントデバイスの位置とユーザの頭部以外の身体の一部の位置を検出するように構成された位置センサをさらに備え、
前記仮想空間は、前記ユーザの身体の前記一部の動きに応じて動作可能な操作オブジェクトをさらに含み、
前記ステップ(f)では、前記操作オブジェクトの動きに基づいて前記特定処理オブジェクトを移動可能であっても良い。
【0016】
上記方法によれば、例えば、視野画像に表示される仮想手オブジェクト(ハンドデバイス)を動かすことによって、特定処理オブジェクトを任意に移動させることができる。
【0017】
(5)前記システムは、前記ヘッドマウントデバイスの位置とユーザの頭部以外の身体の一部の位置を検出するように構成された位置センサをさらに備え、
前記仮想空間は、前記ユーザの身体の前記一部の動きに応じて動作可能な操作オブジェクトをさらに含み、
前記ステップ(f)において、前記開口の大きさは、前記操作オブジェクトの形状に基づいて変更可能であっても良い。
【0018】
上記方法によれば、例えば、仮想手オブジェクトの指の形状によって、特定処理オブジェクトの開口の広さを任意に変更することができる。
【0019】
(6)前記ステップ(f)では、前記特定処理オブジェクトより前記仮想カメラ側に少なくとも一部が存在すると判定された複数の対象オブジェクトのうち、前記仮想カメラに最も近い対象オブジェクトのみを透過処理しても良い。
【0020】
上記方法によれば、複数の対象オブジェクトのうち奥側の対象オブジェクトまで透過処理されてしまうことを防止することができる。
【0021】
(7)上記(1)から(6)のいずれかに記載の表示制御方法をコンピュータに実行させるためのプログラムである。
【0022】
この構成によれば、VR空間における空間把握を容易にするプログラムを提供することができる。
【0023】
[本開示が示す実施形態の詳細]
以下、本開示が示す実施形態について図面を参照しながら説明する。なお、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
【0024】
図1は、本開示が示す実施形態(以下、単に本実施形態という。)に係る情報処理方法を実現するヘッドマウントデバイス(以下、単にHMDという。)システム1を示す概略図である。
図1に示すように、HMDシステム1は、ユーザUの頭部に装着されたHMD110と、位置センサ130と、制御装置120と、外部コントローラ320とを備える。
【0025】
HMD110は、表示部112と、HMDセンサ114と、ヘッドホン116(音声出力部の一例)とを備えている。
【0026】
表示部112は、HMD110を装着したユーザUの視界(視野)を覆うように構成された非透過型の表示装置を備えている。HMD110は、透過型表示装置を備えており、当該透過型表示装置の透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。これにより、ユーザUは、表示部112に表示された視野画像のみを見ることで仮想空間に没入することができる。なお、表示部112は、ユーザUの左眼に投影される左眼用の表示部とユーザUの右眼に投影される右眼用の表示部とから構成されてもよい。
【0027】
HMDセンサ114は、HMD110の表示部112の近傍に搭載される。HMDセンサ114は、地磁気センサ、加速度センサ、傾きセンサ(角速度センサやジャイロセンサ等)のうちの少なくとも1つを含み、ユーザUの頭部に装着されたHMD110の各種動きを検出することができる。
【0028】
ヘッドホン116は、ユーザUの左耳と右耳にそれぞれ装着されている。ヘッドホン116は、制御装置120から音声データ(電気信号)を受信し、当該受信した音声データに基づいて音声を出力するように構成されている。ヘッドホン116の右耳用のスピーカに出力される音声は、ヘッドホン116の左耳用のスピーカに出力される音声と異なってもよい。例えば、制御装置120は、頭部伝達関数に基づいて、右耳用スピーカに入力される音声データと、左耳用スピーカに入力される音声データを取得し、当該異なる2つの音声データをヘッドホン116の左耳用スピーカと右耳用スピーカのそれぞれに出力してもよい。なお、HMD110にヘッドホン116を設けずに、HMD110とは独立したスピーカ(例えば、2つの据置型スピーカ)やイヤホンを設けてもよい。
【0029】
位置センサ130は、例えば、ポジション・トラッキング・カメラにより構成され、HMD110の位置を検出するように構成されている。位置センサ130は、制御装置120に無線または有線により通信可能に接続されており、HMD110に設けられた図示しない複数の検知点の位置、傾きまたは発光強度に関する情報を検出するように構成されている。また、位置センサ130は、赤外線センサや複数の光学カメラを含んでもよい。
【0030】
制御装置120は、位置センサ130から取得された情報に基づいて、HMD110の位置情報を取得し、当該取得された位置情報に基づいて、仮想空間における仮想カメラの位置と、現実空間におけるHMD110を装着したユーザUの位置を正確に対応付けることができる。
【0031】
次に、
図2を参照して、HMD110の位置や傾きに関する情報を取得する方法について説明する。
図2は、HMD110を装着したユーザUの頭部を示す図である。HMD110を装着したユーザUの頭部の動きに連動したHMD110の位置や傾きに関する情報は、位置センサ130および/またはHMD110に搭載されたHMDセンサ114により検出可能である。
図2に示すように、HMD110を装着したユーザUの頭部を中心として、3次元座標(uvw座標)が規定される。ユーザUが直立する垂直方向をv軸として規定し、v軸と直交し表示部112の中心とユーザUとを結ぶ方向をw軸として規定し、v軸およびw軸と直交する方向をu軸として規定する。位置センサ130および/またはHMDセンサ114は、各uvw軸回りの角度(すなわち、v軸を中心とする回転を示すヨー角、u軸を中心とした回転を示すピッチ角、w軸を中心とした回転を示すロール角で決定される傾き)を検出する。制御装置120は、検出された各uvw軸回りの角度変化に基づいて、視野情報を定義する仮想カメラの視軸を制御するための角度情報を決定する。
【0032】
次に、
図3を参照して、制御装置120のハードウェア構成について説明する。
図3に示すように、制御装置120は、制御部121と、記憶部123と、I/O(入出力)インターフェース124と、通信インターフェース125と、バス126とを備える。制御部121と、記憶部123と、I/Oインターフェース124と、通信インターフェース125とは、バス126を介して互いに通信可能に接続されている。
【0033】
制御装置120は、HMD110とは別体に、パーソナルコンピュータ、タブレットまたはウェアラブルデバイスとして構成されてもよいし、HMD110の内部に搭載されていてもよい。また、制御装置120の一部の機能がHMD110に搭載されると共に、制御装置120の残りの機能がHMD110とは別体の他の装置に搭載されてもよい。
【0034】
制御部121は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたROM(Read Only Memory)やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するRAM(Random Access Memory)等から構成される。プロセッサは、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)および/またはGPU(Graphics Processing Unit)であって、ROMに組み込まれた各種プログラムから指定されたプログラムをRAM上に展開し、RAMとの協働で各種処理を実行するように構成されている。
【0035】
特に、プロセッサが本実施形態に係る情報処理方法をコンピュータに実行させるための情報処理プログラム(後述する)をRAM上に展開し、RAMとの協働で当該プログラムを実行することで、制御部121は、制御装置120の各種動作を制御してもよい。制御部121は、メモリや記憶部123に格納された所定のアプリケーション(ゲームプログラム)を実行することで、HMD110の表示部112に仮想空間(視野画像)を提供する。これにより、ユーザUは、表示部112に提供された仮想空間に没入することができる。
【0036】
記憶部(ストレージ)123は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、USBフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部123には、情報処理プログラムが組み込まれてもよい。また、ユーザの認証プログラムや各種画像やオブジェクトに関するデータを含むゲームプログラム等が格納されてもよい。さらに、記憶部123には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。
【0037】
I/Oインターフェース124は、位置センサ130と、HMD110と、ヘッドホン116と、外部コントローラ320と、をそれぞれ制御装置120に通信可能に接続するように構成されており、例えば、USB(Universal Serial Bus)端子、DVI(Digital Visual Interface)端子、HDMI(登録商標)(High―Definition Multimedia Interface)端子等により構成されている。なお、制御装置120は、位置センサ130と、HMD110と、ヘッドホン116と、外部コントローラ320とのそれぞれと無線接続されていてもよい。
【0038】
通信インターフェース125は、制御装置120をLAN(Local Area Network)、WAN(Wide Area Network)またはインターネット等の通信ネットワーク3に接続させるように構成されている。通信インターフェース125は、通信ネットワーク3を介して外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク3を介して通信するための通信規格に適合するように構成されている。
【0039】
次に、
図4から
図6を参照することで視野画像をHMD110に表示するための処理について説明する。
図4は、視野画像をHMD110に表示するための処理を示すフローチャートである。
図5は、仮想空間200の一例を示すxyz空間図を示す。
図6の状態(a)は、
図5に示す仮想空間200のyx平面図であって、
図6の状態(b)は、
図5に示す仮想空間200のzx平面図である。
【0040】
図4に示すように、ステップS1において、制御部121(
図3参照)は、仮想カメラ300を含む仮想空間200を定義する仮想空間データを生成する。
図5および
図6に示すように、仮想空間200は、中心位置21を中心とした全天球として規定される(
図5および
図6では、上半分の天球のみが図示されている)。また、仮想空間200には、中心位置21を原点とするxyz座標系が設定されている。HMDシステム1の初期状態では、仮想カメラ300が仮想空間200の中心位置21に配置されている。
仮想カメラ300の視野を定義するuvw座標系は、現実空間におけるユーザUの頭部を中心として規定されたuvw座標系に連動するように決定される。また、HMD110を装着したユーザUの現実空間における移動に連動して、仮想カメラ300を仮想空間200内で移動させてもよい。
【0041】
次に、ステップS2において、制御部121は、仮想カメラ300の視野CV(
図6参照)を特定する。具体的には、制御部121は、位置センサ130および/またはHMDセンサ114から送信されたHMD110の状態を示すデータに基づいて、HMD110の位置や傾きに関する情報を取得する。次に、制御部121は、HMD110の位置や傾きに関する情報に基づいて、仮想空間200内における仮想カメラ300の位置や向きを決定する。次に、制御部121は、仮想カメラ300の位置や向きから仮想カメラ300の視軸に相当する基準視線Lを決定し、決定された基準視線Lから仮想カメラ300の視野CVを特定する。ここで、仮想カメラ300の視野CVは、HMD110を装着したユーザUが視認可能な仮想空間200の一部の領域と一致する。換言すれば、視野CVは、HMD110に表示される仮想空間200の一部の領域に一致する。また、視野CVは、
図6の状態(a)に示すxy平面において、基準視線Lを中心とした極角θαの角度範囲として設定される第1領域CVaと、
図6の状態(b)に示すxz平面において、基準視線Lを中心とした方位角θβの角度範囲として設定される第2領域CVbとを有する。
【0042】
このように、制御部121は、位置センサ130および/またはHMDセンサ114からのデータに基づいて、仮想カメラ300の視野CVを特定することができる。ここで、HMD110を装着したユーザUが動くと、制御部121は、位置センサ130および/またはHMDセンサ114から送信されたHMD110の動きを示すデータに基づいて、仮想カメラ300の視野CVを特定することができる。つまり、制御部121は、HMD110の動きに応じて、視野CVを移動させることができる。
【0043】
次に、ステップS3において、制御部121は、HMD110の表示部112に表示される視野画像を示す視野画像データを生成する。具体的には、制御部121は、仮想空間200を規定する仮想空間データと、仮想カメラ300の視野CVとに基づいて、視野画像データを生成する。すなわち、仮想カメラ300の視野CVにより、仮想空間データのうち視野画像データとして描画される範囲が定まる。
【0044】
次に、ステップS4において、制御部121は、視野画像データに基づいて、HMD110の表示部112に視野画像を表示する。このように、HMD110を装着しているユーザUの動きに応じて、仮想カメラ300の視野CVが変化し、HMD110に表示される視野画像Vが変化するので、ユーザUは仮想空間200に没入することができる。
【0045】
次に、本実施形態に係る表示制御方法について、
図7から
図11を参照して説明する。
図7は、本実施形態に係る表示制御方法を説明するためのフローチャートである。
図8から
図11は、本実施形態に係る表示制御方法で規定される仮想空間の模式図、および、当該仮想空間に基づいて生成される視野画像である。
【0046】
最初に、
図8の状態(a)に示すように、仮想空間200は、仮想カメラ300と、第一の対象オブジェクトFCと、第二の対象オブジェクトSCと、を含む。制御部121は、これらのオブジェクトを含む仮想空間200を規定する仮想空間データを生成している。
【0047】
仮想カメラ300は、ユーザUが操作するHMDシステム1に関連付けられている。すなわち、ユーザUが装着するHMD110の動きに応じて仮想カメラ300の位置や向き(すなわち、仮想カメラ300の視野CV)が変更される。なお、
図8等においては、仮想カメラ300が仮想空間200の中心から離れた位置に配置されているが、仮想カメラ300は、仮想空間200の中心に配置されていても良い。
【0048】
仮想空間200内には、ゲームプログラムの進行に応じて複数の対象オブジェクトが配置され得るが、説明の容易化のため、本例では第一の対象オブジェクトFCおよび第二の対象オブジェクトSCのみを図示している。第一の対象オブジェクトFCは、第二の対象オブジェクトSCよりも仮想カメラ300に対して手前側に配置されているオブジェクトである。本実施形態では、第一の対象オブジェクトFCは、例えば樹木のオブジェクトであり、第二の対象オブジェクトSCは、例えば、他のユーザや制御部が制御可能な敵キャラクタである。
【0049】
上述の通り、第二の対象オブジェクトSCよりも大きな第一の対象オブジェクトFCが第二の対象オブジェクトSCの手前に配置されている場合、
図8の状態(b)に示すように、HMD110の表示部112に表示される視野画像Vにおいては、奥側の第二の対象オブジェクトSCは第一の対象オブジェクトFCで隠れてしまいユーザが視認することができない。
【0050】
そこで、本実施形態では、仮想空間での空間把握を容易にするための透過処理オブジェクトTP(特定処理オブジェクトの一例)をユーザUの入力操作に基づいて仮想空間200内に配置可能(視野画像V内に表示可能)としている。この透過処理オブジェクトTPに関する表示制御方法について
図7等を参照して以下説明する。
【0051】
まず、制御部121は、ユーザUが所定のモード(例えば、ビューモード)を選択したか否かを判定する(
図7のステップS10)。このビューモードは、例えば、視野画像V内に表示されるメニュー画面(不図示)等から、ユーザUが外部コントローラ320を操作して選択し得る。あるいは、ユーザUの視線方向を検出するアイ・トラッキング・センサ(注視センサ)を設け、当該アイ・トラッキング・センサでの検知に基づいて制御部121においてビューモードが選択されたと判定されても良い。
【0052】
ユーザUの入力操作によりビューモードが選択されたと判定された場合には(ステップS10のYes)、制御部121は、
図9の状態(a)に示すように、仮想空間200内の所定の位置に、透過処理オブジェクトTPを配置する(ステップS12)。具体的には、仮想空間200のうち仮想カメラ300の視野CV内に透過処理オブジェクトTPを配置することが好ましい。これにより、
図9の状態(b)に示すように、視野画像V内の所定位置に、当該透過処理オブジェクトTPが表示される。透過処理オブジェクトTPは、仮想カメラ300から遠い側に開口を有する二次元的な図形、例えば、仮想カメラ300側に頂点があり仮想カメラ300から遠い側に開口があるV字状の図形オブジェクトとして構成されている。この透過処理オブジェクトTPは、ユーザUの入力操作によって、仮想空間200を構成する三次元直交座標系における位置および傾きが変更可能である。
【0053】
次に、制御部121は、視野CV内における透過処理オブジェクトTPよりも仮想カメラ300側に対象オブジェクト(例えば、第一の対象オブジェクトFCや第二の対象オブジェクトSC)の少なくとも一部が存在するか否かを判定する(ステップS14)。ここで、「透過処理オブジェクトTPよりも仮想カメラ300側に対象オブジェクトの少なくとも一部が存在する」とは、二次元的なV字型オブジェクトである透過処理オブジェクトTPが対象オブジェクトにかかる、すなわち、対象オブジェクトと重複するような位置に配置されたことを意味する。
【0054】
透過処理オブジェクトTPよりも仮想カメラ300側に第一の対象オブジェクトFCや第二の対象オブジェクトSCの少なくとも一部が存在しないと判定された場合には(ステップS14のNo)、制御部121は、透過処理オブジェクトTPに対するユーザUの入力操作を受け付けたか否かを判定する(ステップS16)。当該入力操作には、透過処理オブジェクトTPの移動だけではなく、傾き(向き)の変更や、開口角度の調整も含まれる。例えば、ユーザUが外部コントローラ320を操作することで、透過処理オブジェクトTPに対する入力操作信号が制御部121へと送信される。
【0055】
透過処理オブジェクトTPに対するユーザUの入力操作を受け付けたと判定された場合には(ステップS16のYes)、制御部121は、当該入力操作に基づいて、透過処理オブジェクトTPを制御する(ステップS18)。例えば、透過処理オブジェクトTPの移動に関する入力操作を受け付けた場合には、制御部121は、当該入力操作に応じて、透過処理オブジェクトTPを移動させる。例えば、
図10の状態(a)に示すように、制御部121は透過処理オブジェクトTPを初期位置よりも右側に移動させる。これにより、
図10の状態(b)に示すように、視野画像V内においても透過処理オブジェクトTPが右側に移動される。その後、制御部121は、処理をステップS14へ戻す。
【0056】
ステップS14において、透過処理オブジェクトTPよりも仮想カメラ300側に対象オブジェクト(第一の対象オブジェクトFCや第二の対象オブジェクトSC)の少なくとも一部が存在すると判定された場合には(ステップS14のYes)、制御部121は、当該対象オブジェクトを透過処理する(ステップS20)。例えば、
図10の状態(a)に示すように、透過処理オブジェクトTPが初期位置よりも右側に移動されることにより、第一の対象オブジェクトFCの少なくとも一部が透過処理オブジェクトTPよりも仮想カメラ300側に存在することとなった場合には、制御部121は、第一の対象オブジェクトFCを透過処理(例えば、完全に透明化)する(
図11の状態(a)参照)。これにより、
図11の状態(b)に示すように、視野画像Vでは第一の対象オブジェクトFCが透過処理され、第一の対象オブジェクトFCよりも仮想カメラ300に対して奥側に存在している第二の対象オブジェクトSCが視認可能な状態となる。なお、対象オブジェクトの透過処理は、完全透過に限られず、その奥が視認可能な程度であれば半透過であっても良い。
【0057】
その後、制御部121は、処理をステップS16へ戻し、ユーザUの入力操作を受け付けた場合には、当該入力操作に基づいて透過処理オブジェクトTPを制御しつつ(ステップS18)、透過処理オブジェクトTPと重複することとなった所定の対象オブジェクトを透過処理する(ステップS14およびステップS20)。すなわち、制御部121が、ユーザの入力操作に基づいて、開口を形成する二次元的な透過処理オブジェクトTPの三次元直交座標系における位置および傾きを変更することによって、仮想空間200において透過処理する二次元的な領域の三次元直交座標系における位置および傾きが変更される。これにより、三次元空間である仮想空間内において透過処理オブジェクトTPを任意の位置や向きに自由に動かして透過処理された視野画像を視認できるため、リッチな仮想空間体験を提供することができる。
【0058】
また、ステップS20の後に、制御部121は、ユーザUがビューモードの選択を解除したか否かを判定する(ステップS22)。ビューモードの選択解除は、例えば、ユーザUによる外部コントローラ320の操作や、アイ・トラッキング・センサでの検知により判定可能である。ユーザUがビューモードの選択を解除したと判定された場合には(ステップS22のYes)、制御部121は、透過処理オブジェクトTPを非表示とするとともに、透過処理オブジェクトTPにより透過処理されていた第一の対象オブジェクトFCを非透過とする(ステップS24)。これにより、
図8の状態(a)に示す仮想空間200の状態に戻り、ユーザUは
図8の状態(b)に示す視野画像Vを視認可能となる。すなわち、第二の対象オブジェクトSCは、第一の対象オブジェクトFCによって再び隠される。その後、制御部121は、処理をステップS10へ戻す。
【0059】
以上説明したように、本実施形態によれば、制御部121は、ユーザUの入力操作に基づいて、仮想カメラ300から遠い側に開口を有するV字型の透過処理オブジェクトTPを仮想空間200内に表示させ、視野CV内における透過処理オブジェクトTPよりも仮想カメラ300側に対象オブジェクトFC,SCの少なくとも一部が存在するか否かを判定し、透過処理オブジェクトTPを移動させることにより、透過処理オブジェクトTPよりも仮想カメラ300側に少なくとも一部が存在すると判定された対象オブジェクト(例えば、第一の対象オブジェクトFC)を透過処理する。これにより、ユーザUは第一の対象オブジェクトFCによって隠れていた奥側の第二の対象オブジェクトSCを視認できるようになり、VR空間における空間把握が容易となる。
【0060】
なお、本例においては、透過処理オブジェクトTPの移動や各種調整(開口角度や向きの調整など)を、外部コントローラ320の入力操作に応じて行っているが、この例に限られない。例えば、
図12に示すように、仮想空間200内にユーザUの入力操作により操作可能な仮想手オブジェクトH(操作オブジェクトの一例)を配置し、当該仮想手オブジェクトHで透過処理オブジェクトTPを掴んで移動させるような態様であってもよい。これにより、より直感的に透過処理オブジェクトTPを制御することができる。
【0061】
また、
図13に示すように、透過処理オブジェクトTPの開口角度θを仮想手オブジェクトHの例えば親指と人差し指とで形成されるV字形に対応させ、仮想手オブジェクトHの指で形成されるV字形の角度を変化させることで開口角度θを変化させても良い。これにより、より直感的に透過処理オブジェクトTPを制御することができる。
【0062】
なお、本例においては、透過処理オブジェクトTPは、仮想カメラ300から遠い側に開口を有する二次元的な図形であれば、その形状は
図8等に示されるものに限られない。例えば、
図14の状態(a)に示すような曲線形状(U字状)の透過処理オブジェクトTP1や、
図14の状態(b)に示すような分離された形状の透過処理オブジェクトTP2であっても良い。
【0063】
(変形例1)
図15は、変形例1に係る表示制御方法で規定される仮想空間の模式図である。
図16の状態(a)は、変形例1に係る表示制御方法で規定される仮想空間の模式図であり、
図16の状態(b)は、当該仮想空間に基づいて生成される視野画像である。
図15に示すように、仮想空間200内において重なった第一の対象オブジェクトFCおよび第二の対象オブジェクトSCの両者の一部が透過処理オブジェクトTPよりも仮想カメラ300側に存在するようになった場合には、制御部121は、第一の対象オブジェクトFCおよび第二の対象オブジェクトSCをともに透過処理しても良く、
図16の状態(a)に示すように、手前側の第一の対象オブジェクトFCのみを透過処理し、奥側の第二の対象オブジェクトSCは透過処理しないようにしても良い。後者の場合は、
図16の状態(b)に示すように、視野画像V内において奥側の第二の対象オブジェクトSCが視認可能となる。本開示は、仮想空間200内において手前側の大きな対象オブジェクト(例えば、第一の対象オブジェクトFC)によって奥側の小さな対象オブジェクト(例えば、第二の対象オブジェクトSC)が隠れている場合に、奥側の対象オブジェクトを視認可能にすることを目的としているため、第一および第二の対象オブジェクトFC,SCの両方に透過処理を施すのではなく、手前側の第一の対象オブジェクトFCのみを透過処理すれば十分である。
【0064】
(変形例2)
図17の状態(a)は、変形例2に係る表示制御方法で規定される仮想空間の模式図であり、
図17の状態(b)は、当該仮想空間に基づいて生成される視野画像である。
上記の実施形態においては、透過処理オブジェクトTPよりも仮想カメラ300側に第一の対象オブジェクトFCの少なくとも一部が存在すると判定された場合には、制御部121は、当該第一の対象オブジェクトFCの全体を透過処理する構成となっているが、この例に限られない。例えば、仮想空間200内に配置された第一の対象オブジェクトFCに対して透過処理オブジェクトTPがかかった場合に、制御部121は、
図17の状態(a)に示すように、第一の対象オブジェクトFCの透過処理オブジェクトTPよりも手前側に存在する部分のみを透過処理するようにしても良い。これにより、
図17の状態(b)に示すように、視野画像V内において手前側の第一の対象オブジェクトFCの一部が透過されて奥側の第二の対象オブジェクトSCの一部が視認可能となり、上記の実施形態と同様に、ユーザUが容易に空間把握をすることができる。
【0065】
以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲およびその均等の範囲に基づいて定められるべきである。
【0066】
制御部121によって実行される各種処理をソフトウェアによって実現するために、本実施形態に係る情報処理方法をコンピュータ(プロセッサ)に実行させるための情報処理プログラムが記憶部123またはROMに予め組み込まれていてもよい。または、情報処理プログラムは、磁気ディスク(HDD、フロッピーディスク)、光ディスク(CD−ROM,DVD−ROM、Blu−rayディスク等)、光磁気ディスク(MO等)、フラッシュメモリ(SDカード、USBメモリ、SSD等)等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置120に接続されることで、当該記憶媒体に格納されたプログラムが、記憶部123に組み込まれる。そして、記憶部123に組み込まれた情報処理プログラムがRAM上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部121は本実施形態に係る情報処理方法を実行する。
【0067】
また、情報処理プログラムは、通信ネットワーク3上のコンピュータから通信インターフェース125を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該プログラムが記憶部123に組み込まれる。
【解決手段】HMDを備えたシステムにおける表示制御方法であって、仮想カメラ300と対象オブジェクトFC、SCとを含む仮想空間200データを生成し、仮想カメラの視野CV、仮想空間データに基づいてHMDに視野画像を表示させ、HMDの動きに基づいて仮想カメラを動かし、視野画像を更新する。さらに、入力操作に基づいて、仮想カメラから遠い側に開口を有する図形で構成される特定処理オブジェクトTPを表示させる。視野内における特定処理オブジェクトよりも仮想カメラ側に対象オブジェクトの少なくとも一部が存在するか否かを判定し、特定処理オブジェクトを移動させることにより、仮想カメラ側に少なくとも一部が存在すると判定された対象オブジェクトの、少なくとも一部を透過処理する。