(57)【要約】【課題】娯楽性の高いゲーム制御技術を提供する。【解決手段】ゲーム装置１０は、三次元空間内に配置されたオブジェクトの座標データと、オブジェクト群の音声データとして、複数の種類の音声データとを格納するパラメータ保持部６０と、三次元空間内において視点位置を変更する移動制御部４１と、視点位置から所定の視線方向に見たときの三次元空間の画像を生成する画像生成部４３と、視点位置の近傍にオブジェクト数判定範囲を設定し、パラメータ保持部６０を参照してオブジェクト数判定範囲内に存在するオブジェクトの数を算出し、オブジェクトの数に応じて複数の種類の音声データの中からオブジェクト群の音声データとして適用する音声データを決定し、決定した音声データをパラメータ保持部６０から読み出して、視点位置における三次元空間の音声を生成する音声生成部４４とを備える。【選択図】図１
2010010844.tif 000002
【特許請求の範囲】
【請求項１】
三次元空間内に配置されたオブジェクトの座標データと、オブジェクト群の音声データとして、複数の種類の音声データとを格納するパラメータ保持部から、前記座標データ又は前記音声データを読み出す機能と、
前記三次元空間内において視点位置を変更する機能と、
前記視点位置から所定の視線方向に見たときの前記三次元空間の画像を生成する機能と、
前記視点位置の近傍にオブジェクト数判定範囲を設定し、前記パラメータ保持部を参照して前記オブジェクト数判定範囲内に存在するオブジェクトの数を算出し、オブジェクトの数に応じて前記複数の種類の音声データの中から前記オブジェクト群の音声データとして適用する音声データを決定し、決定した音声データを前記パラメータ保持部から読み出して、前記視点位置における前記三次元空間の音声を生成する機能と、
をコンピュータに実現させることを特徴とするプログラム。
【請求項２】
前記パラメータ保持部は、前記三次元空間内に設定されたサブ空間内に配置されたオブジェクト群の音声データとして、前記視点位置と前記サブ空間との間の距離に応じて複数の種類の音声データを格納し、前記距離が所定の閾値よりも短い場合の音声データとして、前記オブジェクト数判定範囲に存在するオブジェクトの数に応じて更に複数の種類の音声データを格納し、
前記音声を生成する機能は、前記オブジェクト群に適用する音声データを決定する際に、まず、前記視点位置と前記オブジェクト群が属するサブ空間との間の距離に応じて適用する音声データを決定し、前記距離が所定の閾値よりも短い場合の音声データを適用する場合には、更に、前記オブジェクト数判定範囲内に存在するオブジェクトの数に応じて適用する音声データを決定することを特徴とする請求項１に記載のプログラム。
【請求項３】
前記パラメータ保持部は、前記オブジェクト数判定範囲内に存在するオブジェクトの数に応じて、前記視点位置と前記サブ空間との間の距離が所定の閾値よりも短い場合の複数の音声データを合成する割合と、前記視点位置と前記サブ空間との間の距離に応じて、前記距離が所定の閾値よりも短い場合の音声データと長い場合の音声データとを合成する割合とを更に格納し、
前記オブジェクト数判定範囲内に存在するオブジェクトの数に応じて、前記距離が所定の閾値よりも短い場合の複数の音声データを、前記パラメータ保持部に格納された割合にしたがって合成するとともに、前記視点位置と前記サブ空間との間の距離に応じて、前記距離が所定の閾値よりも短い場合の音声データと長い場合の音声データを、前記パラメータ保持部に格納された割合にしたがって合成する機能を更にコンピュータに実現させることを特徴とする請求項２に記載のプログラム。
【請求項４】
三次元空間内に配置されたオブジェクトの座標データと、オブジェクト群の音声データとして、複数の種類の音声データとを格納するパラメータ保持部と、
前記三次元空間内において視点位置を変更する移動制御部と、
前記視点位置から所定の視線方向に見たときの前記三次元空間の画像を生成する画像生成部と、
前記視点位置の近傍にオブジェクト数判定範囲を設定し、前記パラメータ保持部を参照して前記オブジェクト数判定範囲内に存在するオブジェクトの数を算出し、オブジェクトの数に応じて前記複数の種類の音声データの中から前記オブジェクト群の音声データとして適用する音声データを決定し、決定した音声データを前記パラメータ保持部から読み出して、前記視点位置における前記三次元空間の音声を生成する音声生成部と、
を備えることを特徴とするゲーム装置
【請求項５】
三次元空間内に配置されたオブジェクトの座標データと、オブジェクト群の音声データとして、複数の種類の音声データとを格納するパラメータ保持部から、前記座標データ又は前記音声データを読み出すステップと、
前記三次元空間内において視点位置を変更するステップと、
前記視点位置から所定の視線方向に見たときの前記三次元空間の画像を生成するステップと、
前記視点位置の近傍にオブジェクト数判定範囲を設定し、前記パラメータ保持部を参照して前記オブジェクト数判定範囲内に存在するオブジェクトの数を算出し、オブジェクトの数に応じて前記複数の種類の音声データの中から前記オブジェクト群の音声データとして適用する音声データを決定し、決定した音声データを前記パラメータ保持部から読み出して、前記視点位置における前記三次元空間の音声を生成するステップと、
を備えることを特徴とするゲーム制御方法。
【請求項６】
請求項１から３のいずれかに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム制御技術に関し、とくに、複数のオブジェクトが配置された三次元空間の音声を制御するゲーム装置、ゲーム制御方法、及びゲーム制御プログラムに関する。
【背景技術】
【０００２】
仮想三次元空間をシミュレーションするゲームが多数提供されている。このようなゲームにおいては、仮想三次元空間内に視点位置及び視線方向が設定され、設定された視点位置から視線方向に見た仮想三次元空間の画像が表示されるとともに、設定された視点位置において聞こえる仮想三次元空間の音声が出力される。
【特許文献１】特開２００２−２５８８４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
仮想三次元空間に配置されるオブジェクトの数が比較的少数であれば、個々のオブジェクトの形状データをレンダリングして画像を生成するとともに、個々のオブジェクトの音声データから音場をシミュレートして音声を生成することができる。しかし、仮想三次元空間に配置されるオブジェクトが多数になると、必要な計算の負荷が飛躍的に増大してしまう。仮想三次元空間内に配置されるオブジェクトの数が多くても、計算の負荷を抑えつつ現実性の高い音声を再現して、ゲームの娯楽性を高める技術が求められる。
【０００４】
本発明はこうした状況に鑑みてなされたものであり、その目的は、より娯楽性の高いゲーム制御技術を提供することにある。
【課題を解決するための手段】
【０００５】
本発明のある態様は、プログラムに関する。このプログラムは、三次元空間内に配置されたオブジェクトの座標データと、オブジェクト群の音声データとして、複数の種類の音声データとを格納するパラメータ保持部から、前記座標データ又は前記音声データを読み出す機能と、前記三次元空間内において視点位置を変更する機能と、前記視点位置から所定の視線方向に見たときの前記三次元空間の画像を生成する機能と、前記視点位置の近傍にオブジェクト数判定範囲を設定し、前記パラメータ保持部を参照して前記オブジェクト数判定範囲内に存在するオブジェクトの数を算出し、オブジェクトの数に応じて前記複数の種類の音声データの中から前記オブジェクト群の音声データとして適用する音声データを決定し、決定した音声データを前記パラメータ保持部から読み出して、前記視点位置における前記三次元空間の音声を生成する機能と、をコンピュータに実現させることを特徴とする。
【０００６】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００７】
本発明によれば、より娯楽性の高いゲーム制御技術を提供することができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態に係るゲーム装置は、ゲーム装置内に仮想的に構築された三次元空間内に複数のオブジェクトを配置させ、それらの映像及び音声をユーザに提供する。例えば、海の中を遊泳する魚群をシミュレートすることで、実際に体験することが難しい海中の世界を表現してユーザに提供する。ユーザは、視点位置及び視線方向を操作して仮想三次元空間内を自由に移動することができる。これにより、ユーザは、例えば、魚群が遊泳する海中を自身も自由に泳ぎ回るような感覚を擬似的に体験することができる。
【０００９】
仮想三次元空間内に配置されたオブジェクトの数が比較的少ない場合は、各オブジェクトの位置を音源として各オブジェクトが発する音声をシミュレートして３次元音場を算出し、ゲーム世界の音声を生成することができる。しかし、例えば、海中の魚群をシミュレートする場合、数千数万の魚のそれぞれについて個別に音声をシミュレートするのは計算の負荷が大きい。したがって、本実施の形態では、数多くのオブジェクトを仮想三次元空間内に配置する場合に、より少ない負荷でリアリティの高い音声を表現する技術を提案する。
【００１０】
図１は、実施の形態に係るゲーム装置１０の構成を示す。ゲーム装置１０は、コントローラ２０、入力受付部３０、制御部４０、パラメータ保持部６０、表示装置６８、及びスピーカ６９を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００１１】
入力受付部３０は、ユーザが操作するコントローラ２０から入力される制御信号を受け付ける。制御部４０は、入力受付部３０が受け付けたユーザからの操作入力に基づいて視点位置又は視線方向を変更しつつ、仮想三次元空間の画像及び音声をシミュレートしてゲームの画像及び音声を生成する。パラメータ保持部６０は、ゲーム装置内に構築される仮想三次元空間のデータや、仮想三次元空間内に配置されたオブジェクトのデータを保持する。表示装置６８は、制御部４０により生成されるゲームの画面を表示する。スピーカ６９は、制御部４０により生成されるゲームの音声を出力する。
【００１２】
図２は、ゲーム装置内に構築された仮想三次元空間の例を示す。仮想三次元空間７０内には、複数のサブ空間７１が設けられている。オブジェクト７２は、サブ空間７１内に配置され、配置されたサブ空間７１内で移動を制御される。仮想三次元空間７０には、ゲーム世界の画像及び音声を生成するための視点位置７３及び視線方向７４が設定される。視点位置７３及び視線方向７４は、移動制御部４１により制御される。パラメータ保持部６０は、サブ空間７１の中心座標、幅、奥行き、高さなどの形状データや、オブジェクト７２の座標及び形状データや、視点位置７３の座標や、視線方向７４のベクトル成分や、サブ空間７１内に配置されたオブジェクト群の音声データなど、ゲームの画像及び音声を生成するために必要なデータを格納する。
【００１３】
移動制御部４１は、コントローラ２０から入力される操作指示にしたがって、視点位置又は視線方向を変更する。移動制御部４１は、視点位置又は視線方向を変更すると、視点位置の座標、視線方向を示すベクトルの成分などのデータをパラメータ保持部６０に格納する。
【００１４】
オブジェクト制御部４２は、仮想三次元空間内に配置されたオブジェクトの移動を制御する。オブジェクト制御部４２は、オブジェクトの種類ごとに、オブジェクトを配置する範囲を示すサブ空間を設定し、設定したサブ空間内でオブジェクトを移動させる。オブジェクト制御部４２は、それぞれのオブジェクトの移動を個別に制御してもよいし、いくつかのオブジェクトをグループ化して制御してもよい。例えば、海中での魚群をシミュレートする場合、オブジェクト制御部４２は、マグロ、イワシ、サバなど、魚の種類ごとにサブ空間を設定して遊泳する範囲を規定し、サブ空間内で魚を遊泳させる。オブジェクト制御部４２は、例えば、群れの先頭の魚について、乱数により移動方向や移動速度を決定して移動させ、群れに属する他の魚については、先行する他の魚に追随させるように制御してもよい。また、天敵となる他の魚が近づいてくると、群れから離れて逃げるように制御してもよい。オブジェクト制御部４２は、移動後のオブジェクトの座標を算出し、その座標がサブ空間内にあれば、それをパラメータ保持部６０に格納する。サブ空間から外れていれば、その位置の近傍のサブ空間内の座標に修正してからパラメータ保持部６０に格納する。オブジェクト制御部は、サブ空間を移動させてもよいし、サブ空間の形状を変更してもよい。
【００１５】
画像生成部４３は、パラメータ保持部６０から、現在設定されている視点位置及び視線方向を読み出し、視点位置から視線方向に見たときに所定の画角内に存在するオブジェクトをパラメータ保持部６０から検索して、検索されたオブジェクトの座標及び形状データを読み出す。画像生成部４３は、読み出したオブジェクトをレンダリングすることにより、視点位置から視線方向に見たときの仮想三次元空間の画像を生成する。
【００１６】
音声生成部４４は、パラメータ保持部６０から、現在設定されている視点位置及び視線方向を読み出し、視点位置において聞こえる仮想三次元空間の音声を生成する。前述したように、本実施の形態では、個々のオブジェクトから発せられる音声を全てシミュレートするのではなく、サブ空間に配置されているオブジェクト群を単位として音声をシミュレートする。視点位置とサブ空間との間の距離が遠いときには、遠距離音生成部４５が、サブ空間内に配置されたオブジェクト群の音声をシミュレートする。視点位置とサブ空間との間の距離が近いときには、近距離音生成部４６が、サブ空間内に配置されたオブジェクト群の音声をシミュレートする。
【００１７】
パラメータ保持部６０には、視点位置とサブ空間との間の距離に応じて、各オブジェクト群の遠距離用の音声データと近距離用の音声データが格納されている。遠距離用の音声データは、２チャンネルのステレオ音声として表現される。近距離用の音声データは、３チャンネル以上、例えば５．１チャンネルのサラウンド音声として表現される。近距離用の音声データは、視点位置の近傍に存在するオブジェクトの数に応じて、更に複数の種類の音声データがパラメータ保持部６０に格納されている。例えば、多数の魚が遊泳しているときの音声データと、少数の魚が遊泳しているときの音声データとが、別個に用意される。
【００１８】
図３は、視点位置がサブ空間から遠距離にあるときの音声生成方法を説明するための図である。遠距離音生成部４５は、視点位置７３とサブ空間７１との間の距離が第１の閾値よりも遠いとき、サブ空間７１内に配置されたオブジェクト群の音声として、遠距離用の音声データを適用する。遠距離用の音声データは、２チャンネルのステレオ音声として表現されているので、遠距離音生成部４５は、サブ空間７１の中心を挟んで左右対称な２カ所の位置７５ａ及び７５ｂを音源として、左右それぞれのチャンネルの音声データを適用する。
【００１９】
図４（ａ）（ｂ）は、視点位置がサブ空間から遠距離にあるときの音声生成方法を説明するための図である。図４（ａ）に示すように、遠距離音生成部４５は、左前方の位置７７ａ及び右前方の位置７７ｂを音源位置として、遠距離用の音声データに含まれる左右それぞれのチャンネルの音声データを適用する。ここで、ユーザが、図４（ｂ）に示すように時計回りに視線方向を回転させた場合、遠距離音生成部４５は、音源位置を反時計回りに同じ角度だけ回転させる。すなわち、音源位置は位置７８ａ及び７８ｂへ移動する。これにより、音源定位を実現することができる。
【００２０】
図５は、視点位置がサブ空間から近距離にあるときの音声生成方法を説明するための図である。近距離音生成部４６は、視点位置７３とサブ空間７１との間の距離が第２の閾値よりも近いとき、サブ空間７１内に配置されたオブジェクト群の音声として、近距離用の音声データを適用する。近距離用の音声データは、視点位置の近傍のオブジェクトの数に応じて複数の種類が用意されているので、近距離音生成部４６は、視点位置の近傍に存在するオブジェクトの数に応じて、いずれの音声データを近距離音として適用するかを決定する。本実施の形態では、視点位置の前方に所定のサイズのオブジェクト数判定範囲７６を設定し、パラメータ保持部６０を参照して、オブジェクト数判定範囲７６内に存在するオブジェクトの数を算出する。近距離音生成部４６は、算出したオブジェクト数に応じて、近距離用の音声データの中から適用する音声データを決定する。近距離音生成部４６は、５．１チャンネルなどのサラウンド音声の規格にしたがって、パラメータ保持部６０から読み出した音声データを適用する。図５に示した例では、視点位置７３が、オブジェクト数判定範囲７６を規定する直方体の重心位置から、視線方向に対して後方に所定距離移動させた位置になるように、オブジェクト数判定範囲７６を設定している。これにより、視点位置前方の音声をより強調して出力することができる。オブジェクト数判定範囲７６は、視点位置７３がオブジェクト数判定範囲７６の中心又は重心位置になるように設定されてもよいし、視点位置７３を含まないように設定されてもよい。
【００２１】
図６（ａ）（ｂ）は、視点位置がサブ空間から近距離にあるときの音声生成方法を説明するための図である。図６（ａ）に示すように、近距離音生成部４６は、規格にしたがって、前方、左前方、右前方、左後方、右後方の５つの位置を音源位置として、近距離用の音声データに含まれる５つのチャンネルの音声データを適用する。ここで、ユーザが、図６（ｂ）に示すように時計回りに視線方向を回転させた場合、近距離音生成部４６は、音源位置を反時計回りに同じ角度だけ回転させる。これにより、音源定位を実現することができる。このとき、近距離音生成部４６は、単に音源位置を回転させるだけでなく、再度視点位置の近傍にオブジェクト数判定範囲７６を設定してオブジェクト数を算出し、オブジェクト数判定範囲７６内に存在するオブジェクトの数に応じて、適用する音声データを決定してもよい。
【００２２】
図７は、近距離音生成部４６により適用された近距離用の音声データを合成する割合を示す。図７に示した合成割合を示すデータは、パラメータ保持部６０に格納される。図７に示した例では、オブジェクト数に応じて３種類の音声データ８０、８１、及び８２が用意されている。合成部４７は、オブジェクト数がＮ１より少ないときは、音声データ８０のみを図７に示されたレベルで適用し、オブジェクト数がＮ１以上Ｎ２未満であるときは、音声データ８０と音声データ８１とを図７に示された割合で合成する。オブジェクト数が多い場合の音声データ（例えば音声データ８１）と、オブジェクト数が少ない場合の音声データ（例えば音声データ８０）とが合成される領域（この場合は、オブジェクト数がＮ１以上Ｎ２未満）では、音声データ８１の合成割合はオブジェクト数がＮ２から少なくなるにしたがって小さくし、音声データ８０の合成割合はオブジェクト数がＮ１から多くなるにしたがって大きくなるようにする。図７に示したように、合成割合がオブジェクト数にしたがって線形に大きく又は小さくなるようにしてもよいし、非線形に変化するようにしてもよい。また、αをオブジェクト数Ｎの関数として、両者の合成割合をα：１−α（０≦α≦１）としてもよい。
【００２３】
図８は、近距離音生成部４６により適用され、合成部４７により合成された近距離用の音声データと、遠距離音生成部４５により適用された遠距離用の音声データとを合成する割合を示す。図８に示した合成割合を示すデータも、パラメータ保持部６０に格納される。図８に示した例では、視点位置とサブ空間との間の距離に応じて、近距離用の音声データ８３と遠距離用の音声データ８４の合成割合が示されている。合成部４７は、視点位置とサブ空間との間の距離がＬ１より近いときは、近距離用の音声データ８３のみを図８に示されたレベルで適用し、距離がＬ１以上Ｌ２未満であるときは、近距離用の音声データ８３と遠距離用の音声データ８４とを図８に示された割合で合成し、距離がＬ２以上であるときは、遠距離用の音声データ８４のみを図８に示されたレベルで適用する。遠距離用の音声データ８４と近距離用の音声データ８３とが合成される領域（この場合は、距離がＬ１以上Ｌ２未満）では、音声データ８４の合成割合は距離がＬ２から短くなるにしたがって小さくし、音声データ８３の合成割合は距離がＬ１から長くなるにしたがって大きくなるようにする。図８に示したように、合成割合が距離にしたがって線形に大きく又は小さくなるようにしてもよいし、非線形に変化するようにしてもよい。また、αを距離Ｌの関数として、両者の合成割合をα：１−α（０≦α≦１）としてもよい。
【００２４】
合成部４７は、このように複数の音声データが合成された音場から、スピーカ６９の個数や位置などに応じて、各スピーカ６９から出力すべき音声を計算し、各スピーカ６９へ出力する。
【００２５】
図９は、本実施の形態に係るゲーム制御方法の手順を示すフローチャートである。音声生成部４４は、視点位置の座標とサブ空間の中心座標をパラメータ保持部６０から読み出して、視点位置とサブ空間の間の距離を算出する（Ｓ１０）。距離が図８に示したＬ１以上である場合は（Ｓ１２のＹ）、遠距離音生成部４５は、遠距離用の音声データ８４をパラメータ保持部６０から読み出して適用する（Ｓ１４）。距離がＬ１未満である場合は（Ｓ１２のＮ）、遠距離用の音声データ８４は適用されないので、Ｓ１４をスキップする。
【００２６】
距離がＬ２未満である場合は（Ｓ１６のＹ）、近距離音生成部４６は、パラメータ保持部６０を参照して、オブジェクト数判定範囲７６内のオブジェクト数を算出し（Ｓ１８）、オブジェクト数に応じて近距離用の音声データを適用する（Ｓ２０）。具体的には、オブジェクト数が図７に示したＮ２よりも少ない場合は音声データ８０が適用され、Ｎ１以上Ｎ４未満である場合は音声データ８１が適用され、Ｎ３以上である場合は音声データ８２が適用される。合成部４７は、適用された近距離用の音声データを、図７に示した割合で合成する（Ｓ２２）。Ｓ１６において、距離がＬ２以上である場合は（Ｓ１６のＮ）、近距離用の音声データは適用されないので、Ｓ１８〜Ｓ２２をスキップする。
【００２７】
合成部４７は、近距離用の音声データと遠距離用の音声データを、図８に示した割合で合成する（Ｓ２４）。サブ空間が複数設けられている場合は、全てのサブ空間について上記の手順を繰り返す。合成部４７は、それぞれのサブ空間について合成された音声データを、最終的に全て合成し、各スピーカ６９に出力すべき音声を計算して出力する。
【００２８】
本実施の形態の技術によれば、多数のオブジェクトが仮想三次元空間内に配置される場合であっても、オブジェクト群ごとに音声データを適用するので、計算の負荷を軽減することができる。また、視点位置の近傍に存在するオブジェクトの数に応じて適用する音声データを変更するので、現実性の高い音声を出力することができる。
【００２９】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、その各構成要素や各処理プロセスの組合せにいろいろな変形が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【００３０】
【図１】実施の形態に係るゲーム装置の構成を示す図である。
【図２】ゲーム装置内に構築された仮想三次元空間の例を示す図である。
【図３】視点位置がサブ空間から遠距離にあるときの音声生成方法を説明するための図である。
【図４】視点位置がサブ空間から遠距離にあるときの音声生成方法を説明するための図である。
【図５】視点位置がサブ空間から近距離にあるときの音声生成方法を説明するための図である。
【図６】視点位置がサブ空間から近距離にあるときの音声生成方法を説明するための図である。
【図７】近距離音生成部により適用された近距離用の音声データを合成する割合を示す図である。
【図８】近距離音生成部により適用され、合成部により合成された近距離用の音声データと、遠距離音生成部により適用された遠距離用の音声データとを合成する割合を示す図である。
【図９】本実施の形態に係るゲーム制御方法の手順を示すフローチャートである。
【符号の説明】
【００３１】
１０  ゲーム装置、２０  コントローラ、３０  入力受付部、４０  制御部、４１  移動制御部、４２  オブジェクト制御部、４３  画像生成部、４４  音声生成部、４５  遠距離音生成部、４６  近距離音生成部、４７  合成部、６０  パラメータ保持部、６８  表示装置、６９  スピーカ、７６  オブジェクト数判定範囲。
【図１】
2010010844.tif 000003
【図２】
2010010844.tif 000004
【図３】
2010010844.tif 000005
【図４】
2010010844.tif 000006
【図５】
2010010844.tif 000007
【図６】
2010010844.tif 000008
【図７】
2010010844.tif 000009
【図８】
2010010844.tif 000010
【図９】
2010010844.tif 000011