JP2017162443A - ヘッドマウントディスプレイシステムを制御するための方法、および、プログラム - Google Patents
ヘッドマウントディスプレイシステムを制御するための方法、および、プログラム Download PDFInfo
- Publication number
- JP2017162443A JP2017162443A JP2016236435A JP2016236435A JP2017162443A JP 2017162443 A JP2017162443 A JP 2017162443A JP 2016236435 A JP2016236435 A JP 2016236435A JP 2016236435 A JP2016236435 A JP 2016236435A JP 2017162443 A JP2017162443 A JP 2017162443A
- Authority
- JP
- Japan
- Prior art keywords
- hmd
- virtual camera
- sight
- virtual space
- user
- 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)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】仮想空間におけるエンタテイメント性を向上させる。【解決手段】コンピュータを用いてヘッドマウントディスプレイ(以下、HMD)にユーザが没入する仮想空間を提供する方法であって、仮想空間内の第1位置に、視界領域を決定するための仮想カメラを定義するステップと、仮想カメラの移動先を特定するための移動入力を受け付けるステップと、移動入力の経時的状態を特定するステップと、経時的状態に基づいて、仮想カメラを第1位置から仮想空間内の第2位置に移動させるステップと、を含む方法。【選択図】図12
Description
本発明は、ユーザがヘッドマウントディスプレイ(Head−Mounted Display:HMD)を用いて没入する仮想空間を、コンピュータに提供させる方法、および、プログラムに関するものである。
特許文献1には、HMDを用いてユーザに映像コンテンツを提供する際の視点を、三人称視点から映像コンテンツに登場する撮影対象からの視点である一人称視点に切り替えることが記載されている。
特許文献1に開示されたような映像コンテンツをHMDで楽しむ場合と異なり、HMDを装着したユーザの頭部の動きに連動させて視界を変更する仮想現実(Virtual Reality : VR)コンテンツを提供するに当たっては、視点位置を変更する際にエンタテイメント性が損なわれないように留意する必要がある。例えばアクションゲーム等を提供する場合には、VR空間を自由に動き回れるようにすることが好ましい。しかし、移動に何ら制限を加えない場合、敵キャラクタの後方等に自由に移動できてしまうなど、ゲームを攻略する上での戦略を練る楽しみが失われることが懸念される。
本発明は、仮想空間におけるエンタテイメント性を向上させることを目的とする。
本発明によれば、コンピュータを用いてヘッドマウントディスプレイ(以下、HMD)にユーザが没入する仮想空間を提供する方法であって、前記ユーザが没入する仮想空間を定義するステップと、前記仮想空間内の第1位置に、視界領域を決定するための仮想カメラを定義するステップと、前記ユーザの基準視線を特定するステップと、前記基準視線に基づいて、前記仮想カメラの向きを特定するステップと、前記仮想空間のうち、前記視界領域に相当する視界画像を生成し、前記HMDに出力するステップと、前記仮想カメラの移動先を特定するための移動入力を受け付けるステップと、前記移動入力の経時的状態を特定するステップと、前記経時的状態に基づいて、前記仮想カメラを前記第1位置から前記仮想空間内の第2位置に移動させるステップと、前記第2位置に配置された前記仮想カメラに基づいて前記視界領域を更新するステップと、更新された前記視界領域に基づいて前記視界画像を生成し、前記HMDに出力するステップと、を含む方法、が提供される。
本発明によれば、エンタテイメント性の高い仮想空間を提供し得る。
[本発明の実施形態の説明]
最初に、本発明の実施形態の内容を列記して説明する。本発明の一実施形態によるHMDを制御するための方法、および、プログラムは、以下のような構成を備える。
(項目1)
コンピュータを用いてヘッドマウントディスプレイ(以下、HMD)にユーザが没入する仮想空間を提供する方法であって、
前記ユーザが没入する仮想空間を定義するステップと、
前記仮想空間内の第1位置に、視界領域を決定するための仮想カメラを定義するステップと、
前記ユーザの基準視線を特定するステップと、
前記基準視線に基づいて、前記仮想カメラの向きを特定するステップと、
前記仮想空間のうち、前記視界領域に相当する視界画像を生成し、前記HMDに出力するステップと、
前記仮想カメラの移動先を特定するための移動入力を受け付けるステップと、
前記移動入力の経時的状態を特定するステップと、
前記経時的状態に基づいて、前記仮想カメラを前記第1位置から前記仮想空間内の第2位置に移動させるステップと、
前記第2位置に配置された前記仮想カメラに基づいて前記視界領域を更新するステップと、
更新された前記視界領域に基づいて前記視界画像を生成し、前記HMDに出力するステップと、
を含む方法。
本項目の方法によれば、移動入力の経時的状態に基づいて仮想カメラを移動させるため、設定される第2位置の態様によっては、移動入力を行うタイミングを適切に見極める必要がある。例えば、アクションゲーム等においては、移動入力を行う操作が敵キャラクタ等から狙われる隙となり得るため、第2位置を適切に設定し、または、移動入力を行うタイミングを見極める必要がある。従って、エンタテイメント性の高い仮想空間を提供し得る。
(項目2)
前記移動入力は、前記コンピュータに接続されたコントローラからの出力である、
請求項1の方法。
本項目の方法によれば、コントローラを活用してエンタテイメント性の高い仮想空間を提供し得る。
(項目3)
前記出力は、前記コントローラに対する入力が継続された時間を特定する情報を含み、
前記経時的状態は、前記入力が継続された時間であり、
前記第2位置は、前記入力が継続された時間が長いほど、前記第1位置から遠くなるように設定される、
請求項2の方法。
本項目の方法によれば、コントローラを活用してエンタテイメント性の高い仮想空間を提供し得る。
(項目4)
前記出力は、所定時間内に前記コントローラに対する入力が実行された回数を特定する情報を含み、
前記経時的状態は、前記入力が実行された回数であり、
前記第2位置は、前記回数が多いほど、前記第1位置から遠くなるように設定される、
請求項2の方法。
本項目の方法によれば、コントローラを活用してエンタテイメント性の高い仮想空間を提供し得る。
(項目5)
前記HMDの傾きを検知することにより視界方向を特定するステップ、および/または、前記ユーザの視線方向を特定するステップをさらに含み、
前記基準視線は、前記視界方向および/または前記視線方向に基づいて特定され、
前記移動入力は、前記視界方向または前記視線方向が滞留した時間を特定する情報を含み、
前記経時的状態は、前記視界方向または前記視線方向が滞留した時間であり、
前記第2位置は、前記視界方向または前記視線方向が滞留した時間が長いほど、前記第1位置から遠くなるように設定される、
請求項1〜4のいずれかの方法。
本項目の方法によれば、ユーザが注意を向けた方向をも加味して、エンタテイメント性の高い仮想空間を提供し得る。
(項目6)
前記HMDの傾きを検知することにより視界方向を特定するステップ、および/または、前記ユーザの視線方向を特定するステップをさらに含み、
前記基準視線は、前記視界方向および/または前記視線方向に基づいて特定され、
前記視界方向または前記視線方向に、前記経時的状態に基づく経時的表示を表示させる、
請求項1〜5のいずれかの方法。
本項目の方法によれば、仮想カメラが移動入力によって移動する方向を、ユーザは経時的表示に基づいて予測することができるため、仮想カメラの移動による映像酔い(所謂、VR酔い)が緩和され得る。
(項目7)
前記経時的表示を、前記仮想カメラと前記第2位置の間に表示させる、
請求項6の方法。
本項目の方法によれば、仮想カメラの移動による映像酔いが緩和され得る。
(項目8)
前記経時的表示を、前記仮想カメラから前記第2位置に延びるように表示させる、
請求項6または7の方法。
本項目の方法によれば、仮想カメラの移動による映像酔いが緩和され得る。
(項目9)
請求項1〜8のいずれかの方法を、前記コンピュータに実行させるプログラム。
最初に、本発明の実施形態の内容を列記して説明する。本発明の一実施形態によるHMDを制御するための方法、および、プログラムは、以下のような構成を備える。
(項目1)
コンピュータを用いてヘッドマウントディスプレイ(以下、HMD)にユーザが没入する仮想空間を提供する方法であって、
前記ユーザが没入する仮想空間を定義するステップと、
前記仮想空間内の第1位置に、視界領域を決定するための仮想カメラを定義するステップと、
前記ユーザの基準視線を特定するステップと、
前記基準視線に基づいて、前記仮想カメラの向きを特定するステップと、
前記仮想空間のうち、前記視界領域に相当する視界画像を生成し、前記HMDに出力するステップと、
前記仮想カメラの移動先を特定するための移動入力を受け付けるステップと、
前記移動入力の経時的状態を特定するステップと、
前記経時的状態に基づいて、前記仮想カメラを前記第1位置から前記仮想空間内の第2位置に移動させるステップと、
前記第2位置に配置された前記仮想カメラに基づいて前記視界領域を更新するステップと、
更新された前記視界領域に基づいて前記視界画像を生成し、前記HMDに出力するステップと、
を含む方法。
本項目の方法によれば、移動入力の経時的状態に基づいて仮想カメラを移動させるため、設定される第2位置の態様によっては、移動入力を行うタイミングを適切に見極める必要がある。例えば、アクションゲーム等においては、移動入力を行う操作が敵キャラクタ等から狙われる隙となり得るため、第2位置を適切に設定し、または、移動入力を行うタイミングを見極める必要がある。従って、エンタテイメント性の高い仮想空間を提供し得る。
(項目2)
前記移動入力は、前記コンピュータに接続されたコントローラからの出力である、
請求項1の方法。
本項目の方法によれば、コントローラを活用してエンタテイメント性の高い仮想空間を提供し得る。
(項目3)
前記出力は、前記コントローラに対する入力が継続された時間を特定する情報を含み、
前記経時的状態は、前記入力が継続された時間であり、
前記第2位置は、前記入力が継続された時間が長いほど、前記第1位置から遠くなるように設定される、
請求項2の方法。
本項目の方法によれば、コントローラを活用してエンタテイメント性の高い仮想空間を提供し得る。
(項目4)
前記出力は、所定時間内に前記コントローラに対する入力が実行された回数を特定する情報を含み、
前記経時的状態は、前記入力が実行された回数であり、
前記第2位置は、前記回数が多いほど、前記第1位置から遠くなるように設定される、
請求項2の方法。
本項目の方法によれば、コントローラを活用してエンタテイメント性の高い仮想空間を提供し得る。
(項目5)
前記HMDの傾きを検知することにより視界方向を特定するステップ、および/または、前記ユーザの視線方向を特定するステップをさらに含み、
前記基準視線は、前記視界方向および/または前記視線方向に基づいて特定され、
前記移動入力は、前記視界方向または前記視線方向が滞留した時間を特定する情報を含み、
前記経時的状態は、前記視界方向または前記視線方向が滞留した時間であり、
前記第2位置は、前記視界方向または前記視線方向が滞留した時間が長いほど、前記第1位置から遠くなるように設定される、
請求項1〜4のいずれかの方法。
本項目の方法によれば、ユーザが注意を向けた方向をも加味して、エンタテイメント性の高い仮想空間を提供し得る。
(項目6)
前記HMDの傾きを検知することにより視界方向を特定するステップ、および/または、前記ユーザの視線方向を特定するステップをさらに含み、
前記基準視線は、前記視界方向および/または前記視線方向に基づいて特定され、
前記視界方向または前記視線方向に、前記経時的状態に基づく経時的表示を表示させる、
請求項1〜5のいずれかの方法。
本項目の方法によれば、仮想カメラが移動入力によって移動する方向を、ユーザは経時的表示に基づいて予測することができるため、仮想カメラの移動による映像酔い(所謂、VR酔い)が緩和され得る。
(項目7)
前記経時的表示を、前記仮想カメラと前記第2位置の間に表示させる、
請求項6の方法。
本項目の方法によれば、仮想カメラの移動による映像酔いが緩和され得る。
(項目8)
前記経時的表示を、前記仮想カメラから前記第2位置に延びるように表示させる、
請求項6または7の方法。
本項目の方法によれば、仮想カメラの移動による映像酔いが緩和され得る。
(項目9)
請求項1〜8のいずれかの方法を、前記コンピュータに実行させるプログラム。
[本発明の実施形態の詳細]
本発明の実施形態に係るHMDを制御するための方法、および、プログラムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
本発明の実施形態に係るHMDを制御するための方法、および、プログラムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
図1は、HMDシステム100を示す。HMDシステム100は、ユーザの頭部に装着されるHMD110と、制御回路部120と、動きセンサ130と、注視センサ140と、コントローラ150とを備える。
HMD110は、非透過型の表示装置であるディスプレイ112と、センサ部114と、注視センサ140を含む。制御回路部120は、ディスプレイ112に右目用画像と左目用画像を表示することにより、両目の視差を利用した3次元画像を仮想空間として提供する。ディスプレイ112がユーザの眼前に配置されることによって、ユーザは仮想空間に没入できる。仮想空間は、背景やユーザが操作可能な各種オブジェクト、メニュー画像等を含む。
ディスプレイ112は、右目用画像を提供する右目用サブディスプレイと、左目用画像を提供する左目用サブディスプレイを含んでもよい。また、右目用画像と左目用画像を提供できれば、1つの表示装置で構成されていても良い。例えば、表示画像が一方の目にしか認識できないようにするシャッターを高速に切り替えることにより、右目用画像と左目用画像を独立して提供し得る。
制御回路部120は、HMD110に仮想空間を提供させるためのコンピュータである。図2に示すように、制御回路部120は、データ伝送路としてのバスで互いに接続されたプロセッサと、メモリと、ストレージと、入出力インターフェースと、通信インターフェースを含む。プロセッサは、CPU(Central Processing Unit)やMPU(Micro−processing unit)、GPU(Graphics Processing Unit)等を含んで構成され、制御回路部120およびHMDシステム100全体の動作を制御する。メモリは主記憶として機能し、プロセッサが処理するプログラムや演算パラメータなどの制御用データを一時的に記憶する。メモリはROM(Read Only Memory)やRAM(Random Access Memory)等を含んで構成され得る。ストレージは補助記憶として機能し、HMDシステム100全体の動作を制御するためのプログラム、各種シミュレーションプログラムやユーザの認証プログラムの他、仮想空間を定義するための各種画像やオブジェクトに関するデータが格納され、さらに、各種データを管理するためのテーブルを含むデータベースが構築されていてもよい。ストレージはフラッシュメモリやHDD(Hard Disc Drive)等を含んで構成され得る。入出力インターフェースは、USB(Universal Serial Bus)端子やDVI(Digital Visual Interface)端子やHDMI(登録商標)(High−Definition Multimedia Interface)端子等の各種有線接続端子や、無線接続のための各種処理回路を含んで構成され、HMD110や動きセンサ130を含む各種センサ、コントローラ150等を接続する。通信インターフェースは、ネットワークNWを介して外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んで構成され、LAN(Local Area Network)やインターネットを介して通信するための各種通信規格・プロトコルに適合するように構成されている。
制御回路部120は、ストレージに格納された所定のアプリケーションプログラムをメモリにロードして実行することにより、HMD110のディスプレイ112に仮想空間を提示する。また、メモリやストレージには、当該仮想空間内に表示される各種オブジェクトを操作したり、各種メニュー画像等を表示・制御するためのプログラムが格納される。制御回路部120はHMD110に搭載されていなくてもよく、別のハードウェア(例えば公知のパーソナルコンピュータ、ネットワークを通じたサーバ・コンピュータ)として構成してもよいし、複数のハードウェアによって1または複数の機能が実装されてもよい。また、制御回路部120は、一部の機能のみをHMD110に実装し、残りの機能を別のハードウェアに実装してもよい。
動きセンサ130は、HMD110の位置や傾きに関する情報を検出する。図3は、動きセンサ130によって取得されるHMD110の位置や傾きの検知データを例示する。HMD110を装着したユーザの頭部を中心として、3次元のuvw視野座標系を規定する。ユーザが直立する垂直方向をヨー方向(v)とし、ヨー方向と直交しディスプレイ112の中心とユーザを結ぶ前後方向をロール方向(w)とし、ヨー方向およびロール方向と直交する横方向をピッチ方向(u)とする。これにより、ユーザの3次元空間内における位置および傾きの経時変化が取得される。また、ピッチ方向周りのHMD110の傾き角度としてのピッチ角(θu)、ヨー方向周りのHMD110の傾き角度としてのヨー角(θv)、ロール方向周りのHMD110の傾き角度としてのロール角(θw)が取得される。
動きセンサ130は、センサ部114と、検知部132を含む。センサ部114は、複数の光源を含んでもよい。光源は、例えば赤外線を発するLEDである。検知部132は例えば赤外線センサであり、光源からの赤外線をHMD110の検知点として検知することで、ユーザの動きに応じたHMD110の現実空間内における位置や角度に関する情報を経時的に検出する。そして、検知部132により検出された情報の経時的変化に基づいて、制御回路部120はHMD110の位置や角度の時間変化を決定し、HMD110の動きに関する情報を特定することができる。HMD110の現実空間内における位置は、検知部132で取得される赤外線の光強度や複数の検知点間の相対位置関係(検知点間の距離等)に基づいて、検知部132に対する相対位置として特定されてもよく、これに基づいてuvw視野座標系の原点が特定されてもよい。また、複数の検知点間の相対位置関係に基づいてHMD110の現実空間内における傾きを特定し、uvw視野座標系の向きが特定されてもよい。
動きセンサ130は、ディスプレイ112の近くに固定されたセンサ部114と、検知部132の、一方のみから構成されてもよい。センサ部114が、地磁気センサ、加速度センサ、ジャイロセンサであってもよく、これらの少なくとも1つを用いて、ユーザの頭部に装着されたHMD110の位置および傾きを検出する。これにより、HMD110の動きに関する情報を検出することができる。例えば、角速度センサは、HMD110の動きに応じて、HMD110の3軸回りの角速度を経時的に検出し、各軸回りの角度の時間変化を決定することができる。この場合には、検知部132は不要である。また、検知部132は光学カメラを含んで構成されても良い。この場合には、画像情報に基づいてHMD110の動きに関する情報を検出することができ、センサ部114は不要である。
図4に、制御回路部120の制御によって提供される仮想空間2とHMD110(動きセンサ130)との関係を示す。仮想空間2は、中心21の360°方向を覆う全天球状に定義される(図4において、上半分の天球のみを例示する)。天球には略正方形または略長方形の複数のメッシュが関連付けられており、映像コンテンツ等の画像がレンダリングされることによって仮想空間2が視認可能に提供される。仮想空間2は、中心21を原点とするXYZ空間座標系が関連付けられており、各メッシュの仮想空間2における空間情報が特定される。本実施形態では、初期状態において中心21に仮想カメラ1が配置されており、HMD110の動きに連動して仮想カメラ1の位置および向きが特定される。従って、HMD110の現実空間におけるuvw視野座標系に連動するように、仮想カメラ1の仮想空間2内におけるuvw視野座標系が定義される。また、HMD110を装着したユーザの現実空間における移動に連動して、仮想カメラ1を仮想空間2内において移動させてもよい。そして、仮想カメラ1の仮想空間2内における位置及び向きに基づいて、仮想空間2のうちHMD110のディスプレイ112に投影されることによってユーザが視認する視界領域23が特定される。
仮想カメラ1は、右眼用画像を提供する右眼用仮想カメラと、左眼用画像を提供する左眼用仮想カメラを含むことが好ましく、2つの仮想カメラにはユーザが三次元の仮想空間2を認識できるように適切な視差が設定されていることが好ましい。本実施形態においては、このような2つの仮想カメラのロール方向が合成されることによって生成されるロール方向(w)がHMD110のロール方向(w)に適合されるような仮想カメラ1のみを代表して図示、および、説明するものとする。
注視センサ140は、ユーザの右目および左目の視線が向けられる方向を検出するアイトラッキング機能を有する。図5に示すように、注視センサ140はユーザUの右目および左目の視線が向けられている方向を検知する。ユーザUが近くを見ている場合には視線R1およびL1が検知され、両者の交点である注視点N1が特定される。また、ユーザが遠くを見ている場合には、視線R1およびL1よりロール方向(w)とのなす角が小さい視線R2およびL2が特定される。注視点N1が特定されると、ユーザUの視線方向N0が特定される。視線方向N0はユーザUが両目により実際に視線が向けられている方向である。視線方向N0は、例えばユーザUの右目Rおよび左目Lの中心と中心点N1が通る直線の伸びる方向として定義される。注視センサ140はアイトラッキング機能を有する公知のセンサを採用することができ、例えば、右目及び左目に赤外光を照射し、角膜や虹彩からの反射光を取得することにより、眼球の回転角を求めることとしても良い。注視センサ140は、右目用センサと左目用センサを備えていることが好ましい。
コントローラ150は、制御回路部120に対して各種指令を送ることができるように接続されたデバイスであり、有線または無線通信が可能な携帯端末で構成されてもよい。コントローラ150は、例えば、スマートフォン、PDA(Personal Digital Assistant)、タブレット型コンピュータ、ゲーム用コンソール、汎用のPC(Personal Computer)等を適用可能である。コントローラ150は、タッチパネルを備えるデバイスであることが好ましく、互いにバス接続されたプロセッサ、メモリ、ストレージ、通信部、表示部と入力部が一体として構成されたタッチパネル、を備える任意の端末が採用され得る。ユーザは、コントローラ150のタッチパネルに対し、タップ、スワイプおよびホールドを含む各種タッチ動作を入力することにより、仮想空間2に配置される各種オブジェクトやUI(User Interface)に対して影響を及ぼすことができる。
HMDシステム100はいずれかの要素にマイクやスピーカを備えていても良い。これにより、ユーザは仮想空間2内に対して、音声による指示を与えることができる。また、仮想空間内の仮想テレビにテレビ番組の放送を受信するために、HMDシステム100はいずれかの要素にテレビジョン受像機を含んでいても良い。また、ユーザが取得した電子メール等を表示させるための、通信機能等を含んでいても良い。
図6は、HMDシステム100に対して仮想空間2を提供するための、制御回路部120の機能を示すブロック図である。制御回路部120は、主に動きセンサ130、注視センサ140、コントローラ150からの出力データに基づいて、ディスプレイ112への出力画像を制御する。制御回路部120は、図2に示した各ハードウェアの協働によって、表示制御部200と、オブジェクト制御部300と、通信制御部400と、記憶部500と、として機能する。表示制御部200、および、オブジェクト制御部300は、主としてプロセッサおよびメモリの協働によってその機能が実現され得る。通信制御部400は、主としてプロセッサ、および、通信インターフェースの協働によってその機能が実現され得る。記憶部500は、主としてメモリ、および、ストレージの協働によってその機能が実現され得る。
表示制御部200は、仮想空間定義部210と、HMD動作検知部220と、視界方向特定部220aと、視線検知部230と、視線方向特定部230aと、基準視線特定部240と、視界領域決定部250と、視界画像生成部260と、を含む。オブジェクト制御部300は、仮想カメラ制御部310と、キャラクタ制御部320と、入力検知部330と、経時的表示制御部340と、判定部350と、描画部360と、を含む。通信制御部400は、外部機器160にネットワークNWを介して各種データを要求する要求部410と、要求部410および外部機器との通信を処理する通信処理部420とを含む。記憶部500は、空間情報格納部510と、オブジェクト情報格納部520と、ユーザ情報管理部530とを含む。
図6,図7を参照して、仮想空間2を提供するためにHMDシステム100において実行される処理を説明する。仮想空間2は、HMD110および制御回路部120の相互作用によって提供され得る。
仮想空間定義部210は、ユーザ情報管理部530を参照して、ユーザに提供すべき仮想空間2を特定する。そして、仮想空間定義部210は空間情報格納部510を参照することにより、ユーザが没入する仮想空間2を構成するための仮想空間画像22に関する仮想空間画像データを特定する(S120−1)。これにより、ユーザが没入する仮想空間2が制御回路部120によって定義される。
仮想カメラ制御部130は、仮想空間2内における初期位置(図4における中心21等)に、仮想カメラ1を配置させる。その際、仮想カメラ1はHMD110のuvw視野座標系に連動させるように仮想カメラ1の向きを設定しても良いし、仮想空間2内の所定の方向を向くように仮想カメラ1の向きを設定してもよい。これにより、仮想空間2において、仮想カメラ1が初期化される(S120−2)。仮想カメラ1のuvw視野座標系に基づいて、視界領域決定部250は後述するように視界領域23を決定する。視界画像生成部260は、仮想空間2の視界領域23に相当する領域が投影された部分を視界画像として生成し、視界画像データをHMD110に出力する(S120−3)。HMD110はこれを受信すると、ディスプレイ112に視界画像を表示される(S112−1)。
ユーザからHMD110に移動や傾きといった動作が入力されると、動きセンサ130によってHMD110の位置や傾きが検知される(S130−1)。動きセンサ130の動き検知データは制御回路部120に送信され、HMD動作検出部220により、HMD110の位置情報や傾き情報が受け付けられる。視界方向特定部220aは、HMD110の位置情報や傾き情報に基づいてuvw視野座標系を特定し、ロール方向(w)を視界方向として特定する(S120−4)。
注視センサ140がユーザの左右の目の視線を検出すると(S140−1)、当該情報が制御回路部120に送信される。視線検知部230は、右目および左目の視線が向けられる方向を特定し、ユーザが実際に注視している視線方向N0が特定される(S120−5)。
基準視線特定部240は、視界方向、または、視線方向N0を基準視線5として特定する(S120−6)。本実施形態においては、視界方向を基準視線5として特定することとする。基準視線5の位置(基点)、または、向きが、仮想カメラ1の初期状態から変動している場合には、変動後の基準視線5に基づいて、仮想カメラ1の向きおよび位置(第1位置)を決定する(S120−7)。
視界領域決定部250は、仮想カメラ1の向きおよび位置に基づいて、視界領域23を決定する(S120−8)。図4に示すように、視界領域23は仮想空間2のうちHMD110を装着するユーザの視界を構成する部分である。視界領域23は基準視線5に基づいて定められる。
図8は視界領域23をX方向から見たYZ断面図であり、図9は視界領域23をY方向から見たXZ断面図である。視界領域23は、基準視線5と仮想空間画像22のYZ断面によって定義される範囲である第1領域24(図8参照)と、基準視線5と仮想空間画像22のXZ断面によって定義される範囲である第2領域25(図9参照)とを有する。第1領域24は、基準視線5を中心として極角αを含む範囲として設定される。第2領域25は、基準視線5を中心として方位角βを含む範囲として設定される。
視界画像生成部260は、視界領域23に基づいて視界画像26を生成し、ディスプレイ112に出力する(S120−9)。HMD110は視野画像データを受信し、ディスプレイ112に表示される視野画像を更新する(S112−2)。
図6、および、図10以降を参照して、ユーザに提供される仮想空間2の具体例、および、当該仮想空間2をユーザに提供するためにHMDシステム100において実行される処理を例示する。図10,図15は、HMDシステム100において実行される処理を例示するフローチャートである。図11〜図14,図16は、(a)に視界画像を示し、(b)に当該視界画像を生成するための仮想カメラ1の位置および向きを示す。本実施形態において、HMDシステム100においてアクションゲームの一場面としての仮想空間2を例示する。ユーザは仮想空間2内の木オブジェクトTOを活用して身を隠しながら、銃等の武器を用いて敵キャラクタECを討伐することを目的とするものとする。ユーザはHMD110を介して、敵キャラクタECを討伐するキャラクタの1人称視点を体験できるものである。この場合、ユーザが体験するプレイヤキャラクタの位置が仮想カメラ1の位置と同視される。
図11において、(b)に図示されるように、仮想カメラ1は第1位置P1に配置されている。この場合、視界画像VG1には、敵キャラクタECと、2つの木オブジェクトTOと、背景となる仮想空間画像22のうち視界領域23に含まれる部分が含まれる。
ユーザは、敵キャラクタECを木オブジェクトTOの陰から討伐することを目指すものとする。この場合、ユーザはプレイヤキャラクタ(即ち、本実施形態においては仮想カメラ1)を移動させるための操作をコントローラ150に対して入力する。コントローラ150は、当該操作を受け付けると、操作情報を制御回路部120に出力する(S150−1)。
コントローラ150から出力される操作情報は、操作入力の経時的状態を特定するための情報を含む。例えば、コントローラ150に対して入力された操作が、コントローラ150のタッチパネルに対する継続的な接触操作や、ゲーム用コンソールの所定のボタンに対する長押し操作である場合には、経時的状態は当該接触操作や長押し操作が継続された時間である。コントローラ150に対して入力された操作が、コントローラ150のタッチパネルに対する連続的なタップ操作や、ゲーム用コンソールの所定のボタンに対する連続的な押下操作である場合には、経時的状態は当該タップ操作や押下操作が所定時間内に入力された回数である。
制御回路部120がコントローラ150からの上記出力を受信すると、入力検知部330は当該出力を移動入力として受け付ける(S120−10)。判定部350は、当該移動入力に含まれる経時的状態を特定する(S120−11)。経時的表示制御部340は、経時的状態に基づいて、図12中(b)に示すような経時的表示TD1を生成する。描画部360は視界画像VG1に経時的表示TD1が含まれるように視界画像VG1を生成し、HMD110に出力する(S120−12)。HMD110はこれを受信してディスプレイ112に表示させることにより、視界画像VG1を更新する(S110−1)。
判定部350は、移動入力に含まれる経時的状態に基づいて、仮想カメラ1の移動先となる第2位置P2を特定する(S120−13)。本実施形態において、経時的状態が、コントローラ150に対する操作入力が継続された時間であると特定された場合には、当該継続された時間に基づいて第2位置P2が特定される。具体的には、当該継続された時間が長いほど第2位置P2が第1位置P1から遠くなるように設定され、継続された時間に対して比例的に遠くなるようにされても良いし、指数関数的に遠くなるようにされても良いし、継続された時間が長くなるほど遠くなる変化量が減少するようにされていても良い。経時的状態が、コントローラ150に対する操作入力が所定時間内に入力された回数であると特定された場合には、当該入力された回数に基づいて第2位置P2が特定される。具体的には、当該継入力された回数が多いほど第2位置P2が第1位置P1から遠くなるように設定され、入力された回数に対して比例的に遠くなるようにされても良いし、指数関数的に遠くなるようにされても良いし、入力された回数が多くなるほど遠くなる変化量が減少するようにされていても良い。
また、判定部350は、第2位置P2の方向を、基準視線5に基づいて特定してもよい。具体的には、図12に示されるように、第2位置P2の方向を視界方向に基づいて特定してもよい。この場合、プレイヤキャラクタが陸上を歩行または走行するなどして移動するキャラクタである場合には、視界方向をXY面に投影し、第2位置P2の方向を特定することが好ましい。プレイヤキャラクタが飛行可能である場合には、視界方向に向けて第2位置P2の方向を特定してもよい。
このようにして第2位置P2が特定された場合、経時的表示制御部340は、経時的表示TD1を仮想カメラ1の位置(即ち、第1位置P1)と第2位置P2の間に表示させることが好ましい。特に、経時的表示制御部340は、図12に示されるように棒状の経時的表示TD1が仮想カメラ1から第2位置P2へと延びるように表示させることが好ましい。これにより、ユーザはコントローラ150に対して移動するための操作を入力した結果、プレイヤキャラクタ(仮想カメラ1)が移動する移動先を容易に把握することができる。また、後述するように仮想カメラ1を第2位置P2に移動させる際に、視界が移動する方向をユーザは予測することが可能になるため、仮想カメラ1の移動による映像酔い(所謂、VR酔い)が緩和され得る。
図13に示されるように、仮想カメラ制御部310は、仮想カメラ1を現在位置(第1位置P1)から第2位置P2に移動させる。そして、基準視線特定部240は、前述したようにHMD110の動きを検知することによって基準視線5を特定する(S120−14)。この場合、基準視線5の基点は第2位置P2であり、基準視線5の向きはHMD110の傾きに基づいて決定される。これにより、仮想カメラ1の位置、および向きに基づいてuvw視界座標系が特定される。視界領域決定部250は、前述したように基準視線5に基づいて視界領域23を特定する。視界画像生成部260は、前述したように視界領域23に基づいて視界画像VG1を生成し、HMD110に出力する(S120−15)。HMD110はこれを受信してディスプレイ112に表示させることにより、視界画像VG1を視界画像VG2に更新する(S110−2)。
なお、仮想カメラ1が第1位置P1から第2位置P2に移動させる過渡期においては、HMD110の動作と視野画像VG1の更新動作が一致しないため、ユーザがVR酔いを起こす恐れがある。従って、当該過渡期においても、仮想カメラ1の少なくとも向きについてはHMD110の動きに連動させることが好ましい。また、当該過渡期においては、視界画像VG1からユーザが視認する情報量を低減させる処理(解像度を低下させる、ブラーをかける、輝度を低下させる、明るさを低下させる、視界の一部に目隠しをする、等)を実行させてもよい。
第2位置P2に仮想カメラ1が移動されたら、ユーザはHMD110を動かすことにより、図14に示されるように視界画像VG’に敵キャラクタECを収めるとよい。そして、武器の照準Sを敵キャラクタECに合わせて、攻撃動作を実行する。ユーザはプレイヤキャラクタを木オブジェクトTOの陰に配置することによって、敵キャラクタECに気づかれることを防止しつつ、敵キャラクタECを討伐できる。
本実施形態における移動入力は、上述したコントローラ150から出力された操作情報に限定されず、HMD110から出力された視界方向および/または視線方向を含んでいてもよい。図15は、HMD110からの出力に基づいて仮想カメラの移動先を特定する場合の、HMDシステム100に実行される処理を示す。図10と概ね共通する処理については破線で示し、重複する説明を繰り返さない。
図15に示されるように、入力検知部330はコントローラ150からの操作情報を受け付けることにより、HMD110から出力される視界方向および/または視線方向を、移動入力として受け付けるように設定する(S150−1)。また、入力検知部330は、HMD110において検出された視界方向および/または視線方向に関するデータを受け付ける(S110−3)。本実施形態においては、HMD110の傾きに応じて特定される視界方向に基づいて基準視線5を決定し、視線方向N0を移動入力として受け付ける場合を例示して説明する。
HMD110から出力される視線検知データは、当該視線方向の経時的状態を特定するための情報を含む。視線検知部230は、右眼および左眼の視線が向けられた方向に関するデータを受信すると、視線方向特定部230aが前述のように視線方向N0を特定する。さらに、判定部350は、視線方向N0が所定方向に滞留した時間を特定する(S120−16)。これにより、入力検知部330は、コントローラ150からの操作情報、および、視線情報を、移動入力として受け付ける(S120−17)。
判定部350は、視線方向N0が所定方向に滞留した時間を、移動入力の経時的状態として特定する(S120−18)。経時的表示制御部340は、当該経時的状態に基づいて、図16中(b)に示すような経時的表示TD2を生成する。描画部360は視界画像VG3に経時的表示TD2が含まれるように視界画像VG3を生成し、HMD110に出力する(S120−19)。HMD110はこれを受信してディスプレイ112に表示させることにより、視界画像VG3を更新する(S110−1)。
判定部350は、移動入力に含まれる経時的状態に基づいて、仮想カメラ1の移動先となる第2位置P2を特定する(S120−13)。本実施形態において、視線方向N0が所定方向に滞留した時間に基づいて第2位置P2が特定される。具体的には、当該滞留した時間が長いほど第2位置P2が第1位置P1から遠くなるように設定され、滞留した時間に対して比例的に遠くなるようにされても良いし、指数関数的に遠くなるようにされても良いし、滞留した時間が長くなるほど遠くなる変化量が減少するようにされていても良い。
判定部350は、第2位置P2の方向を、視線方向N0に基づいて特定する。具体的には、図16に示されるように、視界画像VG3を基準視線5(本例においては、視界方向)に基づいて生成するとともに、第2位置P2の方向を視線方向N0に基づいて特定する。これにより、ユーザは視界画像VG3内における任意の位置を、視線の移動によって仮想カメラ1の移動先として指定することができる。
なお、本例においては図12に示した例と比較して、第1位置P1と第2位置P2との間の距離が大きくなるように設定されている。即ち、視線方向N0の滞留時間を長くすることにより、一度の移動入力操作により、遠くのまで仮想カメラ1を移動させることができる。しかし、この場合には移動させるための操作を入力するために多くの時間を要するため、本実施形態におけるアクションゲームのような形態においては、敵キャラクタECに対して隙を作ることとなってしまう。図16中の(a)においては、これによりプレイヤキャラクタが敵キャラクタECからの攻撃を受けてしまった場合が示されている。このように、移動入力の経時的状態に基づいて仮想カメラ1を移動させることにより、設定される第2位置P2の態様によっては、移動入力を行うタイミングを適切に見極める必要がある。従って、本実施形態によれば、エンタテイメント性の高い仮想空間を提供し得る。
以上、本発明の実施の形態について説明したが、本発明は上記実施形態に限定されるものではない。前述の請求項に記載されるこの発明の精神及び範囲から逸脱することなく、様々な実施形態の変更がなされ得ることを当業者は理解するであろう。
例えば、上述の実施形態においては、基準視線5が視界方向に基づいて特定される例を説明したが、基準視線5は視線方向によって特定されてもよい。また、視線方向によって視界領域23が特定された上で、視界方向に基づいて第2位置P2の方向が特定されるようにしてもよい。
100…ヘッドマウントディスプレイ(HMD)システム、110…HMD、112…ディスプレイ、114…センサ部、120…制御回路部、130…動きセンサ、132…検知部、140…注視センサ、150…コントローラ、200…表示制御部、300…オブジェクト制御部、400・・・通信制御部、500…記憶部、1…仮想カメラ、2…仮想空間、5…基準視線、22…仮想空間画像、23…視界領域、VG1〜3…視界画像、TD1〜2…経時的表示。
Claims (9)
- コンピュータを用いてヘッドマウントディスプレイ(以下、HMD)にユーザが没入する仮想空間を提供する方法であって、
前記ユーザが没入する仮想空間を定義するステップと、
前記仮想空間内の第1位置に、視界領域を決定するための仮想カメラを定義するステップと、
前記ユーザの基準視線を特定するステップと、
前記基準視線に基づいて、前記仮想カメラの向きを特定するステップと、
前記仮想空間のうち、前記視界領域に相当する視界画像を生成し、前記HMDに出力するステップと、
前記仮想カメラの移動先を特定するための移動入力を受け付けるステップと、
前記移動入力の経時的状態を特定するステップと、
前記経時的状態に基づいて、前記仮想カメラを前記第1位置から前記仮想空間内の第2位置に移動させるステップと、
前記第2位置に配置された前記仮想カメラに基づいて前記視界領域を更新するステップと、
更新された前記視界領域に基づいて前記視界画像を生成し、前記HMDに出力するステップと、
を含む方法。 - 前記移動入力は、前記コンピュータに接続されたコントローラからの出力である、
請求項1の方法。 - 前記出力は、前記コントローラに対する入力が継続された時間を特定するための情報を含み、
前記経時的状態は、前記入力が継続された時間であり、
前記第2位置は、前記入力が継続された時間が長いほど、前記第1位置から遠くなるように設定される、
請求項2の方法。 - 前記出力は、所定時間内に前記コントローラに対する入力が実行された回数を特定するための情報を含み、
前記経時的状態は、前記入力が実行された回数であり、
前記第2位置は、前記回数が多いほど、前記第1位置から遠くなるように設定される、
請求項2の方法。 - 前記HMDの傾きを検知することにより視界方向を特定するステップ、および/または、前記ユーザの視線方向を特定するステップをさらに含み、
前記基準視線は、前記視界方向および/または前記視線方向に基づいて特定され、
前記移動入力は、前記視界方向または前記視線方向が滞留した時間を特定する情報を含み、
前記経時的状態は、前記視界方向または前記視線方向が滞留した時間であり、
前記第2位置は、前記視界方向または前記視線方向が滞留した時間が長いほど、前記第1位置から遠くなるように設定される、
請求項1〜4のいずれかの方法。 - 前記HMDの傾きを検知することにより視界方向を特定するステップ、および/または、前記ユーザの視線方向を特定するステップをさらに含み、
前記基準視線は、前記視界方向および/または前記視線方向に基づいて特定され、
前記視界方向または前記視線方向に、前記経時的状態に基づく経時的表示を表示させる、
請求項1〜5のいずれかの方法。 - 前記経時的表示を、前記仮想カメラと前記第2位置の間に表示させる、
請求項6の方法。 - 前記経時的表示を、前記仮想カメラから前記第2位置に延びるように表示させる、
請求項6または7の方法。 - 請求項1〜8のいずれかの方法を、前記コンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016236435A JP2017162443A (ja) | 2016-12-06 | 2016-12-06 | ヘッドマウントディスプレイシステムを制御するための方法、および、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016236435A JP2017162443A (ja) | 2016-12-06 | 2016-12-06 | ヘッドマウントディスプレイシステムを制御するための方法、および、プログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016047584A Division JP6058184B1 (ja) | 2016-03-10 | 2016-03-10 | ヘッドマウントディスプレイシステムを制御するための方法、および、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017162443A true JP2017162443A (ja) | 2017-09-14 |
Family
ID=59857959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016236435A Pending JP2017162443A (ja) | 2016-12-06 | 2016-12-06 | ヘッドマウントディスプレイシステムを制御するための方法、および、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017162443A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019171834A1 (ja) * | 2018-03-08 | 2019-09-12 | 株式会社コナミデジタルエンタテインメント | 表示制御装置及びプログラム |
-
2016
- 2016-12-06 JP JP2016236435A patent/JP2017162443A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019171834A1 (ja) * | 2018-03-08 | 2019-09-12 | 株式会社コナミデジタルエンタテインメント | 表示制御装置及びプログラム |
JP2019174853A (ja) * | 2018-03-08 | 2019-10-10 | 株式会社コナミデジタルエンタテインメント | 表示制御装置及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6058184B1 (ja) | ヘッドマウントディスプレイシステムを制御するための方法、および、プログラム | |
JP5996814B1 (ja) | 仮想空間の画像をヘッドマウントディスプレイに提供する方法及びプログラム | |
JP6511386B2 (ja) | 情報処理装置および画像生成方法 | |
JP6074525B1 (ja) | 仮想空間における視界領域調整方法、およびプログラム | |
US10394319B2 (en) | Method of displaying an image, and system therefor | |
JP5914739B1 (ja) | ヘッドマウントディスプレイシステムを制御するプログラム | |
JP6342038B1 (ja) | 仮想空間を提供するためのプログラム、当該プログラムを実行するための情報処理装置、および仮想空間を提供するための方法 | |
JP6462059B1 (ja) | 情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 | |
US9779702B2 (en) | Method of controlling head-mounted display system | |
JP6087453B1 (ja) | 仮想空間の提供方法、およびプログラム | |
JP6615732B2 (ja) | 情報処理装置および画像生成方法 | |
JP2017021680A (ja) | ヘッドマウントディスプレイ制御方法、および、ヘッドマウントディスプレイ制御プログラム | |
TW201903565A (zh) | 用於顯示彈幕的方法、裝置以及非揮發性電腦可讀儲存介質 | |
JP2017138973A (ja) | 仮想空間の提供方法、およびプログラム | |
JP6121496B2 (ja) | ヘッドマウントディスプレイシステムを制御するプログラム | |
JP2017142783A (ja) | 仮想空間における視界領域調整方法、およびプログラム | |
JP6518645B2 (ja) | 情報処理装置および画像生成方法 | |
JP6203346B1 (ja) | 仮想空間を提供する方法、プログラム、および記録媒体 | |
JP6382928B2 (ja) | 仮想空間における画像の表示を制御するためにコンピュータによって実行される方法、当該方法をコンピュータに実現させるためのプログラム、および、コンピュータ装置 | |
JP2017162443A (ja) | ヘッドマウントディスプレイシステムを制御するための方法、および、プログラム | |
US20190089899A1 (en) | Image processing device | |
JP2018170013A (ja) | 仮想空間における画像の表示を制御するためにコンピュータによって実行される方法、当該方法をコンピュータに実現させるためのプログラム、および、コンピュータ装置 | |
JP6598575B2 (ja) | ヘッドマウントディスプレイシステムを制御する方法、および、プログラム | |
JP6999538B2 (ja) | 情報処理方法、情報処理プログラム、情報処理システム、および情報処理装置 | |
JP6121495B2 (ja) | ヘッドマウントディスプレイシステムを制御するプログラム |