[本開示が示す実施形態の説明]
本開示が示す実施形態の概要を説明する。
(1)第1ヘッドマウントディスプレイと、音声入力部とを有する第1ユーザ端末を備えたシステムにおける情報処理方法であって、
仮想カメラと、前記音声入力部に入力された音声の音源として規定される音源オブジェクトとを含む仮想空間を規定する仮想空間データを生成するステップと、
前記第1ヘッドマウントディスプレイの動きに応じて、前記仮想カメラの視野を決定するステップと、
前記仮想カメラの視野と仮想空間データとに基づいて、視野画像データを生成するステップと、
前記視野画像データに基づいて、前記第1ヘッドマウントディスプレイに視野画像を表示させるステップと、
前記仮想空間の第1領域において、前記仮想空間内を伝搬する音声の単位距離当たりの減衰量を規定する減衰係数を第1減衰係数に設定すると共に、前記第1領域とは異なる前記仮想空間の第2領域において、前記減衰係数を第2減衰係数に設定するステップと、
を含み、
前記第1減衰係数と前記第2減衰係数は互いに異なる、情報処理方法。
上記方法によれば、仮想空間の第1領域において、減衰係数が第1減衰係数に設定されると共に、仮想空間の第2領域において、減衰係数が第1減衰係数とは異なる第2減衰係数に設定される。このように、第1,2領域の各々において異なる減衰係数が設定されるので、仮想空間内において音源オブジェクトから出力される音声に指向性を持たせることができる。
(2)前記システムは、第2ヘッドマウントディスプレイと、音声出力部とを有する第2ユーザ端末をさらに備え、
前記仮想空間は、前記第2ユーザ端末に関連付けられたアバターオブジェクトをさらに含み、
前記情報処理方法は、
前記音声入力部に入力された音声を示す音声データを取得するステップと、
前記音源オブジェクトと前記アバターオブジェクトとの間の相対位置関係を特定するステップと、
前記アバターオブジェクトが前記第1領域に位置しているかどうかを判定するステップと、
前記特定された相対位置関係と、前記減衰定数とに基づいて、前記音声データを加工するステップと、
前記加工された音声データに対応する音声を前記音声出力部に出力させるステップと、
をさらに含み、
前記アバターオブジェクトが前記第1領域に位置していると判定された場合、前記減衰係数が前記第1減衰係数に設定され、その後、前記音声データは、前記相対位置関係と前記第1減衰定数とに基づいて加工され、
前記アバターオブジェクトが前記第2領域に位置していると判定された場合、前記減衰係数が前記第2減衰係数に設定され、その後、前記音声データは、前記相対位置関係と前記第2減衰係数とに基づいて加工される、
項目(1)に記載の情報処理方法。
上記方法によれば、アバターオブジェクトが第1領域に位置していると判定された場合に、減衰係数が第1減衰係数に設定され、その後、音声データは、相対位置関係と第1減衰定数とに基づいて加工される。一方、アバターオブジェクトが第2領域に位置していると判定された場合に、減衰係数が第2減衰係数に設定され、その後、音声データは、相対位置関係と第2減衰係数とに基づいて加工される。
このように、仮想空間上におけるアバターオブジェクトの存在位置に応じて、音声出力部から出力される音声の音量(音圧レベル)が異なる。例えば、第1減衰係数が第2減衰係数よりも小さいと仮定したとき、アバターオブジェクトが第1領域に存在する場合における音声出力部から出力される音声の音量は、アバターオブジェクトが第2領域に存在する場合における音声出力部から出力される音声の音量よりも大きくなる。このため、味方アバターオブジェクトが第1領域に存在しつつ、敵アバターオブジェクトが第2領域に存在する場合、第1ユーザ端末のユーザは、敵アバターオブジェクトを操作するユーザに気付かれずに味方アバターオブジェクトを操作するユーザに音声により指示を出すことが可能となる。従って、仮想空間のエンターテイメント性を向上させることができる。
(3)前記第1領域は、前記仮想カメラの視野内であり、
前記第2領域は、前記仮想カメラの視野外である、
項目(1)又は(2)に記載の情報処理方法。
上記方法によれば、アバターオブジェクトが視野内に位置していると判定された場合に、減衰係数が第1減衰係数に設定され、その後、音声データは、相対位置関係と第1減衰定数とに基づいて加工される。一方、アバターオブジェクトが視野外に位置していると判定された場合に、減衰係数が第2減衰係数に設定され、その後、音声データは、相対位置関係と第2減衰係数とに基づいて加工される。
このように、仮想空間上におけるアバターオブジェクトの存在位置に応じて、音声出力部から出力される音声の音量(音圧レベル)が異なる。例えば、第1減衰係数が第2減衰係数よりも小さいと仮定したとき、アバターオブジェクトが視野内に存在する場合における音声出力部から出力される音声の音量は、アバターオブジェクトが視野外に存在する場合における音声出力部から出力される音声の音量よりも大きくなる。このため、味方アバターオブジェクトが視野内に存在しつつ、敵アバターオブジェクトが視野外に存在する場合、第1ユーザ端末のユーザは、敵アバターオブジェクトを操作するユーザに気付かれずに味方アバターオブジェクトを操作するユーザに音声により指示を出すことが可能となる。従って、仮想空間のエンターテイメント性を向上させることができる。
(4)前記第1領域は、前記第1ヘッドマウントディスプレイを装着したユーザの視線方向によって規定される注視領域であり、
前記第2領域は、前記注視領域以外の前記仮想カメラの視野内である、
項目(1)又は(2)に記載の情報処理方法。
上記方法によれば、アバターオブジェクトが注視領域に位置していると判定された場合に、減衰係数が第1減衰係数に設定され、その後、音声データは、相対位置関係と第1減衰定数とに基づいて加工される。一方、アバターオブジェクトが注視領域以外の仮想カメラの視野内(以下、単に注視外領域という。)に位置していると判定された場合に、減衰係数が第2減衰係数に設定され、その後、音声データは、相対位置関係と第2減衰係数とに基づいて加工される。
このように、仮想空間上におけるアバターオブジェクトの存在位置に応じて、音声出力部から出力される音声の音量(音圧レベル)が異なる。例えば、第1減衰係数が第2減衰係数よりも小さいと仮定したとき、アバターオブジェクトが注視領域内に存在する場合における音声出力部から出力される音声の音量は、アバターオブジェクトが注視外領域に存在する場合における音声出力部から出力される音声の音量よりも大きくなる。このため、味方アバターオブジェクトが注視領域に存在しつつ、敵アバターオブジェクトが注視外領域に存在する場合、第1ユーザ端末のユーザは、敵アバターオブジェクトを操作するユーザに気付かれずに味方アバターオブジェクトを操作するユーザに音声により指示を出すことが可能となる。従って、仮想空間のエンターテイメント性を向上させることができる。
(5)前記第1領域は、前記仮想カメラの視軸によって規定される視軸領域であり、
前記第2領域は、前記視軸領域以外の前記仮想カメラの視野内である、
項目(1)又は(2)に記載の情報処理方法。
上記方法によれば、アバターオブジェクトが視軸領域に位置していると判定された場合に、減衰係数が第1減衰係数に設定され、その後、音声データは、相対位置関係と第1減衰定数とに基づいて加工される。一方、アバターオブジェクトが視軸領域以外の仮想カメラの視野内(以下、単に視軸外領域という。)に位置していると判定された場合に、減衰係数が第2減衰係数に設定され、その後、音声データは、相対位置関係と第2減衰係数とに基づいて加工される。
このように、仮想空間上におけるアバターオブジェクトの存在位置に応じて、音声出力部から出力される音声の音量(音圧レベル)が異なる。例えば、第1減衰係数が第2減衰係数よりも小さいと仮定したとき、アバターオブジェクトが視軸領域内に存在する場合における音声出力部から出力される音声の音量は、アバターオブジェクトが視軸外領域に存在する場合における音声出力部から出力される音声の音量よりも大きくなる。このため、味方アバターオブジェクトが視軸領域に存在しつつ、敵アバターオブジェクトが視軸外領域に存在する場合、第1ユーザ端末のユーザは、敵アバターオブジェクトを操作するユーザに気付かれずに味方アバターオブジェクトを操作するユーザに音声により指示を出すことが可能となる。従って、仮想空間のエンターテイメント性を向上させることができる。
(6)第1ヘッドマウントディスプレイと、音声入力部とを有する第1ユーザ端末を備えたシステムにおける情報処理方法であって、
仮想カメラと、前記音声入力部に入力された音声の音源として規定された音源オブジェクトとを含む仮想空間を規定する仮想空間データを生成するステップと、
前記第1ヘッドマウントディスプレイの動きに応じて、前記仮想カメラの視野を決定するステップと、
前記仮想カメラの視野と前記仮想空間データとに基づいて、視野画像データを生成するステップと、
前記視野画像データに基づいて、前記第1ヘッドマウントディスプレイに視野画像を表示させるステップと、
を含み、
前記仮想空間は、前記仮想空間の第1領域と第2領域との間の境界に配置されると共に、前記仮想空間内を伝搬する音声の減衰量を規定する減衰オブジェクトをさらに含む、
情報処理方法。
上記方法によれば、仮想空間内を伝搬する音声の減衰量を規定する減衰オブジェクトが仮想空間の第1領域と第2領域との間の境界に配置される。このため、例えば、音源として規定された音源オブジェクトから出力される音声の減衰量は、仮想空間の第1領域と第2領域のそれぞれにおいて異なる。このように、仮想空間内において音源オブジェクトから出力される音声に指向性を持たせることができる。
(7)前記減衰オブジェクトは、透明であって、前記視野画像内に表示されない、項目(6)に記載の情報処理方法。
上記方法によれば、減衰オブジェクトが視野画像内に表示されないので、仮想空間へのユーザの没入感(仮想空間に対する臨場感)を損なわずに音源オブジェクトから出力された音声に指向性を持たせることができる。
(8)前記音源オブジェクトは、前記仮想空間の第1領域に配置される、項目(6)又は(7)に記載の情報処理方法。
上記方法によれば、音源オブジェクトは、仮想空間の第1領域に配置される。このため、仮想空間の第2領域では、音源オブジェクトから出力される音声は、仮想空間の第1領域と比較して、減衰オブジェクトにより規定される減衰量だけ更に減衰する。このように、音源オブジェクトから出力される音声に指向性を持たせることができる。
(9)前記システムは、第2ヘッドマウントディスプレイと、音声出力部とを有する第2ユーザ端末をさらに備え、
前記仮想空間は、前記第2ユーザ端末に関連付けられたアバターオブジェクトをさらに含み、
前記情報処理方法は、
前記音声入力部に入力された音声を示す音声データを取得するステップと、
前記音源オブジェクトと前記アバターオブジェクトとの間の相対位置関係を特定するステップと、
前記アバターオブジェクトが前記仮想空間の第1領域に位置しているかどうかを判定するステップと、
前記音声データを加工するステップと、
前記加工された音声データに対応する音声を前記音声出力部に出力させるステップと、
をさらに含み、
前記アバターオブジェクトが前記仮想空間の第1領域に位置していると判定された場合、前記音声データは、前記相対位置関係に基づいて加工され、
前記アバターオブジェクトが前記仮想空間の第2領域に位置していると判定された場合、前記音声データは、前記相対位置関係と前記減衰オブジェクトによって規定された減衰量に基づいて加工される、
項目(8)に記載の情報処理方法。
上記方法によれば、アバターオブジェクトが、音源が位置する仮想空間の第1領域に位置していると判定された場合、音声データは、相対位置関係に基づいて加工される。一方、アバターオブジェクトが仮想空間の第2領域に位置していると判定された場合、音声データは、相対位置関係と減衰オブジェクトによって規定された減衰量に基づいて加工される。
このように、仮想空間上におけるアバターオブジェクトの存在位置に応じて、音声出力部から出力される音声の音量(音圧レベル)が異なる。アバターオブジェクトが仮想空間の第1領域に存在する場合における音声出力部から出力される音声の音量は、アバターオブジェクトが仮想空間の第2領域に存在する場合における音声出力部から出力される音声の音量よりも大きくなる。このため、味方アバターオブジェクトが仮想空間の第1領域に存在しつつ、敵アバターオブジェクトが仮想空間の第2領域に存在する場合、第1ユーザ端末のユーザは、敵アバターオブジェクトを操作するユーザに気付かれずに味方アバターオブジェクトを操作するユーザに音声により指示を出すことが可能となる。従って、仮想空間のエンターテイメント性を向上させることができる。
(10)前記第1領域は、前記仮想カメラの視野内であり、
前記第2領域は、前記仮想カメラの視野外である、
項目(8)又は(9)に記載の情報処理方法。
上記方法によれば、音源オブジェクトが仮想カメラの視野内に配置されると共に、減衰オブジェクトは、仮想カメラの視野の境界に配置される。このため、仮想カメラの視野外では、仮想カメラから出力される音声は、仮想カメラの視野内と比較して、減衰オブジェクトにより規定される減衰量だけ更に減衰する。このように、仮想空間内において音源オブジェクトから出力される音声に指向性を持たせることができる。
(11)項目(1)から(10)のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるためのプログラムを提供する。
上記によれば、仮想空間内において音源として規定された音源オブジェクトから出力される音声に指向性を持たせることができるプログラムを提供することができる。
[本開示が示す実施形態の詳細]
以下、本開示が示す実施形態について図面を参照しながら説明する。尚、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
本開示の実施形態(以下、単に本実施形態という。)に係る情報処理方法を実現するゲームシステム100の構成について図1を参照して説明する。図1は、ゲームシステム100の構成を示す概略図である。図1に示すように、ゲームシステム100は、ユーザXが操作するヘッドマウントディスプレイ(以下、単にHMDという。)システム1A(第1ユーザ端末の一例)と、ユーザYが操作するHMDシステム1B(第2ユーザ端末の一例)と、ユーザZが操作するHMDシステム1C(第3ユーザ端末の一例)と、HMDシステム1A〜1Cを同期制御するゲームサーバ2を備える。HMDシステム1A,1B,1Cとゲームサーバ2は、互いにインターネット等の通信ネットワーク3を介して互いに通信可能に接続されている。尚、本実施形態では、HMDシステム1A〜1Cとゲームサーバ2とからなるクライアントサーバシステムが構築されているが、ゲームサーバ2を設けずに、HMDシステム1AとHMDシステム1BとHMDシステム1Cが相互に直接通信(P2P通信)を行ってもよい。また、説明の便宜上、HMDシステム1A,1B,1Cを単にHMDシステム1という場合がある。また、HMDシステム1A,1B,1Cは、同一の構成を備えているものとする。
次に、図2を参照してHMDシステム1の構成について説明する。図2は、HMDシステム1を示す概略図である。図2に示すように、HMDシステム1は、ユーザUの頭部に装着されたHMD110と、ユーザUの両耳に装着されたヘッドフォン116(音声出力部の一例)と、ユーザUの口の周辺に位置するマイク118(音声入力部の一例)と、位置センサ130と、外部コントローラ320と、制御装置120とを備える。
HMD110は、表示部112と、HMDセンサ114と、注視センサ140とを備えている。表示部112は、HMD110を装着したユーザUの視界(視野)を完全に覆うように構成された非透過型の表示装置を備えている。これにより、ユーザUは、表示部112に表示された視野画像のみを見ることで仮想空間に没入することができる。尚、表示部112は、ユーザUの左目に画像を提供するように構成された左目用の表示部とユーザUの右目に画像を提供するように構成された右目用の表示部から構成されてもよい。
HMDセンサ114は、HMD110の表示部112の近傍に搭載される。HMDセンサ114は、地磁気センサ、加速度センサ、傾きセンサ(角速度センサやジャイロセンサ等)のうちの少なくとも1つを含み、ユーザUの頭部に装着されたHMD110の各種動きを検出することができる。
注視センサ140は、ユーザUの視線方向を検出するアイトラッキング機能を有する。
注視センサ140は、例えば、右目用注視センサと、左目用注視センサを備えてもよい。右目用注視センサは、ユーザUの右目に例えば赤外光を照射して、右目(特に、角膜や虹彩)から反射された反射光を検出することで、右目の眼球の回転角に関する情報を取得してもよい。一方、左目用注視センサは、ユーザUの左目に例えば赤外光を照射して、左目(特に、角膜や虹彩)から反射された反射光を検出することで、左目の眼球の回転角に関する情報を取得してもよい。
ヘッドフォン116は、ユーザUの左耳と右耳にそれぞれ装着されている。ヘッドフォン116は、制御装置120から音声データ(電気信号)を受信し、当該受信した音声データに基づいて音声を出力するように構成されている。ヘッドフォン116の右耳用のスピーカに出力される音声は、ヘッドフォン116の左耳用のスピーカに出力される音声と異なってもよい。例えば、制御装置120は、頭部伝達関数に基づいて、右耳用スピーカに入力される音声データと、左耳用スピーカに入力される音声データを取得し、当該異なる2つの音声データをヘッドフォン116の左耳用スピーカと右耳用スピーカのそれぞれに出力してもよい。尚、音声出力部の他の一例として、独立した2つの据置型スピーカやイヤホンを設けてもよい。
マイク118は、ユーザUから発声された音声を収集し、当該収集された音声に基づいて音声データ(電気信号)を生成するように構成されている。さらに、マイク118は、音声データを制御装置120に送信するように構成されている。マイク118は、音声データをAD(Analog−to―Digital)変換する機能を有してもよい。また、マイク118は、ヘッドフォン116に物理的に接続されてもよい。制御装置120は、受信した音声データを加工し、加工された音声データを通信ネットワーク3を介して他のHMDシステムに送信してもよい。
位置センサ130は、例えば、ポジション・トラッキング・カメラにより構成され、HMD110と外部コントローラ320の位置を検出するように構成されている。位置センサ130は、制御装置120に無線又は有線により通信可能に接続されており、HMD110に設けられた図示しない複数の検知点の位置、傾き又は発光強度に関する情報を検出するように構成されている。さらに、位置センサ130は、外部コントローラ320に設けられた図示しない複数の検知点の位置、傾き及び/又は発光強度に関する情報を検出するように構成されている。検知点は、例えば、赤外線や可視光を放射する発光部である。また、位置センサ130は、赤外線センサや複数の光学カメラを含んでもよい。
外部コントローラ320は、例えば、仮想空間内に表示される手指オブジェクトの動作を制御するために使用される。外部コントローラ320は、ユーザUが右手に持って使用する右手用外部コントローラと、ユーザUが左手に持って使用する左手用外部コントローラを有してもよい。右手用外部コントローラは、ユーザUの右手の位置や右手の手指の動きを検出する装置である。左手用外部コントローラは、ユーザUの左手の位置や左手の手指の動きを検出する装置である。外部コントローラ320は、複数の操作ボタンと、複数の検知点と、センサと、トランシーバとを備えてもよい。例えば、外部コントローラ320の操作ボタンがユーザUに操作されることで、仮想空間内にメニューオブジェクトが表示されてもよい。さらに、外部コントローラ320の操作ボタンがユーザUに操作されることで、仮想空間上におけるユーザUの視野が変更されてもよい(つまり、視野画像が変更されてもよい)。この場合、外部コントローラ320から出力される操作信号に基づいて、制御装置120は、仮想カメラを所定の位置に移動させてもよい。
制御装置120は、位置センサ130から取得された情報に基づいて、HMD110の位置情報を取得し、当該取得された位置情報に基づいて、仮想空間における仮想カメラの位置と、現実空間におけるHMD110を装着したユーザUの位置を正確に対応付けることができる。さらに、制御装置120は、位置センサ130から取得された情報に基づいて、外部コントローラ320の位置情報を取得し、当該取得された位置情報に基づいて、仮想空間内に表示される手指オブジェクトの位置と現実空間における外部コントローラ320とHMD110との間の相対関係位置を正確に対応付けることができる。
また、制御装置120は、注視センサ140から送信された情報に基づいて、ユーザUの右目の視線と左目の視線をそれぞれ特定し、当該右目の視線と当該左目の視線の交点である注視点を特定することができる。さらに、制御装置120は、特定された注視点に基づいて、ユーザUの視線方向を特定することができる。ここで、ユーザUの視線方向は、ユーザUの両目の視線方向であって、ユーザUの右目と左目を結ぶ線分の中点と注視点を通る直線の方向に一致する。
次に、図3を参照して、HMD110の位置や傾きに関する情報を取得する方法について説明する。図3は、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軸回りの角度変化に基づいて、仮想カメラの視軸を制御するための角度情報を決定する。
次に、図4を参照することで、制御装置120のハードウェア構成について説明する。図4は、制御装置120のハードウェア構成を示す図である。図4に示すように、制御装置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は、本実施形態に係る情報処理方法をコンピュータに実行させるプログラムを格納してもよい。また、ユーザ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)又はインターネット等の通信ネットワーク3に接続させるように構成されている。通信インターフェース125は、通信ネットワーク3を介してゲームサーバ2等の外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク3を介して通信するための通信規格に適合するように構成されている。
次に、図5から図8を参照することで視野画像をHMD110に表示するための処理について説明する。図5は、視野画像をHMD110に表示する処理を示すフローチャートである。図6は、仮想空間200の一例を示すxyz空間図である。図7(a)は、図6に示す仮想空間200のyx平面図である。図7(b)は、図6に示す仮想空間200のzx平面図である。図8は、HMD110に表示された視野画像Vの一例を示す図である。
図5に示すように、ステップS1において、制御部121(図4参照)は、仮想カメラ300と、各種オブジェクトとを含む仮想空間200を示す仮想空間データを生成する。図6に示すように、仮想空間200は、中心位置21を中心とした全天球として規定される(図6では、上半分の天球のみが図示されている)。また、仮想空間200では、中心位置21を原点とする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の視線方向に基づいて仮想カメラ300の向きを決定してもよい。
このように、制御部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を表示する(図7参照)。このように、HMD110を装着しているユーザUの動きに応じて、仮想カメラ300の視野CVが変化し、HMD110の表示部112に表示される視野画像Vが変化するので、ユーザUは仮想空間200に没入することができる。
尚、仮想カメラ300は、左目用仮想カメラと右目用仮想カメラを含んでもよい。この場合、制御部121は、仮想空間データと左目用仮想カメラの視野に基づいて、左目用の視野画像を示す左目用視野画像データを生成する。さらに、制御部121は、仮想空間データと、右目用仮想カメラの視野に基づいて、右目用の視野画像を示す右目用視野画像データを生成する。その後、制御部121は、左目用視野画像データと右目用視野画像データに基づいて、HMD110の表示部112に左目用視野画像と右目用視野画像を表示する。このようにして、ユーザUは、左目用視野画像と右目用視野画像から、視野画像を3次元画像として視認することができる。尚、本明細書では、説明の便宜上、仮想カメラ300の数は一つとする。勿論、本開示の実施形態は、仮想カメラの数が2つの場合でも適用可能である。
(第1実施形態)
次に、本実施形態に係る情報処理方法について図9及び図10を参照して説明する。図9は、第1実施形態に係る情報処理方法を説明するためのフローチャートである。図10は、仮想カメラ300と音源オブジェクトMCが一体的に構成された場合における、仮想カメラ300の視野CV内(第1領域の一例)に位置する味方アバターオブジェクトFCと、仮想カメラ300の視野CV外(第2領域の一例)に位置する敵アバターオブジェクトECを示す図である
最初に、図10に示すように、仮想空間200は、仮想カメラ300と、音源オブジェクトMCと、味方アバターオブジェクトFCと、敵アバターオブジェクトECとを含む。制御部121は、これらのオブジェクトを含む仮想空間200を規定する仮想空間データを生成している。
仮想カメラ300は、ユーザXが操作するHMDシステム1Aに関連付けられている。つまり、ユーザXが装着するHMD110の動きに応じて仮想カメラ300の位置や向き(つまり、仮想カメラ300の視野CV)が変更される。音源オブジェクトMCは、マイク118に入力されたユーザX(図1参照)の音声の音源として規定されており、仮想カメラ300と一体的に構成されている。音源オブジェクトMCと仮想カメラ300が一体的に構成されている場合、仮想カメラ300は、音源の機能を有すると解釈してもよい。また、音源オブジェクトMCは透明であってもよい。この場合、音源オブジェクトMCは視野画像V上には表示されない。尚、音源オブジェクトMCは、仮想カメラ300と分離していてもよい。例えば、音源オブジェクトMCは、仮想カメラ300に近接していると共に、仮想カメラ300に追従してもよい(つまり、音源オブジェクトMCは、仮想カメラ300の動きに応じて移動してもよい)。
味方アバターオブジェクトFCは、ユーザYが操作するHMDシステム1Bに関連付けられている。つまり、味方アバターオブジェクトFCは、ユーザYのアバターオブジェクトであって、ユーザYの操作により制御される。また、味方アバターオブジェクトFCは、仮想空間200上を伝搬する音声を収集する集音器として機能してもよい。換言すれば、味方アバターオブジェクトFCは、仮想空間200上を伝搬する音声を収集する集音オブジェクトと一体的に構成されてもよい。
敵アバターオブジェクトECは、ユーザZの操作により制御される。つまり、敵アバターオブジェクトECは、ユーザZの操作により制御される。また、敵アバターオブジェクトECは、仮想空間200上を伝搬する音声を収集する集音器として機能してもよい。換言すれば、敵アバターオブジェクトECは、仮想空間200上を伝搬する音声を収集する集音オブジェクトと一体的に構成されてもよい。本実施形態では、ユーザX〜Zが、多人数が参加可能なオンラインゲームをプレイしている場合、ユーザXとユーザYが味方同士である一方、ユーザZはユーザX,Yに対して敵となることを前提としている。
次に、ユーザXが発声した音声がどのようにユーザYのヘッドフォン116から出力されるかについて図9を参照して説明する。図9に示すように、ユーザXがマイク118に向けて音声を発したとき、HMDシステム1Aのマイク118は、ユーザXから発せられた音声を収集して、当該収集された音声を示す音声データを生成する(ステップS10)。その後、マイク118は、音声データを制御部121に送信し、制御部121は、ユーザXの音声に対応する音声データを取得する。HMDシステム1Aの制御部121は、仮想カメラ300の位置と向きに関する情報と音声データとを通信ネットワーク3を介してゲームサーバ2に送信する(ステップS11)。
ゲームサーバ2は、HMDシステム1AからユーザXの仮想カメラ300の位置と向きに関する情報と音声データを受信した後に、当該情報と音声データをHMDシステム1Bに送信する(ステップS12)。その後、HMDシステム1Bの制御部121は、通信ネットワーク3と通信インターフェース125を介して、ユーザXの仮想カメラ300の位置と向きに関する情報と音声データを受信する(ステップS13)。
次に、HMDシステム1Bの制御部121(以下、単に制御部121という。)は、ユーザYのアバターオブジェクト(つまり、味方アバターオブジェクトFC)の位置を特定する(ステップS14)。その後、制御部121は、ユーザXの仮想カメラ300(音源オブジェクトMC)と味方アバターオブジェクトFCとの間の距離D(相対位置関係の一例)を特定する(ステップS15)。距離Dは、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の最短距離であってもよい。また、本実施形態では、仮想カメラ300と音源オブジェクトMCが一体的に構成されているため、仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dは、音源オブジェクトMCと味方アバターオブジェクトFCとの間の距離に相当する。
次に、制御部121は、ユーザXの仮想カメラ300の位置と向きに基づいて、ユーザXの仮想カメラ300の視野CVを特定する(ステップS16)。ステップS17において、制御部121は、味方アバターオブジェクトFCがユーザXの仮想カメラ300の視野CV内に位置しているかどうかを判定する。
制御部121は、味方アバターオブジェクトFCが仮想カメラ300の視野CV内(第1領域の一例)に位置していると判定した場合(ステップS17でYES)、仮想空間200内を伝搬する音声の単位距離当たりの減衰量を規定する減衰係数を減衰係数α1(第1減衰係数の一例)に設定すると共に、仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dと減衰係数α1に基づいて、音声データを加工する(ステップS18)。ここで、味方アバターオブジェクトFCが視野CV内に位置する場合、図10に示すように味方アバターオブジェクトFCは実線で表示される。
一方、制御部121は、味方アバターオブジェクトFCが仮想カメラ300の視野CV外(第2領域の一例)に位置していると判定した場合(ステップS17でNO)、減衰係数を減衰係数α2(第2減衰係数の一例)に設定すると共に、仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dと減衰係数α2に基づいて、音声データを加工する(ステップS19)。ここで、味方アバターオブジェクトFCが視野CV外に位置する場合、図10に示すように味方アバターオブジェクトFCは破線で表示される。ここで、減衰係数α1と減衰係数α2は異なり、α1<α2である。
次に、ステップS20において、制御部121は、加工された音声データに対応する音声をHMDシステム1Bのヘッドフォン116に出力させる。
本実施形態では、仮想カメラ300と音源オブジェクトMCが一体的に構成されていると共に、味方アバターオブジェクトFCは集音機能を有するので、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dが大きい場合、HMDシステム1Bのヘッドフォン116に出力される音声の音量(音圧レベル)は小さくなる(換言すれば、音声の減衰量(dB)は大きい)。その反対に、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dが小さい場合、HMDシステム1Bのヘッドフォン116に出力される音声の音量(音圧レベル)は大きくなる(つまり、音声の減衰量(dB)は小さい)。
さらに、減衰係数が大きい場合、HMDシステム1Bのヘッドフォン116に出力される音声の音量(音圧レベル)は小さくなる(換言すれば、音声の減衰量(dB)は大きい)。その反対に、減衰係数が小さい場合、HMDシステム1Bのヘッドフォン116に出力される音声の音量(音圧レベル)は大きくなる(換言すれば、音声の減衰量(dB)は小さい)。このように、制御部121は、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dと減衰係数とに基づいて、音声データの音量(音圧レベル)を決定する。
この点において、制御部121は、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dと、減衰係数αと、音声データとの音量Lとの関係を示す関数を参照することで、音声データの音量を決定してもよい。例えば、基準距離D0における音量が既知である場合、制御部121は、例えば、以下の式(1)を参照して音声データの音量Lを決定してもよい。尚、式(1)はあくまでも一例であって、他の式を用いて音声データの音量Lを決定してもよい。
L=L0−20log(D/D0)−8.7α(D−D0)・・・(1)
D:ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の距離
D0:ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の基準距離
L:距離Dにおける音声データの音量(dB)
L0:基準距離D0における音声データの音量(dB)
α:減衰係数(dB/距離)
味方アバターオブジェクトFCが視野CV内に存在する場合、減衰係数αは、減衰係数α1となる一方、味方アバターオブジェクトFCが視野CV外に存在する場合、減衰係数αは、減衰係数α2となる。また、減衰係数α1は、減衰係数α2よりも小さい。このため、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の距離D1であって、味方アバターオブジェクトFCが視野CV内に存在する場合における音声データの音量は、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の距離D1であって、味方アバターオブジェクトFCが視野CV外に存在する場合における音声データの音量よりも大きくなる。つまり、視野CVの内側と外側の各々において異なる減衰係数α1,α2が設定されるので、仮想空間200内において音源オブジェクトMC(仮想カメラ300)から出力される音声に指向性を持たせることができる。
さらに、制御部121は、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の相対位置関係から所定の頭部伝達関数を決定し、決定された頭部伝達関数と音声データとに基づいて音声データを加工してもよい。
本実施形態によれば、味方アバターオブジェクトFCが視野CV内に位置していると判定された場合に、減衰係数αが減衰係数α1に設定され、その後、音声データは、距離Dと減衰係数α1とに基づいて加工される。一方、味方アバターオブジェクトFCが視野CV外に位置していると判定された場合に、減衰係数αが減衰係数α2に設定され、その後、音声データは、距離Dと減衰係数α2とに基づいて加工される。このように、仮想空間200上における味方アバターオブジェクトFCの存在位置に応じて、ヘッドフォン116から出力される音声の音量(音圧レベル)が異なる。本実施形態では、α1<α2であるため、図10に示すように、味方アバターオブジェクトFCが視野CV内に存在しつつ、敵アバターオブジェクトECが視野CV外に存在する場合、味方アバターオブジェクトFCを操作するユーザYに装着されたヘッドフォン116から出力される音声の音量は、敵アバターオブジェクトECを操作するユーザZに装着されたヘッドフォン116から出力される音声の音量よりも大きい。このため、ユーザXは、敵アバターオブジェクトECを操作するユーザZに気付かれずに味方アバターオブジェクトFCを操作するユーザYに音声により指示を出すことが可能となる。従って、仮想空間200のエンターテイメント性を向上させることができる。
(第1実施形態の第1変形例)
次に、図11を参照することで第1実施形態の第1変形例について説明する。図11は、自己アバターオブジェクト400と音源オブジェクトMCが一体的に構成された場合における、仮想カメラ300の視野CV内に位置する自己アバターオブジェクト400及び味方アバターオブジェクトFCと仮想カメラ300の視野CV外に位置する敵アバターオブジェクトECとを示す図である。
最初に、図11に示すように、仮想空間200Aは、仮想カメラ300と、音源オブジェクトMCと、自己アバターオブジェクト400と、味方アバターオブジェクトFCと、敵アバターオブジェクトECとを含む。制御部121は、これらのオブジェクトを含む仮想空間200を規定する仮想空間データを生成している。ここで、自己アバターオブジェクト400は、ユーザXの操作によって制御されるアバターオブジェクト(つまり、ユーザXに関連付けられたアバターオブジェクト)である。
図11に示す仮想空間200Aは、自己アバターオブジェクト400が配置されていると共に、音源オブジェクトMCが自己アバターオブジェクト400と一体的に構成されている点で図10に示す仮想空間200と相違する。このように、図10に示す仮想空間200では、ユーザに提供される仮想空間の視点は一人称視点である一方、図11に示す仮想空間200Aでは、ユーザに提供される仮想空間の視点は三人称視点である。第1変形例のように自己アバターオブジェクト400と音源オブジェクトMCが一体的に構成されている場合、自己アバターオブジェクト400は音源の機能を有すると解釈してもよい。
次に、第1実施形態の第1変形例に係る情報処理方法について図9を参照して説明する。以下では、既に説明した第1実施形態に係る情報処理方法と第1変形例に係る情報処理方法との間の相違点についてのみ詳細に説明する。第1変形例に係る情報処理方法では、図9に示すステップS10からS13の処理が実行される。ステップS14において、HMDシステム1Bの制御部121(以下、単に制御部121という。)は、ユーザYのアバターオブジェクト(味方アバターオブジェクトFC)の位置とユーザXのアバターオブジェクト(自己アバターオブジェクト400)の位置をそれぞれ特定する。ここで、HMDシステム1Aは自己アバターオブジェクト400の位置情報等をゲームサーバ2に所定の時間間隔で送信しつつ、ゲームサーバ2は自己アバターオブジェクト400の位置情報等をHMDシステム1Bに所定の時間間隔で送信してもよい。
次に、ステップS15において、制御部121は、自己アバターオブジェクト400(音源オブジェクトMC)と味方アバターオブジェクトFCとの間の距離Da(相対位置関係の一例)を特定する。距離Daは、自己アバターオブジェクト400と味方アバターオブジェクトFCとの間の最短距離であってもよい。また、第1変形例では、自己アバターオブジェクト400と音源オブジェクトMCが一体的に構成されているため、自己アバターオブジェクト400と味方アバターオブジェクトFCとの間の距離Daは、音源オブジェクトMCと味方アバターオブジェクトFCとの間の距離に相当する。
その後、制御部121は、ステップS17で規定される判定処理を実行し、味方アバターオブジェクトFCが仮想カメラ300の視野CV内に位置していると判定した場合(ステップS17でYES)、減衰係数を減衰係数α1に設定した上で、自己アバターオブジェクト400と味方アバターオブジェクトFCとの間の距離Daと減衰係数α1に基づいて、音声データを加工する(ステップS18)。
一方、制御部121は、味方アバターオブジェクトFCが仮想カメラ300の視野CV外に位置していると判定した場合(ステップS17でNO)、減衰係数を減衰係数α2に設定した上で、自己アバターオブジェクト400と味方アバターオブジェクトFCとの間の距離Daと減衰係数α2に基づいて、音声データを加工する(ステップS19)。
次に、ステップS20において、制御部121は、加工された音声データに対応する音声をHMDシステム1Bのヘッドフォン116に出力させる。
(第1実施形態の第2変形例)
次に、図12を参照することで第1実施形態の第2変形例に係る情報処理方法について説明する。第2変形例に係る情報処理方法は、音声データがHMDシステム1Aで加工される点で、第1実施形態に係る情報処理方法とは相違する。図12は、第1実施形態の第2変形例に係る情報処理方法を説明するためのフローチャートである。
図12に示すように、ステップS30において、HMDシステム1Aのマイク118は、ユーザXから発せられた音声を収集して、当該収集された音声を示す音声データを生成する。次に、HMDシステム1Aの制御部121(以下、単に制御部121という。)は、ユーザXの仮想カメラ300の位置と向きに基づいて、ユーザXの仮想カメラ300の視野CVを特定する(ステップS31)。その後、制御部121は、ユーザYのアバターオブジェクト(味方アバターオブジェクトFC)の位置を特定する(ステップS32)。ここで、HMDシステム1Bは味方アバターオブジェクトFCの位置情報等をゲームサーバ2に所定の時間間隔で送信しつつ、ゲームサーバ2は味方アバターオブジェクトFCの位置情報等をHMDシステム1Bに所定の時間間隔で送信してもよい。
ステップS33において、制御部121は、ユーザXの仮想カメラ300(音源オブジェクトMC)と味方アバターオブジェクトFCとの間の距離Dを特定する。次に、制御部121は、味方アバターオブジェクトFCがユーザXの仮想カメラ300の視野CV内に位置しているかどうかを判定する。制御部121は、味方アバターオブジェクトFCが仮想カメラ300の視野CV内に位置していると判定した場合(ステップS34でYES)、減衰係数を減衰係数α1に設定した上で、仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dと減衰係数α1に基づいて、音声データを加工する(ステップS35)。一方、制御部121は、味方アバターオブジェクトFCが仮想カメラ300の視野CV外に位置していると判定した場合(ステップS34でNO)、減衰係数を減衰係数α2に設定した上で、仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dと減衰係数α2に基づいて、音声データを加工する(ステップS36)。
その後、制御部121は、加工された音声データを通信ネットワーク3を介してゲームサーバ2に送信する(ステップS37)。ゲームサーバ2は、HMDシステム1Aから加工された音声データを受信した後に、当該加工された音声データをHMDシステム1Bに送信する(ステップS38)。次に、HMDシステム1Bの制御部121は、ゲームサーバ2から加工された音声データを受信した上で、当該加工された音声データに対応する音声をHMDシステム1Bのヘッドフォン116に出力させる(ステップS39)。
(第1実施形態の第3変形例)
次に、図13及び図14を参照することで第1実施形態の第3変形例に係る情報処理方法について説明する。図13は、仮想カメラ300と音源オブジェクトMCが一体的に構成された場合における、注視領域R1内(第1領域の一例)に位置する味方アバターオブジェクトFCと注視領域R1以外の仮想カメラ300の視野CV内(第2領域の一例)に位置する敵アバターオブジェクトECを示す図である。図14は、第1実施形態の第3変形例に係る情報処理方法を説明するためのフローチャートである。
第1実施形態に係る情報処理方法では、味方アバターオブジェクトFCが仮想カメラ300の視野CV内に位置している場合に、減衰係数が減衰係数α1に設定される。一方、味方アバターオブジェクトFCが仮想カメラ300の視野CV外に位置している場合に、減衰係数が減衰係数α2に設定される。
その一方、第3変形例に係る情報処理方法では、図13に示すように、味方アバターオブジェクトFCがユーザXの視線方向Sによって規定される注視領域R1(第1領域の一例)に位置している場合に、減衰係数が減衰係数α3(第1減衰係数の一例)に設定される。一方、味方アバターオブジェクトFCが注視領域R1以外の仮想カメラ300の視野CV内(第2領域の一例)に位置している場合に、減衰係数が減衰係数α1(第2減衰係数の一例)に設定される。また、味方アバターオブジェクトFCが仮想カメラ300の視野CV外に位置している場合に、減衰係数が減衰係数α2に設定されてもよい。ここで、減衰係数α1と、減衰係数α2と、減衰係数α3はそれぞれ異なっており、例えば、α3<α1<α2である。このように、第3変形例に係る情報処理方法は、仮想カメラ300の視野CV内において異なる2つの減衰係数α3,α1が設定されている点で第1実施形態に係る情報処理方法と相違する。
また、HMDシステム1Aの制御部121は、HMDシステム1Aの注視センサ140から送信されたユーザXの視線方向Sを示すデータに基づいて、ユーザXの視線方向Sを特定する。注視領域R1は、xy平面において視線方向Sを中心とした所定の極角の角度範囲として設定される第1領域と、xz平面において視線方向Sを中心とした所定の方位角の角度範囲として設定される第2領域とを有する。尚、所定の極角と所定の方位角は、ゲームプログラムの仕様に応じて適宜設定されてもよい。
次に、第3変形例に係る情報処理方法について図14を参照して以下説明する。尚、以下では、既に説明した第1実施形態に係る情報処理方法と第3変形例に係る情報処理方法との間の相違点についてのみ詳細に説明する。
ステップS40の処理の後、HMDシステム1Aは、仮想カメラ300の位置と向きに関する情報と、視線方向Sに関する情報と、音声データとを通信ネットワーク3を介してゲームサーバ2に送信する(ステップS41)。ゲームサーバ2は、HMDシステム1AからユーザXの仮想カメラ300の位置と向きに関する情報と、視線方向Sに関する情報と、音声データとを受信した後に、当該情報と音声データをHMDシステム1Bに送信する(ステップS42)。その後、HMDシステム1Bの制御部121は、通信ネットワーク3と通信インターフェース125を介して、ユーザXの仮想カメラ300の位置と向きに関する情報と、視線方向Sに関する情報と、音声データとを受信する(ステップS43)。
次に、HMDシステム1Bの制御部121(以下、単に制御部121という。)は、ステップS44からS46の処理を実行した後に、ユーザXの視線方向Sに関する情報に基づいて、注視領域R1を特定する(ステップS47)。次に、制御部121は、味方アバターオブジェクトFCが注視領域R1内に位置しているかどうかを判定する(ステップS48)。制御部121は、味方アバターオブジェクトFCが注視領域R1内に位置していると判定した場合(ステップS48でYES)、減衰係数を減衰係数α3に設定した上で、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dと減衰係数α3とに基づいて、音声データを加工する(ステップS49)。
一方、制御部121は、味方アバターオブジェクトFCが注視領域R1以外に位置していると判定した場合(ステップS48でNO)、味方アバターオブジェクトFCが視野CV内に位置しているかどうかを判定する(ステップS50)。制御部121は、味方アバターオブジェクトFCが視野CV内に位置していると判定した場合(ステップS50でYES)、減衰係数を減衰係数α1に設定した上で、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dと減衰係数α1とに基づいて、音声データを加工する(ステップS51)。一方、制御部121は、味方アバターオブジェクトFCが視野CV外に位置していると判定した場合(ステップS50でNO)、減衰係数を減衰係数α2に設定した上で、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dと減衰係数α2とに基づいて、音声データを加工する(ステップS52)。
次に、ステップS53において、制御部121は、加工された音声データに対応する音声をHMDシステム1Bのヘッドフォン116に出力させる。
第3変形例によれば、味方アバターオブジェクトFCが注視領域R1内に位置していると判定された場合に、減衰係数αが減衰係数α3に設定され、その後、音声データは、距離Dと減衰係数α3とに基づいて加工される。一方、味方アバターオブジェクトFCが注視領域R1以外の仮想カメラ300の視野CV内に位置していると判定された場合に、減衰係数αが減衰係数α1に設定され、その後、音声データは、距離Dと減衰係数α1とに基づいて加工される。
このように、仮想空間200上における味方アバターオブジェクトFCの存在位置に応じて、ヘッドフォン116から出力される音声の音量(音圧レベル)が異なる。本変形例では、α3<α1であるため、図13に示すように、味方アバターオブジェクトFCが注視領域R1内に存在しつつ、敵アバターオブジェクトECが注視領域R1以外の視野CV内に存在する場合、味方アバターオブジェクトFCを操作するユーザYに装着されたヘッドフォン116から出力される音声の音量は、敵アバターオブジェクトECを操作するユーザZに装着されたヘッドフォン116から出力される音声の音量よりも大きい。このため、ユーザXは、敵アバターオブジェクトECを操作するユーザZに気付かれずに味方アバターオブジェクトFCを操作するユーザYに音声により指示を出すことが可能となる。従って、仮想空間200のエンターテイメント性を向上させることができる。
(第1実施形態の第4変形例)
次に、図15及び図16を参照することで第1実施形態の第4変形例に係る情報処理方法について説明する。図15は、仮想カメラ300と音源オブジェクトMCが一体的に構成された場合における、視軸領域R2内(第1領域の一例)に位置する味方アバターオブジェクトFCと視軸領域R2以外の仮想カメラ300の視野CV内(第2領域の一例)に位置する敵アバターオブジェクトECを示す図である。図16は、第1実施形態の第4変形例に係る情報処理方法を説明するためのフローチャートである。
第1実施形態に係る情報処理方法では、味方アバターオブジェクトFCが仮想カメラ300の視野CV内に位置している場合に、減衰係数が減衰係数α1に設定される。一方、味方アバターオブジェクトFCが仮想カメラ300の視野CV外に位置している場合に、減衰係数が減衰係数α2に設定される。
その一方、第4変形例に係る情報処理方法では、図15に示すように、味方アバターオブジェクトFCが仮想カメラ300の視軸Lによって規定される視軸領域R2(第1領域の一例)に位置している場合に、減衰係数が減衰係数α3(第1減衰係数の一例)に設定される。一方、味方アバターオブジェクトFCが視軸領域R2以外の仮想カメラ300の視野CV内(第2領域の一例)に位置している場合に、減衰係数が減衰係数α1(第2減衰係数の一例)に設定される。また、味方アバターオブジェクトFCが仮想カメラ300の視野CV外に位置している場合に、減衰係数が減衰係数α2に設定されてもよい。ここで、減衰係数α1と、減衰係数α2と、減衰係数α3はそれぞれ異なっており、例えば、α3<α1<α2である。このように、第4変形例に係る情報処理方法は、第3変形例に係る情報処理方法と同様に、仮想カメラ300の視野CV内において異なる2つの減衰係数α3,α1が設定されている点で第1実施形態に係る情報処理方法と相違する。
また、HMDシステム1Aの制御部121は、仮想カメラ300の位置と向きに基づいて、仮想カメラ300の視軸Lを特定する。視軸領域R2は、xy平面において視線方向Sを中心とした所定の極角の角度範囲として設定される第1領域と、xz平面において視線方向Sを中心とした所定の方位角の角度範囲として設定される第2領域とを有する。尚、所定の極角と所定の方位角は、ゲームプログラムの仕様に応じて適宜設定されてもよい。当該所定の極角は、仮想カメラ300の視野CVを特定するための極角αよりも小さいと共に、当該所定の方位角は、仮想カメラ300の視野CVを特定するための方位角βよりも小さい。
次に、第4変形例に係る情報処理方法について図16を参照して以下説明する。尚、以下では、既に説明した第1実施形態に係る情報処理方法と第4変形例に係る情報処理方法との間の相違点についてのみ詳細に説明する。
ステップS60からS66の処理は、図9に示すステップS10からS16の処理と対応しているので、これらの処理についての説明は割愛する。ステップS67において、制御部121は、仮想カメラ300の視軸Lに基づいて、視軸領域R2を特定する(ステップS67)。次に、制御部121は、味方アバターオブジェクトFCが視軸領域R2内に位置しているかどうかを判定する(ステップS68)。制御部121は、味方アバターオブジェクトFCが視軸領域R2内に位置していると判定した場合(ステップS68でYES)、減衰係数を減衰係数α3に設定した上で、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dと減衰係数α3とに基づいて、音声データを加工する(ステップS69)。
一方、制御部121は、味方アバターオブジェクトFCが視軸領域R2以外に位置していると判定した場合(ステップS68でNO)、味方アバターオブジェクトFCが視野CV内に位置しているかどうかを判定する(ステップS70)。制御部121は、味方アバターオブジェクトFCが視野CV内に位置していると判定した場合(ステップS70でYES)、減衰係数を減衰係数α1に設定した上で、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dと減衰係数α1とに基づいて、音声データを加工する(ステップS71)。一方、制御部121は、味方アバターオブジェクトFCが視野CV外に位置していると判定した場合(ステップS70でNO)、減衰係数を減衰係数α2に設定した上で、ユーザXの仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dと減衰係数α2とに基づいて、音声データを加工する(ステップS72)。
次に、ステップS73において、制御部121は、加工された音声データに対応する音声をHMDシステム1Bのヘッドフォン116に出力させる。
第4変形例によれば、味方アバターオブジェクトFCが視軸領域R2内に位置していると判定された場合に、減衰係数αが減衰係数α3に設定され、その後、音声データは、距離Dと減衰係数α3とに基づいて加工される。一方、味方アバターオブジェクトFCが視軸領域R2以外の仮想カメラ300の視野CV内に位置していると判定された場合に、減衰係数αが減衰係数α1に設定され、その後、音声データは、距離Dと減衰係数α2とに基づいて加工される。
このように、仮想空間200上における味方アバターオブジェクトFCの存在位置に応じて、ヘッドフォン116から出力される音声の音量(音圧レベル)が異なる。本変形例では、α3<α1であるため、図15に示すように、味方アバターオブジェクトFCが視軸領域R2内に存在しつつ、敵アバターオブジェクトECが視軸領域R2以外の視野CV内に存在する場合、味方アバターオブジェクトFCを操作するユーザYに装着されたヘッドフォン116から出力される音声の音量は、敵アバターオブジェクトECを操作するユーザZに装着されたヘッドフォン116から出力される音声の音量よりも大きい。このため、ユーザXは、敵アバターオブジェクトECを操作するユーザZに気付かれずに味方アバターオブジェクトFCを操作するユーザYに音声により指示を出すことが可能となる。従って、仮想空間200のエンターテイメント性を向上させることができる。
(第2実施形態)
次に、図17及び図18を参照することで第2実施形態に係る情報処理方法について説明する。図17は、自己アバターオブジェクト400と音源オブジェクトMCが一体的に構成された場合における、減衰オブジェクトSAの内側(仮想カメラ300の視野CV内)に位置する味方アバターオブジェクトFC及び自己アバターオブジェクト400と、減衰オブジェクトSAの外側(仮想カメラ300の視野CV外)に位置する敵アバターオブジェクトECを示す図である。図18は、第2実施形態に係る情報処理方法を説明するためのフローチャートである。
最初に、図17に示すように、仮想空間200Bは、仮想カメラ300と、音源オブジェクトMCと、自己アバターオブジェクト400と、味方アバターオブジェクトFCと、敵アバターオブジェクトECと、減衰オブジェクトSAとを含む。制御部121は、これらのオブジェクトを含む仮想空間200を規定する仮想空間データを生成している。第2実施形態に係る情報処理方法は、減衰オブジェクトSAが配置されている点で第1実施形態に係る情報処理方法とは相違する。
減衰オブジェクトSAは、仮想空間200B内を伝搬する音声の減衰量を規定するオブジェクトであって、仮想カメラ300の視野CV内(第1領域の一例)と視野CV外(第2領域の一例)との境界に配置されている。また、減衰オブジェクトSAは、透明であって、HMD110に表示される視野画像V(図8参照)内に表示されなくてもよい。この場合、仮想空間200Bへのユーザの没入感(仮想空間200Bに対する臨場感)を損なわずに音源オブジェクトMCから出力された音声に指向性を持たせることができる。
また、図17に示す仮想空間200Bでは、音源オブジェクトMCが自己アバターオブジェクト400と一体的に構成されており、これらのオブジェクトは、仮想カメラ300の視野CV内に配置されている。
次に、第2実施形態に係る情報処理方法について図18を参照して説明する。図18に示すステップS80からS83の処理は、図9に示すS10からS13の処理にそれぞれ相当するので、その説明は割愛する。ステップS84において、HMDシステム1Bの制御部121(以下、単に制御部121という。)は、ユーザYのアバターオブジェクト(味方アバターオブジェクトFC)の位置とユーザXのアバターオブジェクト(自己アバターオブジェクト400)の位置をそれぞれ特定する。
次に、ステップS85において、制御部121は、自己アバターオブジェクト400(音源オブジェクトMC)と味方アバターオブジェクトFCとの間の距離Da(相対位置関係の一例)を特定する。距離Daは、自己アバターオブジェクト400と味方アバターオブジェクトFCとの間の最短距離であってもよい。自己アバターオブジェクト400と味方アバターオブジェクトFCとの間の距離Daは、音源オブジェクトMCと味方アバターオブジェクトFCとの間の距離に相当する。次に、制御部121は、ステップS86とS87の処理を実行する。ここで、ステップS86とS87の処理は、図9に示すステップS16とS17の処理にそれぞれ相当する。
その後、制御部121は、味方アバターオブジェクトFCが仮想カメラ300の視野CV外に位置している判定した場合(ステップS87でNO)、自己アバターオブジェクト400と味方アバターオブジェクトFCとの間の距離Daと減衰オブジェクトSAにより規定された減衰量Tに基づいて音声データを加工する。この場合、図17に示すように、音源オブジェクトMCが減衰オブジェクトSAの内側に位置しつつ、味方アバターオブジェクトFC(破線表示)が減衰オブジェクトSAの外側に位置している。このため、音源オブジェクトMCから味方アバターオブジェクトFCに向かう音声は減衰オブジェクトSAを通過するため、当該音声の音量(音圧レベル)は、距離Daと減衰オブジェクトSAにより規定された減衰量Tにより決定される。
一方、制御部121は、味方アバターオブジェクトFCが仮想カメラ300の視野CV内に位置している判定した場合(ステップS87でYES)、自己アバターオブジェクト400と味方アバターオブジェクトFCとの間の距離Daに基づいて音声データを加工する。この場合、図17に示すように、音源オブジェクトMCと味方アバターオブジェクトFC(実線表示)は、減衰オブジェクトSAの内側に位置している。このため、音源オブジェクトMCから味方アバターオブジェクトFCに向かう音声は減衰オブジェクトSAを通過しないため、当該音声の音量(音圧レベル)は、距離Daにより決定される。
次に、ステップS90において、制御部121は、加工された音声データに対応する音声をHMDシステム1Bのヘッドフォン116に出力させる。
本実施形態によれば、音源オブジェクトMCが仮想カメラ300の視野CV内(減衰オブジェクトSAの内側)に配置された場合、仮想カメラ300の視野CV外では、音源オブジェクトMCから出力される音声は、視野CV内と比較して減衰オブジェクトSAにより規定される減衰量Tだけ更に減衰する。このように、音源オブジェクトMCから出力される音声に指向性を持たせることができる。
さらに、味方アバターオブジェクトFCが、音源オブジェクトMCが位置する視野CV内(第1領域)に位置していると判定された場合、音声データは、距離Daに基づいて加工される。一方、味方アバターオブジェクトFCが視野CV外(第2領域)に位置していると判定された場合、音声データは、距離Daと減衰オブジェクトSAによって規定された減衰量Tに基づいて加工される。
このように、仮想空間200B上における味方アバターオブジェクトFCの存在位置に応じて、ヘッドフォン116から出力される音声の音量(音圧レベル)が異なる。味方アバターオブジェクトFCが視野CV内に存在する場合におけるヘッドフォン116から出力される音声の音量は、味方アバターオブジェクトFCが視野CV外に存在する場合におけるヘッドフォン116から出力される音声の音量よりも大きくなる。このため、味方アバターオブジェクトFCが視野CV内に存在しつつ、敵アバターオブジェクトECが視野CV外に存在する場合、自己アバターオブジェクト400を操作するユーザXは、敵アバターオブジェクトECを操作するユーザZに気付かれずに味方アバターオブジェクトFCを操作するユーザYに音声により指示を出すことが可能となる。従って、仮想空間200Bのエンターテイメント性を向上させることができる。
(第2実施形態の第1変形例)
次に、図19を参照することで第2実施形態の第1変形例に係る情報処理方法について説明する。第2変形例に係る情報処理方法は、音声データがHMDシステム1Aで加工される点で、第1実施形態に係る情報処理方法とは相違する。図19は、第2実施形態の第1変形例に係る情報処理方法を説明するためのフローチャートである。
図19に示すように、ステップS100において、HMDシステム1Aのマイク118は、ユーザXから発せられた音声を収集して、当該収集された音声を示す音声データを生成する。次に、HMDシステム1Aの制御部121(以下、単に制御部121という。)は、ユーザXの仮想カメラ300の位置と向きに基づいて、ユーザXの仮想カメラ300の視野CVを特定する(ステップS101)。その後、制御部121は、ユーザYのアバターオブジェクト(味方アバターオブジェクトFC)の位置とユーザXのアバターオブジェクト(自己アバターオブジェクト400)の位置を特定する(ステップS102)。
ステップS103において、制御部121は、自己アバターオブジェクト400と味方アバターオブジェクトFCとの間の距離Daを特定する。次に、制御部121は、味方アバターオブジェクトFCがユーザXの仮想カメラ300の視野CV内に位置しているかどうかを判定する(ステップS104)。制御部121は、味方アバターオブジェクトFCが仮想カメラ300の視野CV外に位置している判定した場合(ステップS104でNO)、自己アバターオブジェクト400と味方アバターオブジェクトFCとの間の距離Daと減衰オブジェクトSAにより規定された減衰量Tに基づいて音声データを加工する。一方、制御部121は、味方アバターオブジェクトFCが仮想カメラ300の視野CV内に位置している判定した場合(ステップS104でYES)、自己アバターオブジェクト400と味方アバターオブジェクトFCとの間の距離Daに基づいて音声データを加工する(ステップS106)。
その後、制御部121は、加工された音声データを通信ネットワーク3を介してゲームサーバ2に送信する(ステップS107)。ゲームサーバ2は、HMDシステム1Aから加工された音声データを受信した後に、当該加工された音声データをHMDシステム1Bに送信する(ステップS108)。次に、HMDシステム1Bの制御部121は、ゲームサーバ2から加工された音声データを受信した上で、当該加工された音声データに対応する音声をHMDシステム1Bのヘッドフォン116に出力させる(ステップS109)。
(第2実施形態の第2変形例)
次に、図20を参照することで第2実施形態の第2変形例に係る情報処理方法について説明する。図20は、仮想カメラ300と音源オブジェクトMCが一体的に構成された場合における、減衰オブジェクトSBの内側に位置する味方アバターオブジェクトFCと、減衰オブジェクトSBの外側に位置する敵アバターオブジェクトECを示す図である。図20に示すように、仮想空間200Cにおいて、減衰オブジェクトSBは、仮想カメラ300(音源オブジェクトMC)を囲うように配置されている。味方アバターオブジェクトFC(実線表示)が減衰オブジェクトSBの内側領域R3内に配置されている場合、音声データは、仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dに基づいて加工される。一方、味方アバターオブジェクトFC(破線表示)が減衰オブジェクトSBの外側領域に配置されている場合、音声データは、仮想カメラ300と味方アバターオブジェクトFCとの間の距離Dと減衰オブジェクトSBにより規定される減衰量Tに基づいて加工される。
制御部121によって実行される各種処理をソフトウェアによって実現するために、本実施形態に係る表示制御方法をコンピュータ(プロセッサ)に実行させるための表示制御プログラムが記憶部123又はROMに予め組み込まれていてもよい。または、表示制御プログラムは、磁気ディスク(HDD、フロッピーディスク)、光ディスク(CD−ROM,DVD−ROM、Blu−rayディスク等)、光磁気ディスク(MO等)、フラッシュメモリ(SDカード、USBメモリ、SSD等)等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置120に接続されることで、当該記憶媒体に格納されたプログラムが、記憶部123に組み込まれる。そして、記憶部123に組み込まれた表示制御プログラムがRAM上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部121は本実施形態に係る表示制御方法を実行する。
また、表示制御プログラムは、通信ネットワーク3上のコンピュータから通信インターフェース125を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該プログラムが記憶部123に組み込まれる。
以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲及びその均等の範囲に基づいて定められるべきである。