JP2017224275A - 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム - Google Patents
表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム Download PDFInfo
- Publication number
- JP2017224275A JP2017224275A JP2017047657A JP2017047657A JP2017224275A JP 2017224275 A JP2017224275 A JP 2017224275A JP 2017047657 A JP2017047657 A JP 2017047657A JP 2017047657 A JP2017047657 A JP 2017047657A JP 2017224275 A JP2017224275 A JP 2017224275A
- Authority
- JP
- Japan
- Prior art keywords
- virtual camera
- image
- eye
- visual field
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】仮想空間における非制作領域の視認を制限可能な表示制御方法を提供する。【解決手段】ヘッドマウントディスプレイ(HMD)を備えたシステムにおける表示制御方法であって、当該方法は、画像取得部301を備える仮想カメラ300と、非制作領域NRを有する少なくとも一つの対象物Fと、を含む仮想空間を定義する仮想空間データを生成するステップと、仮想カメラ300の視野および仮想空間データに基づいて、HMDに視野画像を表示させるステップと、HMDの向きに応じて画像取得部301の向きを調整するステップと、仮想カメラ300に対する移動入力に応じて仮想カメラ300を移動させるステップと、画像取得部301が非制作領域NR内に進入したと判定された場合には、非制作領域NRが視認されないようなマスク画像BをHMDに表示させるステップと、を含む。【選択図】図9
Description
本開示は、表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラムに関する。
ユーザの頭部に装着され、仮想現実(VR:Virtual Reality)空間や拡張現実(AR:Augmented Reality)空間等の仮想空間として仮想空間画像を表示可能なヘッドマウントディスプレイ(HMD:Head‐Mounted Display)が知られている。特許文献1は、仮想空間を利用して建築物等の物件の設計支援を行うための視点情報表示機能付き設計支援システムを開示している。特許文献1には、リアルタイムで視点位置を変更する手段として、操作ボタン群を操作してユーザが仮想空間内で前後左右にウォークスルーする従来手段の他に、平面図表示部で視点位置を入力することにより瞬時に視点位置を移動させたり、視野角を変更することによって現実空間におけるユーザの移動量を仮想空間における移動量に変換する際の倍率(スケール)を変更させたりする手段が記載されている。
三次元の仮想空間内に背景画像や建造物オブジェクトなどの静的オブジェクトを配置してゲーム空間を生成する場合には、レンダリング処理等の負荷を軽減するため、通常は視認されることが想定されていないゲーム空間の裏側(例えば、背景画像の裏面や静的オブジェクトの内側)は作り込まない、すなわちゲーム画面としてレンダリングされることが想定されていない。しかしながら、このようなゲーム空間において、特許文献1に記載のように仮想空間内におけるユーザの移動や視野角の変更に応じて視点位置を変更すると、レンダリングされることが想定されていないゲーム空間の裏側(以下、これらを「非制作領域」と称する)までもがユーザに視認されてしまう場合がある。
本開示は、仮想空間における非制作領域の視認を制限可能な表示制御方法を提供することを目的とする。また、本開示は、当該表示制御方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
本開示が示す一態様によれば、ヘッドマウントディスプレイを備えたシステムにおける表示制御方法であって、
当該表示制御方法は、
(a)画像取得部を備える仮想カメラと、非制作領域を有する少なくとも一つの対象物と、を含む仮想空間を定義する仮想空間データを生成するステップと、
(b)前記仮想カメラの視野および前記仮想空間データに基づいて、前記ヘッドマウントディスプレイに視野画像を表示させるステップと、
(c)前記ヘッドマウントディスプレイの向きに応じて前記画像取得部の向きを調整するステップと、
(d)前記仮想カメラに対する移動入力に応じて前記仮想カメラを移動させるステップと、
(e)前記画像取得部が前記非制作領域内に進入したと判定された場合には、前記非制作領域が視認されないようなマスク画像を前記ヘッドマウントディスプレイに表示させるステップと、を含む。
当該表示制御方法は、
(a)画像取得部を備える仮想カメラと、非制作領域を有する少なくとも一つの対象物と、を含む仮想空間を定義する仮想空間データを生成するステップと、
(b)前記仮想カメラの視野および前記仮想空間データに基づいて、前記ヘッドマウントディスプレイに視野画像を表示させるステップと、
(c)前記ヘッドマウントディスプレイの向きに応じて前記画像取得部の向きを調整するステップと、
(d)前記仮想カメラに対する移動入力に応じて前記仮想カメラを移動させるステップと、
(e)前記画像取得部が前記非制作領域内に進入したと判定された場合には、前記非制作領域が視認されないようなマスク画像を前記ヘッドマウントディスプレイに表示させるステップと、を含む。
本開示によれば、仮想空間における非制作領域の視認を制限可能な表示制御方法を提供することができる。
[本開示が示す実施形態の説明]
本開示が示す実施形態の概要を説明する。
(1)ヘッドマウントディスプレイを備えたシステムにおける表示制御方法であって、
当該表示制御方法は、
(a)画像取得部を備える仮想カメラと、非制作領域を有する少なくとも一つの対象物と、を含む仮想空間を定義する仮想空間データを生成するステップと、
(b)前記仮想カメラの視野および前記仮想空間データに基づいて、前記ヘッドマウントディスプレイに視野画像を表示させるステップと、
(c)前記ヘッドマウントディスプレイの向きに応じて前記画像取得部の向きを調整するステップと、
(d)前記仮想カメラに対する移動入力に応じて前記仮想カメラを移動させるステップと、
(e)前記画像取得部が前記非制作領域内に進入したと判定された場合には、前記非制作領域が視認されないようなマスク画像を前記ヘッドマウントディスプレイに表示させるステップと、を含む。
本開示が示す実施形態の概要を説明する。
(1)ヘッドマウントディスプレイを備えたシステムにおける表示制御方法であって、
当該表示制御方法は、
(a)画像取得部を備える仮想カメラと、非制作領域を有する少なくとも一つの対象物と、を含む仮想空間を定義する仮想空間データを生成するステップと、
(b)前記仮想カメラの視野および前記仮想空間データに基づいて、前記ヘッドマウントディスプレイに視野画像を表示させるステップと、
(c)前記ヘッドマウントディスプレイの向きに応じて前記画像取得部の向きを調整するステップと、
(d)前記仮想カメラに対する移動入力に応じて前記仮想カメラを移動させるステップと、
(e)前記画像取得部が前記非制作領域内に進入したと判定された場合には、前記非制作領域が視認されないようなマスク画像を前記ヘッドマウントディスプレイに表示させるステップと、を含む。
上記方法によれば、非制作領域内に仮想カメラの画像取得部が進入した場合には視野画像を覆うようにマスク画像が表示されるため、仮想カメラが対象物内に入り込んだ状態でも非制作領域が視認されてしまうことがない。
(2)前記マスク画像は、暗転画像、白紙画像、および前記対象物の表面画像の少なくとも一つから構成されても良い。
マスク画像の表示として上記のような画像処理を行うことで、非制作領域の視認を容易に制限することができる。
(3)前記ステップ(d)では、前記非制作領域内に進入したと判定された前記画像取得部の面積割合に応じて、前記視野画像内における前記マスク画像の表示割合を決定しても良い。
上記方法によれば、仮想カメラの画像取得部が対象物に入り込んだ部分だけ視野画像を覆うようにマスク画像が表示されるため、ユーザ主導の自然な画像表示を行うことができる。
(4)前記仮想カメラは、左眼用仮想カメラと右眼用仮想カメラとを含み、
前記ステップ(d)では、前記左眼用仮想カメラと前記右眼用仮想カメラのいずれか一方の画像取得部が前記非制作領域内に進入したと判定された場合には、左眼用視野画像および右眼用視野画像の両方を覆うように前記マスク画像を表示させても良い。
前記ステップ(d)では、前記左眼用仮想カメラと前記右眼用仮想カメラのいずれか一方の画像取得部が前記非制作領域内に進入したと判定された場合には、左眼用視野画像および右眼用視野画像の両方を覆うように前記マスク画像を表示させても良い。
上記方法によれば、片方の仮想カメラの画像取得部のみが対象物に入り込んだ場合にも、左眼用視野画像へのマスク画像の表示と右眼用視野画像へのマスク画像の表示を連動させることで、非制作領域の視認を確実に制限することができる。
(5)前記ステップ(d)は、
前記左眼用仮想カメラおよび前記右眼用仮想カメラのうち少なくとも一方の仮想カメラが前記対象物へ近接したときに、前記左眼用仮想カメラと前記右眼用仮想カメラとの視差情報を取得するステップと、
当該一方の仮想カメラの画像取得部が前記非制作領域へ進入したときに、前記非制作領域内に含まれる前記画像取得部の面積割合を判定するステップと、
前記視差情報および前記面積割合に基づいて、他方の仮想カメラにより生成された視野画像に対する前記マスク画像の表示割合を決定するステップと、を含んでいても良い。
前記左眼用仮想カメラおよび前記右眼用仮想カメラのうち少なくとも一方の仮想カメラが前記対象物へ近接したときに、前記左眼用仮想カメラと前記右眼用仮想カメラとの視差情報を取得するステップと、
当該一方の仮想カメラの画像取得部が前記非制作領域へ進入したときに、前記非制作領域内に含まれる前記画像取得部の面積割合を判定するステップと、
前記視差情報および前記面積割合に基づいて、他方の仮想カメラにより生成された視野画像に対する前記マスク画像の表示割合を決定するステップと、を含んでいても良い。
上記方法によれば、左眼用視野画像へのマスク画像表示と右眼用視野画像へのマスク画像表示を適切に連動させることができる。
(6)一実施形態に係るプログラムは、(1)から(5)のうちいずれかに記載の表示制御方法をコンピュータに実行させるためのプログラムである。
この構成によれば、仮想空間における非制作領域の視認を制限可能なプログラムを提供することができる。
[本開示が示す実施形態の詳細]
以下、本開示が示す実施形態について図面を参照しながら説明する。なお、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
以下、本開示が示す実施形態について図面を参照しながら説明する。なお、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
図1は、本開示が示す実施形態(以下、単に本実施形態という。)に係るヘッドマウントディスプレイ(以下、単にHMDという。)システム1を示す概略図である。図1に示すように、HMDシステム1は、ユーザUの頭部に装着されたHMD110と、位置センサ130と、制御装置120と、外部コントローラ320とを備える。
HMD110は、表示部112と、HMDセンサ114と、ヘッドフォン116とを備えている。なお、HMD110にヘッドフォン116を設けずに、HMD110とは独立したスピーカやヘッドフォンを用いても良い。
表示部112は、HMD110を装着したユーザUの視界(視野)を完全に覆うように構成された非透過型の表示装置を備えている。これにより、ユーザUは、表示部112に表示された視野画像のみを見ることで仮想空間に没入することができる。なお、表示部112は、ユーザUの左眼に投影される左眼用の表示部とユーザUの右眼に投影される右眼用の表示部とから構成されてもよい。
HMDセンサ114は、HMD110の表示部112の近傍に搭載される。HMDセンサ114は、地磁気センサ、加速度センサ、傾きセンサ(角速度センサやジャイロセンサ等)のうちの少なくとも1つを含み、ユーザUの頭部に装着されたHMD110の各種動きを検出することができる。
位置センサ130は、例えば、ポジション・トラッキング・カメラにより構成され、HMD110の位置を検出するように構成されている。位置センサ130は、制御装置120に無線または有線により通信可能に接続されており、HMD110に設けられた図示しない複数の検知点の位置、傾きまたは発光強度に関する情報を検出するように構成されている。また、位置センサ130は、赤外線センサや複数の光学カメラを含んでもよい。
制御装置120は、位置センサ130から取得された情報に基づいて、HMD110の位置情報を取得し、当該取得された位置情報に基づいて、仮想空間における仮想カメラの位置と、現実空間におけるHMD110を装着したユーザUの位置を正確に対応付けることができる。
次に、図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軸回りの角度変化に基づいて、視野情報を定義する仮想カメラの視軸を制御するための角度情報を決定する。
次に、図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は、メモリや記憶部123に格納された所定のアプリケーション(ゲームプログラム)を実行することで、HMD110の表示部112に仮想空間(視野画像)を提供する。これにより、ユーザUは、表示部112に提供された仮想空間に没入することができる。
記憶部(ストレージ)123は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、USBフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部123には、表示制御プログラムが組み込まれてもよい。また、ユーザの認証プログラムや各種画像やオブジェクトに関するデータを含むゲームプログラム等が格納されてもよい。さらに、記憶部123には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。
I/Oインターフェース124は、位置センサ130と、HMD110と、外部コントローラ320をそれぞれ制御装置120に通信可能に接続するように構成されており、例えば、USB(Universal Serial Bus)端子、DVI(Digital Visual Interface)端子、HDMI(登録商標)(High―Definition Multimedia Interface)端子等により構成されている。なお、制御装置120は、位置センサ130と、HMD110と、外部コントローラ320のそれぞれと無線接続されていてもよい。
通信インターフェース125は、制御装置120をLAN(Local Area Network)、WAN(Wide Area Network)またはインターネット等の通信ネットワーク3に接続させるように構成されている。通信インターフェース125は、通信ネットワーク3を介して外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク3を介して通信するための通信規格に適合するように構成されている。
次に、図4から図6を参照することで視野画像をHMD110に表示するための処理について説明する。図4は、視野画像VをHMD110に表示するための処理を示すフローチャートである。図5は、仮想空間200の一例を示すxyz空間図を示す。図6(a)は、図5に示す仮想空間200のyx平面図であって、図6(b)は、図5に示す仮想空間200のzx平面図である。
図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内で移動させてもよい。
仮想カメラ300の視野を定義するuvw座標系は、現実空間におけるユーザUの頭部を中心として規定されたuvw座標系に連動するように決定される。また、HMD110を装着したユーザUの現実空間における移動に連動して、仮想カメラ300を仮想空間200内で移動させてもよい。
次に、ステップ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の一部の領域と一致する(換言すれば、HMD110に表示される仮想空間200の一部の領域に一致する)。また、視野CVは、図6(a)に示すxy平面において、基準視線Lを中心とした極角αの角度範囲として設定される第1領域CVaと、図6(b)に示すxz平面において、基準視線Lを中心とした方位角βの角度範囲として設定される第2領域CVbとを有する。
このように、制御部121は、位置センサ130および/またはHMDセンサ114からのデータに基づいて、仮想カメラ300の視野CVを特定することができる。ここで、HMD110を装着したユーザUが動くと、制御部121は、位置センサ130および/またはHMDセンサ114から送信されたHMD110の動きを示すデータに基づいて、仮想カメラ300の視野CVを特定することができる。つまり、制御部121は、HMD110の動きに応じて、視野CVを移動させることができる。
次に、ステップS3において、制御部121は、HMD110の表示部112に表示される視野画像を示す視野画像データを生成する。具体的には、制御部121は、仮想空間200を規定する仮想空間データと、仮想カメラ300の視野CVとに基づいて、視野画像データを生成する。
次に、ステップS4において、制御部121は、視野画像データに基づいて、HMD110の表示部112に視野画像を表示する。このように、HMD110を装着しているユーザUの動きに応じて、仮想カメラ300の視野CVが変化し、HMD110に表示される視野画像Vが変化するので、ユーザUは仮想空間200に没入することができる。
図7は、HMD110の表示部112に表示される視野画像Vの一例を示している。
図7に示す視野画像Vにおいて、部屋の壁部分は、仮想空間200を形成する天球(図5および図6参照)に貼られた背景画像である壁画像W(対象物の一例)から構成されている。また、壁画像Wで囲まれた部屋の内部には、テーブルやソファ、ベッド等の家具オブジェクトF(対象物の一例)が配置されている。このような視野画像Vを作成するに際し、壁画像Wの裏面や家具オブジェクトFの内側は、通常はユーザに視認されないため、ゲーム画面としてレンダリングされることが想定されていない。本実施形態では、このようなゲーム画面としてレンダリングされることが想定されていない領域を非制作領域NR(図9(a)参照)と称する。
図7に示す視野画像Vにおいて、部屋の壁部分は、仮想空間200を形成する天球(図5および図6参照)に貼られた背景画像である壁画像W(対象物の一例)から構成されている。また、壁画像Wで囲まれた部屋の内部には、テーブルやソファ、ベッド等の家具オブジェクトF(対象物の一例)が配置されている。このような視野画像Vを作成するに際し、壁画像Wの裏面や家具オブジェクトFの内側は、通常はユーザに視認されないため、ゲーム画面としてレンダリングされることが想定されていない。本実施形態では、このようなゲーム画面としてレンダリングされることが想定されていない領域を非制作領域NR(図9(a)参照)と称する。
次に、図8および図9(a)および(b)を参照して、HMD110の視野CVの変化に伴い、仮想カメラ300の画像取得部301が非制作領域を有する対象物(例えば、家具オブジェクトF)に進入した場合の処理を説明する。なお、画像取得部301は、仮想カメラ300の位置または向きにより決定される視野を定義し得るものであればその構成が限定されるものではないが、本例では説明の簡略化のため、例えば図9(a)に示すような仮想カメラ300のレンズを示すものとして説明する。
図8に示すように、ステップS11において、制御部121は、HMD110を装着したユーザUが動いた否か、あるいは、コントローラ320から仮想カメラ300を移動させるための操作が入力された否か、すなわち、仮想カメラ300に対する移動入力の有無を判定する。そして、制御部121は、仮想カメラ300に対する移動入力を受けた場合には(ステップS11のYes)、ステップS12において、当該移動入力に基づいて仮想空間内で仮想カメラ300を移動させる。
次に、ステップS13において、制御部121は、仮想カメラ300の画像取得部301が対象物の非制作領域内に進入したか否かを判定する。そして、図9(a)に示すように、画像取得部301が例えば家具オブジェクトFの非制作領域NR内に進入した場合には(ステップS13のYes)、制御部121は、ステップS14において、非制作領域NR内に進入した画像取得部301の面積割合を判定する。
次に、制御部121は、ステップS15において、非制作領域NR内に進入した画像取得部301の面積割合に応じてHMD110の表示部112に表示されるマスク画像の表示割合を決定する。そして、制御部121は、ステップS16において、決定した表示割合に応じてマスク画像データを生成し、生成したマスク画像データに応じてHMD110の表示部112にマスク画像を表示させる。例えば、仮想カメラ300の画像取得部301が非制作領域NR内に完全に進入した場合には、図9(b)に示すように、視野画像Vの全体がマスク画像である暗転画像(黒画像)Bで覆われる。一方、図10(a)に示すように、仮想カメラ300の画像取得部301の一部のみが非制作領域NR内に進入した場合には、非制作領域NR内に進入した画像取得部301の面積割合に応じて、図10(b)に示すように、視野画像Vの一部のみが暗転画像Bで覆われる。なお、マスク画像は、図9(b)や図10(b)に示す暗転画像Bに限られず、白紙(ホワイトアウト)画像や家具オブジェクトFの表面画像であってもよい。
このように、本実施形態によれば、画像取得部301が非制作領域NR内に進入した場合には、視野画像Vを覆うようにマスク画像がHMD110の表示部112に表示される。これにより、仮想カメラ300に対する予期しない移動入力に応じて仮想カメラ300が家具オブジェクトF内に進入して、非制作領域NRが視認されてしまうことを制限することができる。そのため、想定されるゲーム空間の裏側まで作り込む必要がなくなり、レンダリング処理の負荷を軽減させることができる。なお、仮想カメラ300が家具オブジェクトF内に進入した場合だけではなく、背景画像である壁画像Wをすり抜けた場合にも、上記と同様の処理を行っても良い。
また、非制作領域NR内に進入したと判定された画像取得部301の面積割合に応じて、視野画像V内におけるマスク画像の表示割合を決定している。これにより、画像取得部301が非制作領域NR内に入り込んだ部分だけ視野画像Vを覆うようにマスク画像が表示されるため、ユーザ主導の自然な画像表示を行うことができる。
また、制御部121によって実行される各種処理をソフトウェアによって実現するために、本実施形態に係る表示制御方法をコンピュータ(プロセッサ)に実行させるための表示制御プログラムが記憶部123またはROMに予め組み込まれていてもよい。または、表示制御プログラムは、磁気ディスク(HDD、フロッピーディスク)、光ディスク(CD−ROM,DVD−ROM、Blu−rayディスク等)、光磁気ディスク(MO等)、フラッシュメモリ(SDカード、USBメモリ、SSD等)等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置120に接続されることで、当該記憶媒体に格納されたプログラムが、記憶部123に組み込まれる。そして、記憶部123に組み込まれた表示制御プログラムがRAM上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部121は本実施形態に係る表示制御方法を実行する。
また、表示制御プログラムは、通信ネットワーク3上のコンピュータから通信インターフェース125を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該プログラムが記憶部123に組み込まれる。
以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲およびその均等の範囲に基づいて定められるべきである。
上記の実施形態においては、図9(b)に示すように、仮想空間内に配置される仮想カメラが1つであるとして説明を行っているが、例えば、図11(a)に示すように、仮想カメラは、視点位置が互いに異なる左眼用仮想カメラ300Lと右眼用仮想カメラ300Rとを含んでも良い。この場合、制御部121は、仮想空間データと左眼用仮想カメラ300Lの視野に基づいて、左眼用視野画像データを生成するとともに、仮想空間データと右眼用仮想カメラ300Rの視野に基づいて、右眼用視野画像データを生成する。そして、制御部121は、左眼用視野画像データと右眼用視野画像データとに基づいて、図11(b)に示すように、HMD110の表示部112に左眼用視野画像VLおよび右眼用視野画像VRを表示することで、ユーザUは、視野画像を3次元画像として視認することができる。
次に、図11(a),(b)および図12を参照して、左眼用仮想カメラ300Lおよび右眼用仮想カメラ300Rを用いた場合の本実施形態に係る視野画像の表示制御処理について説明する。
図12に示すように、ステップS21において、制御部121は、左眼用仮想カメラ300Lおよび右眼用仮想カメラ300Rに対する移動入力に基づいて左眼用仮想カメラ300Lおよび右眼用仮想カメラ300Rの少なくとも一方が非制作領域NRを有する対象物(例えば、家具オブジェクトF)に対して所定の距離まで近接したか否かを判定する。そして、仮想カメラ300L,300Rの少なくとも一方が家具オブジェクトFに対して所定の距離まで近接したと判定した場合には(ステップS21のYes)、制御部121は、ステップS22において、その時点における左眼用仮想カメラ300Lと右眼用仮想カメラ300Rとの視差(視差情報)を特定する。左眼用仮想カメラ300Lと右眼用仮想カメラ300Rとの視差は、例えば、図11(a)に示されるように、左眼用仮想カメラ300Lの画像取得部301Lの中心と右眼用仮想カメラ300Rの画像取得部301Rの中心との距離L1により特定される。
図12に示すように、ステップS21において、制御部121は、左眼用仮想カメラ300Lおよび右眼用仮想カメラ300Rに対する移動入力に基づいて左眼用仮想カメラ300Lおよび右眼用仮想カメラ300Rの少なくとも一方が非制作領域NRを有する対象物(例えば、家具オブジェクトF)に対して所定の距離まで近接したか否かを判定する。そして、仮想カメラ300L,300Rの少なくとも一方が家具オブジェクトFに対して所定の距離まで近接したと判定した場合には(ステップS21のYes)、制御部121は、ステップS22において、その時点における左眼用仮想カメラ300Lと右眼用仮想カメラ300Rとの視差(視差情報)を特定する。左眼用仮想カメラ300Lと右眼用仮想カメラ300Rとの視差は、例えば、図11(a)に示されるように、左眼用仮想カメラ300Lの画像取得部301Lの中心と右眼用仮想カメラ300Rの画像取得部301Rの中心との距離L1により特定される。
次に、ステップS23において、制御部121は、左眼用仮想カメラ300Lおよび右眼用仮想カメラ300Rの少なくとも一方が家具オブジェクFの非制作領域NR内に進入したか否かを判定する。そして、図11(a)に示すように、例えば左眼用仮想カメラ300Lの画像取得部301Lが家具オブジェクトFの非制作領域NR内に進入した場合には(ステップS22のYes)、制御部121は、ステップS24において、非制作領域NR内に進入した左眼用仮想カメラ300Lの画像取得部301Lの面積割合を判定し、左眼用視野画像に対するマスク画像の表示割合を決定する。
次に、制御部121は、ステップS22で特定した視差L1およびステップS24で判定した左眼用仮想カメラ300Lの画像取得部301Lの面積割合に基づいて、右眼用視野画像に対するマスク画像の表示割合を決定する。具体的には、制御部121は、ステップS25において、左眼用視野画像に対するマスク画像の表示割合から視差L1を差し引くことで、右眼用視野画像に対するマスク画像の表示割合を決定する(ステップS26)。そして、制御部121は、ステップS26において、ステップS24およびステップS26においてそれぞれ決定した左眼用視野画像および右眼用視野画像に対するマスク画像の表示割合に応じてマスク画像データを生成し、生成したマスク画像データに応じてHMD110の表示部112に表示される左眼用視野画像および右眼用視野画像に対してマスク画像Bをそれぞれ表示させる。例えば、左眼用仮想カメラ300Lの画像取得部301Lが家具オブジェクトFに近接したと判定された時の視差がL1とすると、左眼用視野画像VLについては非制作領域NRに進入した画像取得部301Lの面積割合に応じてマスク画像Bを表示させる一方、右眼用視野画像VRについては左眼用視野画像VLに対するマスク画像Bの表示割合から視差L1に基づいて算出される所定の割合(例えば、図11(b)の右眼用視野画像VRにおけるL2)を差し引いた状態の表示割合にてマスク画像Bを表示させる。
このように、仮想カメラが左眼用仮想カメラ300Lおよび右眼用仮想カメラ300Rを含んでいる場合には、仮想カメラ300Lおよび300Rの少なくとも一方が非制作領域NR内に進入したときに、当該一方の仮想カメラに対応する視野画像に対してマスク画像を表示させるだけではなく、他方の仮想カメラに対応する視野画像に対してもマスク画像を表示させる。このように、左眼用視野画像へのマスク画像表示と右眼用視野画像へのマスク画像表示を適切に連動させることで、非制作領域NRに進入した部分のみ視界が奪われるように制御することができる。さらに、左眼用仮想カメラ300Lと右眼用仮想カメラ300Rとの視差情報を用いて他方の仮想カメラに対するマスク画像の表示割合を補正することで、良好な三次元画像表示を損なうことなく、非制作領域NRの視認を制限することができる。
1:HMDシステム
3:通信ネットワーク
21:中心位置
110:ヘッドマウントディスプレイ(HMD)
112:表示部
114:HMDセンサ
116:ヘッドフォン
120:制御装置
121:制御部
123:記憶部
124:I/Oインターフェース
125:通信インターフェース
126:バス
130:位置センサ
200:仮想空間
300:仮想カメラ
300L:左眼用仮想カメラ
300R:右眼用仮想カメラ
301:画像取得部
B:マスク画像
F:家具オブジェクト
NR:非制作領域
U:ユーザ
V:視野画像
VL:左眼用視野画像
VR:右眼用視野画像
W:壁画像(対象物)
3:通信ネットワーク
21:中心位置
110:ヘッドマウントディスプレイ(HMD)
112:表示部
114:HMDセンサ
116:ヘッドフォン
120:制御装置
121:制御部
123:記憶部
124:I/Oインターフェース
125:通信インターフェース
126:バス
130:位置センサ
200:仮想空間
300:仮想カメラ
300L:左眼用仮想カメラ
300R:右眼用仮想カメラ
301:画像取得部
B:マスク画像
F:家具オブジェクト
NR:非制作領域
U:ユーザ
V:視野画像
VL:左眼用視野画像
VR:右眼用視野画像
W:壁画像(対象物)
Claims (6)
- ヘッドマウントディスプレイを備えたシステムにおける表示制御方法であって、
(a)画像取得部を備える仮想カメラと、非制作領域を有する少なくとも一つの対象物と、を含む仮想空間を定義する仮想空間データを生成するステップと、
(b)前記仮想カメラの視野および前記仮想空間データに基づいて、前記ヘッドマウントディスプレイに視野画像を表示させるステップと、
(c)前記ヘッドマウントディスプレイの向きに応じて前記画像取得部の向きを調整するステップと、
(d)前記仮想カメラに対する移動入力に応じて前記仮想カメラを移動させるステップと、
(e)前記画像取得部が前記非制作領域内に進入したと判定された場合には、前記非制作領域が視認されないようなマスク画像を前記ヘッドマウントディスプレイに表示させるステップと、
を含む、表示制御方法。 - 前記マスク画像は、暗転画像、白紙画像、および前記対象物の表面画像の少なくとも一つから構成される、請求項1に記載の表示制御方法。
- 前記ステップ(d)では、前記非制作領域内に進入したと判定された前記画像取得部の面積割合に応じて、前記視野画像内における前記マスク画像の表示割合を決定する、請求項1に記載の表示制御方法。
- 前記仮想カメラは、左眼用仮想カメラと右眼用仮想カメラとを含み、
前記ステップ(d)では、前記左眼用仮想カメラと前記右眼用仮想カメラのいずれか一方の画像取得部が前記非制作領域内に進入したと判定された場合には、左眼用視野画像および右眼用視野画像の両方を覆うように前記マスク画像を表示させる、請求項1から3のいずれか一項に記載の表示制御方法。 - 前記ステップ(d)は、
前記左眼用仮想カメラおよび前記右眼用仮想カメラのうち少なくとも一方の仮想カメラが前記対象物へ近接したときに、前記左眼用仮想カメラと前記右眼用仮想カメラとの視差情報を取得するステップと、
当該一方の仮想カメラの画像取得部が前記非制作領域へ進入したときに、前記非制作領域内に含まれる前記画像取得部の面積割合を判定するステップと、
前記視差情報および前記面積割合に基づいて、他方の仮想カメラにより生成された視野画像に対する前記マスク画像の表示割合を決定するステップと、を含む、請求項4に記載の表示制御方法。 - 請求項1から5のいずれか一項に記載の表示制御方法をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017047657A JP2017224275A (ja) | 2017-03-13 | 2017-03-13 | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017047657A JP2017224275A (ja) | 2017-03-13 | 2017-03-13 | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016121076A Division JP6113337B1 (ja) | 2016-06-17 | 2016-06-17 | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017224275A true JP2017224275A (ja) | 2017-12-21 |
Family
ID=60688262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017047657A Pending JP2017224275A (ja) | 2017-03-13 | 2017-03-13 | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017224275A (ja) |
-
2017
- 2017-03-13 JP JP2017047657A patent/JP2017224275A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5996814B1 (ja) | 仮想空間の画像をヘッドマウントディスプレイに提供する方法及びプログラム | |
JP6058184B1 (ja) | ヘッドマウントディスプレイシステムを制御するための方法、および、プログラム | |
US10607398B2 (en) | Display control method and system for executing the display control method | |
JP6211144B1 (ja) | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム | |
JP6087453B1 (ja) | 仮想空間の提供方法、およびプログラム | |
US10277814B2 (en) | Display control method and system for executing the display control method | |
US10504296B2 (en) | Information processing method and system for executing the information processing method | |
JP2018097427A (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP2017138973A (ja) | 仮想空間の提供方法、およびプログラム | |
JP6113337B1 (ja) | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム | |
JP2018171455A (ja) | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム | |
JP6342448B2 (ja) | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム | |
JP2018026048A (ja) | 情報処理方法および当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP2018147504A (ja) | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム | |
JP6266823B1 (ja) | 情報処理方法、情報処理プログラム、情報処理システム及び情報処理装置 | |
JP2018109940A (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP6333893B2 (ja) | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム | |
JP2018097847A (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP2018195172A (ja) | 情報処理方法、情報処理プログラム及び情報処理装置 | |
JP2017224275A (ja) | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム | |
JP2018000987A (ja) | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム | |
JP6216851B1 (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP6275809B1 (ja) | 表示制御方法および当該表示制御方法をコンピュータに実行させるためのプログラム | |
JP2017142769A (ja) | 仮想空間の画像をヘッドマウントディスプレイに提供する方法及びプログラム | |
JP6611143B1 (ja) | 画像表示方法、画像表示システム、プログラム |