(57)【要約】【課題】仮想空間における非制作領域の視認を制限可能な表示制御方法を提供する。【解決手段】ヘッドマウントディスプレイ（ＨＭＤ）を備えたシステムにおける表示制御方法であって、当該方法は、仮想カメラ３００と非制作領域ＮＲを有する少なくとも一つの対象物Ｗとを含む仮想空間を示す仮想空間データを生成するステップと、仮想カメラ３００の視野および仮想空間データに基づいて、ＨＭＤに視野画像を表示させるステップと、ＨＭＤの移動量に応じて仮想カメラ３００を移動させるステップと、ＨＭＤの移動量に基づいて仮想カメラ３００と対象物Ｗとの間の距離を特定するステップと、当該距離が所定の閾値Ｌ１以下であると判定された場合には、当該距離が所定の下限値Ｌ２を下回らないように、仮想カメラ３００の位置を制御するステップと、を含む。【選択図】図９
2018171455.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドマウントディスプレイを備えたシステムにおける表示制御方法であって、
（ａ）仮想カメラと、非制作領域を有する少なくとも一つの対象物とを含む仮想空間を示す仮想空間データを生成するステップと、
（ｂ）前記仮想カメラの視野および前記仮想空間データに基づいて、前記ヘッドマウントディスプレイに視野画像を表示させるステップと、
（ｃ）前記ヘッドマウントディスプレイの移動量に応じて前記仮想カメラを移動させるステップと、
（ｄ）前記移動量に基づいて前記仮想カメラと前記対象物との間の距離を特定するステップと、
（ｅ）前記距離が所定の閾値以下であると判定された場合には、前記距離が所定の下限値を下回らないように、前記仮想カメラの位置を制御するステップと、
を含む、表示制御方法。
【請求項２】
前記ステップ（ｄ）では、前記ヘッドマウントディスプレイの前記移動量に基づいて前記仮想カメラが移動されたと想定された場合の前記仮想カメラと前記対象物との間の想定距離を特定し、
前記ステップ（ｅ）では、前記想定距離が所定の閾値以下である場合には、前記仮想カメラと前記対象物との前記仮想空間内における実際の距離が前記所定の下限値を下回らないように、前記仮想カメラの位置を制御する、請求項１に記載の表示制御方法。
【請求項３】
前記所定の下限値は、前記距離がゼロ以上の範囲で任意に設定可能である、請求項１または２に記載の表示制御方法。
【請求項４】
前記所定の下限値は、前記対象物の表面と一致した位置となるように設定される、請求項３に記載の表示制御方法。
【請求項５】
前記所定の下限値は、前記閾値よりも前記対象物に近い位置となるように設定される、請求項３に記載の表示制御方法。
【請求項６】
前記所定の下限値は、前記閾値よりも前記対象物に対して離れた位置となるように設定される、請求項３に記載の表示制御方法。
【請求項７】
前記ステップ（ｅ）では、前記所定の下限値以上の距離を保った所定位置に前記仮想カメラを瞬時に移動させる、請求項１から６のいずれか一項に記載の表示制御方法。
【請求項８】
前記ステップ（ｅ）では、前記ヘッドマウントディスプレイの前記移動量を前記仮想カメラの移動量に変換する際の変換率を、前記距離が前記所定の閾値以上であると判定された場合の前記変換率よりも下げる、請求項１から６のいずれか一項に記載の表示制御方法。
【請求項９】
前記ステップ（ｅ）では、前記仮想カメラの位置を変更しない、請求項１または２に記載の表示制御方法。
【請求項１０】
前記ステップ（ｅ）は、前記仮想カメラの視野内に警告メッセージを表示するステップ、あるいは前記ヘッドマウントディスプレイに付随するイヤホンから警告音を再生するステップをさらに含む、請求項１から９のいずれか一項に記載の表示制御方法。
【請求項１１】
請求項１から１０のいずれか一項に記載の表示制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
ユーザの頭部に装着され、仮想現実（ＶＲ：Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）空間や拡張現実（ＡＲ：Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）空間等の仮想空間として仮想空間画像を表示可能なヘッドマウントディスプレイ（ＨＭＤ：Ｈｅａｄ‐Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）が知られている。特許文献１は、仮想空間を利用して建築物等の物件の設計支援を行うための視点情報表示機能付き設計支援システムを開示している。特許文献１には、リアルタイムで視点位置を変更する手段として、操作ボタン群を操作してユーザが仮想空間内で前後左右にウォークスルーする従来手段の他に、平面図表示部で視点位置を入力することにより瞬時に視点位置を移動させたり、視野角を変更することによって現実空間におけるユーザの移動量を仮想空間における移動量に変換する際の倍率（スケール）を変更させたりする手段が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１７２７４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
三次元の仮想空間内に背景画像や建造物オブジェクトなどの静的オブジェクトを配置してゲーム空間を生成する場合には、レンダリング処理等の負荷を軽減するため、通常は視認されることが想定されていないゲーム空間の裏側（例えば、背景画像の裏面や静的オブジェクトの内側）は作り込まない、すなわちゲーム画面としてレンダリングされることが想定されていない。しかしながら、このようなゲーム空間において、特許文献１に記載のように仮想空間内におけるユーザの移動や視野角の変更に応じて視点位置を変更すると、レンダリングされることが想定されていないゲーム空間の裏側（以下、これらを「非制作領域」と称する）までもがユーザに視認されてしまう場合がある。
【０００５】
本開示は、仮想空間における非制作領域の視認を制限可能な表示制御方法を提供することを目的とする。また、本開示は、当該表示制御方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示が示す一態様によれば、ヘッドマウントディスプレイを備えたシステムにおける表示制御方法であって、
当該表示制御方法は、
（ａ）仮想カメラと、非制作領域を有する少なくとも一つの対象物とを含む仮想空間を示す仮想空間データを生成するステップと、
（ｂ）前記仮想カメラの視野および前記仮想空間データに基づいて、前記ヘッドマウントディスプレイに視野画像を表示させるステップと、
（ｃ）前記ヘッドマウントディスプレイの移動量に応じて前記仮想カメラを移動させるステップと、
（ｄ）前記移動量に基づいて前記仮想カメラと前記対象物との間の距離を特定するステップと、
（ｅ）前記距離が所定の閾値以下であると判定された場合には、前記距離が所定の下限値を下回らないように、前記仮想カメラの位置を制御するステップと、
を含む。
【発明の効果】
【０００７】
本開示によれば、仮想空間における非制作領域の視認を制限可能な表示制御方法を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係るヘッドマウントディスプレイ（ＨＭＤ）システムを示す概略図である。
【図２】ＨＭＤを装着したユーザの頭部を示す図である。
【図３】制御装置のハードウェア構成を示す図である。
【図４】視野画像をＨＭＤに表示する処理を示すフローチャートである。
【図５】仮想空間の一例を示すｘｙｚ空間図である。
【図６】（ａ）は、図４に示す仮想空間のｙｘ平面図であり、（ｂ）は、図４に示す仮想空間のｚｘ平面図である。
【図７】ＨＭＤに表示される視野画像の一例を示す図である。
【図８】ＨＭＤの視野の変化に伴い、仮想カメラが非制作領域を有する対象物に近づいた場合の処理を説明するためのフローチャートである。
【図９】（ａ）は、仮想カメラが非制作領域を有する対象物に近づいた場合の処理を示す図であり、（ｂ）は、（ａ）の場合の仮想カメラの移動速度の変化を示すグラフである。
【図１０】変形例において、仮想カメラが非制作領域を有する対象物に近づいた場合の処理を示す図である。
【図１１】別の変形例において、仮想カメラが非制作領域を有する対象物に近づいた場合の処理を示す図である。
【図１２】さらに別の変形例において、仮想カメラが非制作領域を有する対象物に近づいた場合の処理を示す図である。
【図１３】対象物へ仮想カメラが接近したことに基づき、視野画像内に警告メッセージが表示される様子を示した図である。
【発明を実施するための形態】
【０００９】
［本開示が示す実施形態の説明］
本開示が示す実施形態の概要を説明する。
（１）ヘッドマウントディスプレイを備えたシステムにおける表示制御方法であって、  当該表示制御方法は、
（ａ）仮想カメラと、非制作領域を有する少なくとも一つの対象物とを含む仮想空間を示す仮想空間データを生成するステップと、
（ｂ）前記仮想カメラの視野および前記仮想空間データに基づいて、前記ヘッドマウントディスプレイに視野画像を表示させるステップと、
（ｃ）前記ヘッドマウントディスプレイの移動量に応じて前記仮想カメラを移動させるステップと、
（ｄ）前記移動量に基づいて前記仮想カメラと前記対象物との間の距離を特定するステップと、
（ｅ）前記距離が所定の閾値以下であると判定された場合には、前記距離が所定の下限値を下回らないように、前記仮想カメラの位置を制御するステップと、
を含む。
【００１０】
上記方法によれば、非制作領域を有する対象物に対して仮想カメラが所定の距離までしか近づくことができないように仮想カメラの位置が制御される。これにより、例えばヘッドマウントディスプレイの予期しない動きに連動して仮想カメラが対象物をすり抜けて、非制作領域が視認されてしまうことを防止することができる。そのため、ゲーム空間の裏側まで作り込む必要がなくなる。
【００１１】
（２）前記ステップ（ｄ）では、前記ヘッドマウントディスプレイの前記移動量に基づいて前記仮想カメラが移動されたと想定された場合の前記仮想カメラと前記対象物との間の想定距離を特定し、
前記ステップ（ｅ）では、前記想定距離が所定の閾値以下である場合には、前記仮想カメラと前記対象物との前記仮想空間内における実際の距離が前記所定の下限値を下回らないように、前記仮想カメラの位置を制御しても良い。
【００１２】
上記方法によれば、対象物へ向かう方向への仮想カメラが移動した場合の仮想カメラと対象物との想定距離に対して仮想カメラと対象物との実際の距離を制限することで、非制作領域の視認を確実に制限することができる。
【００１３】
（３）前記所定の下限値は、前記距離がゼロ以上の範囲で任意に設定可能であっても良い。
【００１４】
（４）前記所定の下限値は、前記対象物の表面と一致した位置となるように設定されても良い。
【００１５】
（５）前記下限値は、前記閾値よりも前記対象物に近い位置となるように設定されても良い。
【００１６】
（６）前記下限値は、前記閾値よりも前記対象物に対して離れた位置となるように設定されても良い。
【００１７】
これらの方法によれば、生成される仮想空間あるいは対象物に応じて、対象物にどの程度まで近づくことができるかを任意に設定することができる。
【００１８】
（７）前記ステップ（ｅ）では、前記下限値以上の距離を保った所定位置に前記仮想カメラを瞬時に移動させても良い。
【００１９】
上記方法によれば、仮想カメラは、対象物と一定の距離を保った位置に瞬間移動される。これにより、非制作領域が視認されないように処理しつつ、ユーザに対して対象物に向かう方向への移動が制限されていることを伝えることができる。
【００２０】
（８）前記ステップ（ｅ）では、前記ヘッドマウントディスプレイの前記移動量を前記仮想カメラの移動量に変換する際の変換率を、前記距離が前記所定の閾値以上であると判定された場合の前記変換率よりも下げても良い。
【００２１】
上記方法によれば、対象物に向かう方向への移動時には、仮想カメラの通常の移動速度よりも遅い速度で仮想カメラの視野が変更される。すなわち、ヘッドマウントディスプレイの移動に対する仮想カメラの反応速度を鈍くする。これにより、非制作領域が視認されないように処理しつつ、ユーザに対して対象物へ向かう方向への移動が制限されていることを伝えることができる。
【００２２】
（９）前記ステップ（ｅ）では、前記仮想カメラの位置を変更しなくても良い。
【００２３】
上記方法によれば、ヘッドマウントディスプレイの対象物に向かう方向への移動を仮想カメラの移動に反映させないように、仮想カメラの位置が制御される。これにより、非制作領域が視認されないように処理しつつ、ユーザに対して対象物に向かう方向への移動が制限されていることを伝えることができる。
【００２４】
（１０）前記ステップ（ｅ）は、前記仮想カメラの視野内に警告メッセージを表示するステップ、あるいは前記ヘッドマウントディスプレイに付随するイヤホンから警告音を再生するステップをさらに含んでも良い。
【００２５】
上記方法によれば、対象物に向かう方向への移動が制限されている旨のメッセージをユーザに報知することができる。
【００２６】
（１１）一実施形態に係るプログラムは、（１）から（１０）のうちいずれかに記載の表示制御方法をコンピュータに実行させるためのプログラムである。
【００２７】
この構成によれば、仮想空間における非制作領域の視認を制限可能なプログラムを提供することができる。
【００２８】
［本開示が示す実施形態の詳細］
以下、本開示が示す実施形態について図面を参照しながら説明する。なお、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
【００２９】
図１は、本開示が示す実施形態（以下、単に本実施形態という。）に係るヘッドマウントディスプレイ（以下、単にＨＭＤという。）システム１を示す概略図である。図１に示すように、ＨＭＤシステム１は、ユーザＵの頭部に装着されたＨＭＤ１１０と、位置センサ１３０と、制御装置１２０と、外部コントローラ３２０とを備える。
【００３０】
ＨＭＤ１１０は、表示部１１２と、ＨＭＤセンサ１１４と、ヘッドフォン１１６とを備えている。なお、ＨＭＤ１１０にヘッドフォン１１６を設けずに、ＨＭＤ１１０とは独立したスピーカやヘッドフォンを用いても良い。
【００３１】
表示部１１２は、ＨＭＤ１１０を装着したユーザＵの視界（視野）を完全に覆うように構成された非透過型の表示装置を備えている。これにより、ユーザＵは、表示部１１２に表示された視野画像のみを見ることで仮想空間に没入することができる。なお、表示部１１２は、ユーザＵの左目に投影される左目用の表示部とユーザＵの右目に投影される右目用の表示部とから構成されてもよい。
【００３２】
ＨＭＤセンサ１１４は、ＨＭＤ１１０の表示部１１２の近傍に搭載される。ＨＭＤセンサ１１４は、地磁気センサ、加速度センサ、傾きセンサ（角速度センサやジャイロセンサ等）のうちの少なくとも１つを含み、ユーザＵの頭部に装着されたＨＭＤ１１０の各種動きを検出することができる。
【００３３】
位置センサ１３０は、例えば、ポジション・トラッキング・カメラにより構成され、ＨＭＤ１１０の位置を検出するように構成されている。位置センサ１３０は、制御装置１２０に無線または有線により通信可能に接続されており、ＨＭＤ１１０に設けられた図示しない複数の検知点の位置、傾きまたは発光強度に関する情報を検出するように構成されている。また、位置センサ１３０は、赤外線センサや複数の光学カメラを含んでもよい。
【００３４】
制御装置１２０は、位置センサ１３０から取得された情報に基づいて、ＨＭＤ１１０の位置情報を取得し、当該取得された位置情報に基づいて、仮想空間における仮想カメラの位置と、現実空間におけるＨＭＤ１１０を装着したユーザＵの位置を正確に対応付けることができる。
【００３５】
次に、図２を参照して、ＨＭＤ１１０の位置や傾きに関する情報を取得する方法について説明する。図２は、ＨＭＤ１１０を装着したユーザＵの頭部を示す図である。ＨＭＤ１１０を装着したユーザＵの頭部の動きに連動したＨＭＤ１１０の位置や傾きに関する情報は、位置センサ１３０および／またはＨＭＤ１１０に搭載されたＨＭＤセンサ１１４により検出可能である。図２に示すように、ＨＭＤ１１０を装着したユーザＵの頭部を中心として、３次元座標（ｕｖｗ座標）が規定される。ユーザＵが直立する垂直方向をｖ軸として規定し、ｖ軸と直交し表示部１１２の中心とユーザＵとを結ぶ方向をｗ軸として規定し、ｖ軸およびｗ軸と直交する方向をｕ軸として規定する。位置センサ１３０および／またはＨＭＤセンサ１１４は、各ｕｖｗ軸回りの角度（すなわち、ｖ軸を中心とする回転を示すヨー角、ｕ軸を中心とした回転を示すピッチ角、ｗ軸を中心とした回転を示すロール角で決定される傾き）を検出する。制御装置１２０は、検出された各ｕｖｗ軸回りの角度変化に基づいて、視野情報を定義する仮想カメラの視軸を制御するための角度情報を決定する。
【００３６】
次に、図３を参照することで、制御装置１２０のハードウェア構成について説明する。図３は、制御装置１２０のハードウェア構成を示す図である。図３に示すように、制御装置１２０は、制御部１２１と、記憶部１２３と、Ｉ／Ｏ（入出力）インターフェース１２４と、通信インターフェース１２５と、バス１２６とを備える。制御部１２１と、記憶部１２３と、Ｉ／Ｏインターフェース１２４と、通信インターフェース１２５とは、バス１２６を介して互いに通信可能に接続されている。
【００３７】
制御装置１２０は、ＨＭＤ１１０とは別体に、パーソナルコンピュータ、タブレットまたはウェアラブルデバイスとして構成されてもよいし、ＨＭＤ１１０の内部に搭載されていてもよい。また、制御装置１２０の一部の機能がＨＭＤ１１０に搭載されると共に、制御装置１２０の残りの機能がＨＭＤ１１０とは別体の他の装置に搭載されてもよい。
【００３８】
制御部１２１は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成される。プロセッサは、例えばＣＰＵ(Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ)、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および／またはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であって、ＲＯＭに組み込まれた各種プログラムから指定されたプログラムをＲＡＭ上に展開し、ＲＡＭとの協働で各種処理を実行するように構成されている。
【００３９】
特に、プロセッサが本実施形態に係る表示制御方法をコンピュータに実行させるための表示制御プログラム（後述する）をＲＡＭ上に展開し、ＲＡＭとの協働で当該プログラムを実行することで、制御部１２１は、制御装置１２０の各種動作を制御してもよい。制御部１２１は、メモリや記憶部１２３に格納された所定のアプリケーション（ゲームプログラム）を実行することで、ＨＭＤ１１０の表示部１１２に仮想空間（視野画像）を提供する。これにより、ユーザＵは、表示部１１２に提供された仮想空間に没入することができる。
【００４０】
記憶部（ストレージ）１２３は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部１２３には、表示制御プログラムが組み込まれてもよい。また、ユーザの認証プログラムや各種画像やオブジェクトに関するデータを含むゲームプログラム等が格納されてもよい。さらに、記憶部１２３には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。
【００４１】
Ｉ／Ｏインターフェース１２４は、位置センサ１３０と、ＨＭＤ１１０と、外部コントローラ３２０をそれぞれ制御装置１２０に通信可能に接続するように構成されており、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ―Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子等により構成されている。なお、制御装置１２０は、位置センサ１３０と、ＨＭＤ１１０と、外部コントローラ３２０のそれぞれと無線接続されていてもよい。
【００４２】
通信インターフェース１２５は、制御装置１２０をＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）またはインターネット等の通信ネットワーク３に接続させるように構成されている。通信インターフェース１２５は、通信ネットワーク３を介して外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク３を介して通信するための通信規格に適合するように構成されている。
【００４３】
次に、図４から図６を参照することで視野画像をＨＭＤ１１０に表示するための処理について説明する。図４は、視野画像ＶをＨＭＤ１１０に表示するための処理を示すフローチャートである。図５は、仮想空間２００の一例を示すｘｙｚ空間図を示す。図６（ａ）は、図５に示す仮想空間２００のｙｘ平面図であって、図６（ｂ）は、図５に示す仮想空間２００のｚｘ平面図である。
【００４４】
図４に示すように、ステップＳ１において、制御部１２１（図３参照）は、仮想カメラ３００が配置された仮想空間２００を示す仮想空間データを生成する。図５および図６に示すように、仮想空間２００は、中心位置２１を中心とした全天球として規定される（図５および図６では、上半分の天球のみが図示されている）。また、仮想空間２００には、中心位置２１を原点とするｘｙｚ座標系が設定されている。ＨＭＤシステム１の初期状態では、仮想カメラ３００が仮想空間２００の中心位置２１に配置されている。
仮想カメラ３００の視野を定義するｕｖｗ座標系は、現実空間におけるユーザＵの頭部を中心として規定されたｕｖｗ座標系に連動するように決定される。また、ＨＭＤ１１０を装着したユーザＵの現実空間における移動に連動して、仮想カメラ３００を仮想空間２００内で移動させてもよい。
【００４５】
次に、ステップＳ２において、制御部１２１は、仮想カメラ３００の視野ＣＶ（図６参照）を特定する。具体的には、制御部１２１は、位置センサ１３０および／またはＨＭＤセンサ１１４から送信されたＨＭＤ１１０の状態を示すデータに基づいて、ＨＭＤ１１０の位置や傾きに関する情報を取得する。次に、制御部１２１は、ＨＭＤ１１０の位置や傾きに関する情報に基づいて、仮想空間２００内における仮想カメラ３００の位置や向きを決定する。次に、制御部１２１は、仮想カメラ３００の位置や向きから仮想カメラ３００の視軸に相当する基準視線Ｌを決定し、決定された基準視線Ｌから仮想カメラ３００の視野ＣＶを特定する。ここで、仮想カメラ３００の視野ＣＶは、ＨＭＤ１１０を装着したユーザＵが視認可能な仮想空間２００の一部の領域と一致する（換言すれば、ＨＭＤ１１０に表示される仮想空間２００の一部の領域に一致する）。また、視野ＣＶは、図６（ａ）に示すｘｙ平面において、基準視線Ｌを中心とした極角αの角度範囲として設定される第１領域ＣＶａと、図６（ｂ）に示すｘｚ平面において、基準視線Ｌを中心とした方位角βの角度範囲として設定される第２領域ＣＶｂとを有する。
【００４６】
このように、制御部１２１は、位置センサ１３０および／またはＨＭＤセンサ１１４からのデータに基づいて、仮想カメラ３００の視野ＣＶを特定することができる。ここで、ＨＭＤ１１０を装着したユーザＵが動くと、制御部１２１は、位置センサ１３０および／またはＨＭＤセンサ１１４から送信されたＨＭＤ１１０の動きを示すデータに基づいて、仮想カメラ３００の視野ＣＶを特定することができる。つまり、制御部１２１は、ＨＭＤ１１０の動きに応じて、視野ＣＶを移動させることができる。
【００４７】
次に、ステップＳ３において、制御部１２１は、ＨＭＤ１１０の表示部１１２に表示される視野画像を示す視野画像データを生成する。具体的には、制御部１２１は、仮想空間２００を規定する仮想空間データと、仮想カメラ３００の視野ＣＶとに基づいて、視野画像データを生成する。
【００４８】
次に、ステップＳ４において、制御部１２１は、視野画像データに基づいて、ＨＭＤ１１０の表示部１１２に視野画像を表示する。このように、ＨＭＤ１１０を装着しているユーザＵの動きに応じて、仮想カメラ３００の視野ＣＶが変化し、ＨＭＤ１１０に表示される視野画像Ｖが変化するので、ユーザＵは仮想空間２００に没入することができる。
【００４９】
なお、仮想カメラ３００は、左目用仮想カメラと右目用仮想カメラを含んでもよい。この場合、制御部１２１は、仮想空間データと左目用仮想カメラの視野に基づいて、左目用の視野画像を示す左目用視野画像データを生成すると共に、仮想空間データと、右目用仮想カメラの視野に基づいて、右目用の視野画像を示す右目用視野画像データを生成する。そして、制御部１２１は、左目用視野画像データと右目用視野画像データとに基づいて、ＨＭＤ１１０の表示部１１２に左目用視野画像および右目用視野画像を表示する。このように、ユーザＵは、左目用視野画像および右目用視野画像から、視野画像を３次元画像として視認することができる。また、本明細書では、説明の便宜上、仮想カメラ３００の数は一つとするが、本開示の実施形態は、仮想カメラの数が２つ以上の場合でも適用可能である。
【００５０】
図７は、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖの一例を示している。
図７に示す視野画像Ｖにおいて、部屋の壁部分は、仮想空間２００を形成する天球（図５および図６参照）に貼られた背景画像（以下、壁画像Ｗと称する）から構成されている。また、壁画像Ｗで囲まれた部屋の内部には、テーブルやソファ、ベッド等の家具オブジェクトＦが配置されている。このような視野画像Ｖを作成するに際し、背景画像である壁画像Ｗの裏面や家具オブジェクトＦの内側は、通常はユーザに視認されないため、ゲーム画面としてレンダリングされることが想定されていない。本実施形態では、このようなゲーム画面としてレンダリングされることが想定されていない領域を非制作領域ＮＲ（図９（ａ）参照）と称する。
【００５１】
次に、図８および図９を参照して、ＨＭＤ１１０の視野ＣＶの変化に伴い、仮想カメラ３００が非制作領域を有する対象物に近づいた場合の処理（図３におけるステップＳ２の処理）を説明する。
図８に示すように、ステップＳ２１において、制御部１２１は、ＨＭＤ１１０を装着したユーザＵが動いた否か、すなわち、位置センサ１３０および／またはＨＭＤセンサ１１４からＨＭＤ１１０の動きを示すデータを受信したか否かを判定する。そして、制御部１２１は、位置センサ１３０および／またはＨＭＤセンサ１１４からＨＭＤ１１０の動きを示すデータを受信した場合には、ＨＭＤ１１０が移動したと判定し（ステップＳ２１のＹｅｓ）、ステップＳ２２において、当該データに基づいて仮想空間内で仮想カメラ３００を移動させる。具体的には、図９（ａ），（ｂ）に示すように、ＨＭＤ１１０を装着したユーザＵが非制作領域ＮＲを有する壁画像Ｗ（対象物の一例）に近づく方向に移動した場合、制御部１２１は、ＨＭＤ１１０の移動量に応じて仮想カメラ３００を第一の移動速度Ｖ１で壁画像Ｗに近づく方向（矢印Ａの方向）に移動させる。
【００５２】
次に、ステップＳ２３において、制御部１２１は、壁画像Ｗから一定の距離離れた地点（図９の処理開始地点Ｌ１）に仮想カメラ３００が到達したか否かを判定する。そして、制御部１２１は、仮想カメラ３００が処理開始地点Ｌ１に到達したと判定された場合に（ステップＳ２３のＹｅｓ）、ステップＳ２４において、仮想カメラ３００を、第一の移動速度Ｖ１よりも遅い第二の移動速度Ｖ２（図９（ｂ）参照）で壁画像Ｗに近づく方向（図９（ａ）矢印Ａ´の方向）に移動させる。
【００５３】
次に、ステップＳ２５において、制御部１２１は、壁画像Ｗの表面からわずかに手前の地点であるデッドラインＬ２（所定の下限値の一例）に仮想カメラ３００が到達したか否かを判定する。そして、制御部１２１は、仮想カメラ３００がデッドラインＬ２に到達したと判定された場合に（ステップＳ２５のＹｅｓ）、ステップＳ２６において、仮想カメラ３００の移動を停止する。なお、デッドラインＬ２は、壁画像Ｗの表面と一致した位置となるように設定されてもよい。
【００５４】
このように、制御部１２１は、ＨＭＤ１１０の移動量に基づいて仮想カメラ３００と壁画像Ｗとの間の想定距離を特定し、当該想定距離が処理開始地点Ｌ１以下であると判定された場合には、仮想カメラ３００がデッドラインＬ２を超えないように、すなわち、仮想カメラ３００と壁画像Ｗとの間の実際の距離が下限値を下回らないように、仮想カメラ３００の位置を制御する。その後、制御部１２１は、仮想カメラ３００の位置に基づいて、視野画像データを生成して、生成された視野画像データに基づいて、視野画像ＶをＨＭＤ１１０の表示部１１２に表示する（図４のステップＳ３，Ｓ４参照）。
【００５５】
本実施形態によれば、非制作領域を有する対象物（例えば、裏面が非制作領域ＮＲである壁画像Ｗ）に対して仮想カメラ３００が所定の距離までしか近づくことができないようにその位置が制御される。これにより、例えばＨＭＤ１１０の予期しない動きに連動して仮想カメラ３００が壁画像Ｗをすり抜けて、非制作領域ＮＲが視認されてしまうことを制限することができる。そのため、想定されるゲーム空間の裏側まで作り込む必要がなくなり、レンダリング処理の負荷を軽減させることができる。
【００５６】
また、本実施形態によれば、制御部１２１は、ＨＭＤ１１０の移動量を仮想カメラ３００の移動量に変換する際の変換率を、仮想カメラ３００と壁画像Ｗとの間の距離が処理開始地点Ｌ１以上であると判定された場合の変換率よりも下げるように制御している。これにより、図９（ｂ）に示すように、壁画像Ｗに向かう方向への仮想カメラ３００の移動時には、通常の移動速度Ｖ１よりも遅い速度Ｖ２で仮想カメラ３００の視野が変更される。このように、ＨＭＤ１１０の移動に対する仮想カメラ３００の反応速度を鈍くすることで、非制作領域ＮＲが視認されないように処理しつつ、ユーザＵに対して壁画像Ｗ方向への移動が制限されていることを的確に伝えることができる。
【００５７】
なお、仮想カメラ３００が壁画像Ｗに近づく場合だけではなく、家具オブジェクトＦに近づく場合にも、上記と同様の処理を行っても良い。すなわち、制御部１２１は、非制作領域を有する家具オブジェクトＦに対して仮想カメラ３００が所定の距離までしか近づくことができないように、仮想カメラ３００の位置を制御してもよい。これにより、家具オブジェクトＦの内部まで作り込む必要がなくなり、レンダリング処理の負荷を軽減させることができる。
【００５８】
また、制御部１２１によって実行される各種処理をソフトウェアによって実現するために、本実施形態に係る表示制御方法をコンピュータ（プロセッサ）に実行させるための表示制御プログラムが記憶部１２３またはＲＯＭに予め組み込まれていてもよい。または、表示制御プログラムは、磁気ディスク（ＨＤＤ、フロッピーディスク）、光ディスク（ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ、Ｂｌｕ−ｒａｙディスク等）、光磁気ディスク（ＭＯ等）、フラッシュメモリ（ＳＤカード、ＵＳＢメモリ、ＳＳＤ等）等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置１２０に接続されることで、当該記憶媒体に格納されたプログラムが、記憶部１２３に組み込まれる。そして、記憶部１２３に組み込まれた表示制御プログラムがＲＡＭ上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部１２１は本実施形態に係る表示制御方法を実行する。
【００５９】
また、表示制御プログラムは、通信ネットワーク３上のコンピュータから通信インターフェース１２５を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該プログラムが記憶部１２３に組み込まれる。
【００６０】
以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲およびその均等の範囲に基づいて定められるべきである。
【００６１】
上記の実施形態においては、図９（ｂ）に示すように、制御部１２１は、仮想カメラ３００が処理開始地点Ｌ１からデッドラインＬ２に到達するまで仮想カメラ３００を一定の移動速度（第二の移動速度Ｖ２）で移動させるようにしているが、この例に限られない。例えば、制御部１２１は、デッドラインＬ２に近づくにつれて移動速度が徐々に遅くなるように、仮想カメラ３００の移動速度を制御してもよい。
【００６２】
図１０に示すように、制御部１２１は、処理開始地点Ｌ１とデットラインＬ２とを同位置に設定しても良い。すなわち、制御部１２１は、仮想カメラ３００が処理開始地点Ｌ１に到達したと判定された場合には、仮想カメラ３００の位置を変更しないように制御する。このように、壁画像Ｗに向かう方向へのＨＭＤ１１０の移動を仮想カメラ３００の移動に反映させないようにすることでも、ユーザＵに対して壁画像Ｗに向かう方向への移動が制限されていることを的確に伝えることができる。
【００６３】
上記の実施形態においては、デッドラインＬ２は、壁画像Ｗの表面と一致した位置あるいは壁画像Ｗの表面からわずかに手前の位置となるように設定されているが、これらに限られない。例えば、図１１に示すように、デッドラインＬ２を処理開始地点Ｌ１よりも壁画像Ｗに対して離れた位置となるように設定しても良い。このような設定によれば、ＨＭＤ１１０が壁画像Ｗに近づくように移動した場合に、処理開始地点Ｌ１に到達した仮想カメラ３００がデッドラインＬ２へ移動することで、仮想カメラ３００は、例えば、壁画像Ｗの周囲を覆うバリアによって跳ね返されるような挙動をとる。これにより、ユーザＵに対して壁画像Ｗへ向かう方向への移動が制限されていることを伝えることができる。
【００６４】
制御部１２１は、仮想カメラ３００が処理開始地点Ｌ１に到達したと判定された場合には、図１２（ａ），（ｂ）に示すように、デッドラインＬ２以上の距離を保った所定の位置に仮想カメラ３００を瞬時に移動させるように制御してもよい。仮想カメラ３００を壁画像Ｗと一定の距離を保った位置に瞬間移動させることで、非制作領域が視認されないように処理しつつ、ユーザＵに対して壁画像Ｗへ向かう方向への移動が制限されていることを的確に伝えることができる。
【００６５】
さらに、図１３に示すように、制御部１２１は、仮想カメラ３００がデットラインＬ２に到達したと判定された場合には、視野画像Ｖ内に警告メッセージＭを表示しても良い。あるいは、ＨＭＤ１１０に付随するイヤホンから警告音を再生することもできる。この方法によっても、ユーザＵに対して壁画像Ｗに向かう方向への移動が制限されていることを的確に伝えることができる。
【符号の説明】
【００６６】
１：ＨＭＤシステム
３：通信ネットワーク
２１：中心位置
１１０：ヘッドマウントディスプレイ（ＨＭＤ）
１１２：表示部
１１４：ＨＭＤセンサ
１１６：ヘッドフォン
１２０：制御装置
１２１：制御部
１２３：記憶部
１２４：Ｉ／Ｏインターフェース
１２５：通信インターフェース
１２６：バス
１３０：位置センサ
２００：仮想空間
３００：仮想カメラ
Ｌ１：処理開始地点
Ｌ２：デッドライン（下限値）
Ｆ：家具オブジェクト
Ｍ：警告メッセージ
Ｕ：ユーザ
Ｖ:視野画像
Ｗ：壁画像（対象物）
【図１】
2018171455.tif 000003
【図２】
2018171455.tif 000004
【図３】
2018171455.tif 000005
【図４】
2018171455.tif 000006
【図５】
2018171455.tif 000007
【図６】
2018171455.tif 000008
【図７】
2018171455.tif 000009
【図８】
2018171455.tif 000010
【図９】
2018171455.tif 000011
【図１０】
2018171455.tif 000012
【図１１】
2018171455.tif 000013
【図１２】
2018171455.tif 000014
【図１３】
2018171455.tif 000015