説明

ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム

【課題】娯楽性の高いゲーム制御技術を提供する。
【解決手段】ゲーム装置10は、三次元空間内に配置されたオブジェクトの座標データと、オブジェクト群の音声データとして、複数の種類の音声データとを格納するパラメータ保持部60と、三次元空間内において視点位置を変更する移動制御部41と、視点位置から所定の視線方向に見たときの三次元空間の画像を生成する画像生成部43と、視点位置の近傍にオブジェクト数判定範囲を設定し、パラメータ保持部60を参照してオブジェクト数判定範囲内に存在するオブジェクトの数を算出し、オブジェクトの数に応じて複数の種類の音声データの中からオブジェクト群の音声データとして適用する音声データを決定し、決定した音声データをパラメータ保持部60から読み出して、視点位置における三次元空間の音声を生成する音声生成部44とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム制御技術に関し、とくに、複数のオブジェクトが配置された三次元空間の音声を制御するゲーム装置、ゲーム制御方法、及びゲーム制御プログラムに関する。
【背景技術】
【0002】
仮想三次元空間をシミュレーションするゲームが多数提供されている。このようなゲームにおいては、仮想三次元空間内に視点位置及び視線方向が設定され、設定された視点位置から視線方向に見た仮想三次元空間の画像が表示されるとともに、設定された視点位置において聞こえる仮想三次元空間の音声が出力される。
【特許文献1】特開2002−258842号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
仮想三次元空間に配置されるオブジェクトの数が比較的少数であれば、個々のオブジェクトの形状データをレンダリングして画像を生成するとともに、個々のオブジェクトの音声データから音場をシミュレートして音声を生成することができる。しかし、仮想三次元空間に配置されるオブジェクトが多数になると、必要な計算の負荷が飛躍的に増大してしまう。仮想三次元空間内に配置されるオブジェクトの数が多くても、計算の負荷を抑えつつ現実性の高い音声を再現して、ゲームの娯楽性を高める技術が求められる。
【0004】
本発明はこうした状況に鑑みてなされたものであり、その目的は、より娯楽性の高いゲーム制御技術を提供することにある。
【課題を解決するための手段】
【0005】
本発明のある態様は、プログラムに関する。このプログラムは、三次元空間内に配置されたオブジェクトの座標データと、オブジェクト群の音声データとして、複数の種類の音声データとを格納するパラメータ保持部から、前記座標データ又は前記音声データを読み出す機能と、前記三次元空間内において視点位置を変更する機能と、前記視点位置から所定の視線方向に見たときの前記三次元空間の画像を生成する機能と、前記視点位置の近傍にオブジェクト数判定範囲を設定し、前記パラメータ保持部を参照して前記オブジェクト数判定範囲内に存在するオブジェクトの数を算出し、オブジェクトの数に応じて前記複数の種類の音声データの中から前記オブジェクト群の音声データとして適用する音声データを決定し、決定した音声データを前記パラメータ保持部から読み出して、前記視点位置における前記三次元空間の音声を生成する機能と、をコンピュータに実現させることを特徴とする。
【0006】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0007】
本発明によれば、より娯楽性の高いゲーム制御技術を提供することができる。
【発明を実施するための最良の形態】
【0008】
実施の形態に係るゲーム装置は、ゲーム装置内に仮想的に構築された三次元空間内に複数のオブジェクトを配置させ、それらの映像及び音声をユーザに提供する。例えば、海の中を遊泳する魚群をシミュレートすることで、実際に体験することが難しい海中の世界を表現してユーザに提供する。ユーザは、視点位置及び視線方向を操作して仮想三次元空間内を自由に移動することができる。これにより、ユーザは、例えば、魚群が遊泳する海中を自身も自由に泳ぎ回るような感覚を擬似的に体験することができる。
【0009】
仮想三次元空間内に配置されたオブジェクトの数が比較的少ない場合は、各オブジェクトの位置を音源として各オブジェクトが発する音声をシミュレートして3次元音場を算出し、ゲーム世界の音声を生成することができる。しかし、例えば、海中の魚群をシミュレートする場合、数千数万の魚のそれぞれについて個別に音声をシミュレートするのは計算の負荷が大きい。したがって、本実施の形態では、数多くのオブジェクトを仮想三次元空間内に配置する場合に、より少ない負荷でリアリティの高い音声を表現する技術を提案する。
【0010】
図1は、実施の形態に係るゲーム装置10の構成を示す。ゲーム装置10は、コントローラ20、入力受付部30、制御部40、パラメータ保持部60、表示装置68、及びスピーカ69を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0011】
入力受付部30は、ユーザが操作するコントローラ20から入力される制御信号を受け付ける。制御部40は、入力受付部30が受け付けたユーザからの操作入力に基づいて視点位置又は視線方向を変更しつつ、仮想三次元空間の画像及び音声をシミュレートしてゲームの画像及び音声を生成する。パラメータ保持部60は、ゲーム装置内に構築される仮想三次元空間のデータや、仮想三次元空間内に配置されたオブジェクトのデータを保持する。表示装置68は、制御部40により生成されるゲームの画面を表示する。スピーカ69は、制御部40により生成されるゲームの音声を出力する。
【0012】
図2は、ゲーム装置内に構築された仮想三次元空間の例を示す。仮想三次元空間70内には、複数のサブ空間71が設けられている。オブジェクト72は、サブ空間71内に配置され、配置されたサブ空間71内で移動を制御される。仮想三次元空間70には、ゲーム世界の画像及び音声を生成するための視点位置73及び視線方向74が設定される。視点位置73及び視線方向74は、移動制御部41により制御される。パラメータ保持部60は、サブ空間71の中心座標、幅、奥行き、高さなどの形状データや、オブジェクト72の座標及び形状データや、視点位置73の座標や、視線方向74のベクトル成分や、サブ空間71内に配置されたオブジェクト群の音声データなど、ゲームの画像及び音声を生成するために必要なデータを格納する。
【0013】
移動制御部41は、コントローラ20から入力される操作指示にしたがって、視点位置又は視線方向を変更する。移動制御部41は、視点位置又は視線方向を変更すると、視点位置の座標、視線方向を示すベクトルの成分などのデータをパラメータ保持部60に格納する。
【0014】
オブジェクト制御部42は、仮想三次元空間内に配置されたオブジェクトの移動を制御する。オブジェクト制御部42は、オブジェクトの種類ごとに、オブジェクトを配置する範囲を示すサブ空間を設定し、設定したサブ空間内でオブジェクトを移動させる。オブジェクト制御部42は、それぞれのオブジェクトの移動を個別に制御してもよいし、いくつかのオブジェクトをグループ化して制御してもよい。例えば、海中での魚群をシミュレートする場合、オブジェクト制御部42は、マグロ、イワシ、サバなど、魚の種類ごとにサブ空間を設定して遊泳する範囲を規定し、サブ空間内で魚を遊泳させる。オブジェクト制御部42は、例えば、群れの先頭の魚について、乱数により移動方向や移動速度を決定して移動させ、群れに属する他の魚については、先行する他の魚に追随させるように制御してもよい。また、天敵となる他の魚が近づいてくると、群れから離れて逃げるように制御してもよい。オブジェクト制御部42は、移動後のオブジェクトの座標を算出し、その座標がサブ空間内にあれば、それをパラメータ保持部60に格納する。サブ空間から外れていれば、その位置の近傍のサブ空間内の座標に修正してからパラメータ保持部60に格納する。オブジェクト制御部は、サブ空間を移動させてもよいし、サブ空間の形状を変更してもよい。
【0015】
画像生成部43は、パラメータ保持部60から、現在設定されている視点位置及び視線方向を読み出し、視点位置から視線方向に見たときに所定の画角内に存在するオブジェクトをパラメータ保持部60から検索して、検索されたオブジェクトの座標及び形状データを読み出す。画像生成部43は、読み出したオブジェクトをレンダリングすることにより、視点位置から視線方向に見たときの仮想三次元空間の画像を生成する。
【0016】
音声生成部44は、パラメータ保持部60から、現在設定されている視点位置及び視線方向を読み出し、視点位置において聞こえる仮想三次元空間の音声を生成する。前述したように、本実施の形態では、個々のオブジェクトから発せられる音声を全てシミュレートするのではなく、サブ空間に配置されているオブジェクト群を単位として音声をシミュレートする。視点位置とサブ空間との間の距離が遠いときには、遠距離音生成部45が、サブ空間内に配置されたオブジェクト群の音声をシミュレートする。視点位置とサブ空間との間の距離が近いときには、近距離音生成部46が、サブ空間内に配置されたオブジェクト群の音声をシミュレートする。
【0017】
パラメータ保持部60には、視点位置とサブ空間との間の距離に応じて、各オブジェクト群の遠距離用の音声データと近距離用の音声データが格納されている。遠距離用の音声データは、2チャンネルのステレオ音声として表現される。近距離用の音声データは、3チャンネル以上、例えば5.1チャンネルのサラウンド音声として表現される。近距離用の音声データは、視点位置の近傍に存在するオブジェクトの数に応じて、更に複数の種類の音声データがパラメータ保持部60に格納されている。例えば、多数の魚が遊泳しているときの音声データと、少数の魚が遊泳しているときの音声データとが、別個に用意される。
【0018】
図3は、視点位置がサブ空間から遠距離にあるときの音声生成方法を説明するための図である。遠距離音生成部45は、視点位置73とサブ空間71との間の距離が第1の閾値よりも遠いとき、サブ空間71内に配置されたオブジェクト群の音声として、遠距離用の音声データを適用する。遠距離用の音声データは、2チャンネルのステレオ音声として表現されているので、遠距離音生成部45は、サブ空間71の中心を挟んで左右対称な2カ所の位置75a及び75bを音源として、左右それぞれのチャンネルの音声データを適用する。
【0019】
図4(a)(b)は、視点位置がサブ空間から遠距離にあるときの音声生成方法を説明するための図である。図4(a)に示すように、遠距離音生成部45は、左前方の位置77a及び右前方の位置77bを音源位置として、遠距離用の音声データに含まれる左右それぞれのチャンネルの音声データを適用する。ここで、ユーザが、図4(b)に示すように時計回りに視線方向を回転させた場合、遠距離音生成部45は、音源位置を反時計回りに同じ角度だけ回転させる。すなわち、音源位置は位置78a及び78bへ移動する。これにより、音源定位を実現することができる。
【0020】
図5は、視点位置がサブ空間から近距離にあるときの音声生成方法を説明するための図である。近距離音生成部46は、視点位置73とサブ空間71との間の距離が第2の閾値よりも近いとき、サブ空間71内に配置されたオブジェクト群の音声として、近距離用の音声データを適用する。近距離用の音声データは、視点位置の近傍のオブジェクトの数に応じて複数の種類が用意されているので、近距離音生成部46は、視点位置の近傍に存在するオブジェクトの数に応じて、いずれの音声データを近距離音として適用するかを決定する。本実施の形態では、視点位置の前方に所定のサイズのオブジェクト数判定範囲76を設定し、パラメータ保持部60を参照して、オブジェクト数判定範囲76内に存在するオブジェクトの数を算出する。近距離音生成部46は、算出したオブジェクト数に応じて、近距離用の音声データの中から適用する音声データを決定する。近距離音生成部46は、5.1チャンネルなどのサラウンド音声の規格にしたがって、パラメータ保持部60から読み出した音声データを適用する。図5に示した例では、視点位置73が、オブジェクト数判定範囲76を規定する直方体の重心位置から、視線方向に対して後方に所定距離移動させた位置になるように、オブジェクト数判定範囲76を設定している。これにより、視点位置前方の音声をより強調して出力することができる。オブジェクト数判定範囲76は、視点位置73がオブジェクト数判定範囲76の中心又は重心位置になるように設定されてもよいし、視点位置73を含まないように設定されてもよい。
【0021】
図6(a)(b)は、視点位置がサブ空間から近距離にあるときの音声生成方法を説明するための図である。図6(a)に示すように、近距離音生成部46は、規格にしたがって、前方、左前方、右前方、左後方、右後方の5つの位置を音源位置として、近距離用の音声データに含まれる5つのチャンネルの音声データを適用する。ここで、ユーザが、図6(b)に示すように時計回りに視線方向を回転させた場合、近距離音生成部46は、音源位置を反時計回りに同じ角度だけ回転させる。これにより、音源定位を実現することができる。このとき、近距離音生成部46は、単に音源位置を回転させるだけでなく、再度視点位置の近傍にオブジェクト数判定範囲76を設定してオブジェクト数を算出し、オブジェクト数判定範囲76内に存在するオブジェクトの数に応じて、適用する音声データを決定してもよい。
【0022】
図7は、近距離音生成部46により適用された近距離用の音声データを合成する割合を示す。図7に示した合成割合を示すデータは、パラメータ保持部60に格納される。図7に示した例では、オブジェクト数に応じて3種類の音声データ80、81、及び82が用意されている。合成部47は、オブジェクト数がN1より少ないときは、音声データ80のみを図7に示されたレベルで適用し、オブジェクト数がN1以上N2未満であるときは、音声データ80と音声データ81とを図7に示された割合で合成する。オブジェクト数が多い場合の音声データ(例えば音声データ81)と、オブジェクト数が少ない場合の音声データ(例えば音声データ80)とが合成される領域(この場合は、オブジェクト数がN1以上N2未満)では、音声データ81の合成割合はオブジェクト数がN2から少なくなるにしたがって小さくし、音声データ80の合成割合はオブジェクト数がN1から多くなるにしたがって大きくなるようにする。図7に示したように、合成割合がオブジェクト数にしたがって線形に大きく又は小さくなるようにしてもよいし、非線形に変化するようにしてもよい。また、αをオブジェクト数Nの関数として、両者の合成割合をα:1−α(0≦α≦1)としてもよい。
【0023】
図8は、近距離音生成部46により適用され、合成部47により合成された近距離用の音声データと、遠距離音生成部45により適用された遠距離用の音声データとを合成する割合を示す。図8に示した合成割合を示すデータも、パラメータ保持部60に格納される。図8に示した例では、視点位置とサブ空間との間の距離に応じて、近距離用の音声データ83と遠距離用の音声データ84の合成割合が示されている。合成部47は、視点位置とサブ空間との間の距離がL1より近いときは、近距離用の音声データ83のみを図8に示されたレベルで適用し、距離がL1以上L2未満であるときは、近距離用の音声データ83と遠距離用の音声データ84とを図8に示された割合で合成し、距離がL2以上であるときは、遠距離用の音声データ84のみを図8に示されたレベルで適用する。遠距離用の音声データ84と近距離用の音声データ83とが合成される領域(この場合は、距離がL1以上L2未満)では、音声データ84の合成割合は距離がL2から短くなるにしたがって小さくし、音声データ83の合成割合は距離がL1から長くなるにしたがって大きくなるようにする。図8に示したように、合成割合が距離にしたがって線形に大きく又は小さくなるようにしてもよいし、非線形に変化するようにしてもよい。また、αを距離Lの関数として、両者の合成割合をα:1−α(0≦α≦1)としてもよい。
【0024】
合成部47は、このように複数の音声データが合成された音場から、スピーカ69の個数や位置などに応じて、各スピーカ69から出力すべき音声を計算し、各スピーカ69へ出力する。
【0025】
図9は、本実施の形態に係るゲーム制御方法の手順を示すフローチャートである。音声生成部44は、視点位置の座標とサブ空間の中心座標をパラメータ保持部60から読み出して、視点位置とサブ空間の間の距離を算出する(S10)。距離が図8に示したL1以上である場合は(S12のY)、遠距離音生成部45は、遠距離用の音声データ84をパラメータ保持部60から読み出して適用する(S14)。距離がL1未満である場合は(S12のN)、遠距離用の音声データ84は適用されないので、S14をスキップする。
【0026】
距離がL2未満である場合は(S16のY)、近距離音生成部46は、パラメータ保持部60を参照して、オブジェクト数判定範囲76内のオブジェクト数を算出し(S18)、オブジェクト数に応じて近距離用の音声データを適用する(S20)。具体的には、オブジェクト数が図7に示したN2よりも少ない場合は音声データ80が適用され、N1以上N4未満である場合は音声データ81が適用され、N3以上である場合は音声データ82が適用される。合成部47は、適用された近距離用の音声データを、図7に示した割合で合成する(S22)。S16において、距離がL2以上である場合は(S16のN)、近距離用の音声データは適用されないので、S18〜S22をスキップする。
【0027】
合成部47は、近距離用の音声データと遠距離用の音声データを、図8に示した割合で合成する(S24)。サブ空間が複数設けられている場合は、全てのサブ空間について上記の手順を繰り返す。合成部47は、それぞれのサブ空間について合成された音声データを、最終的に全て合成し、各スピーカ69に出力すべき音声を計算して出力する。
【0028】
本実施の形態の技術によれば、多数のオブジェクトが仮想三次元空間内に配置される場合であっても、オブジェクト群ごとに音声データを適用するので、計算の負荷を軽減することができる。また、視点位置の近傍に存在するオブジェクトの数に応じて適用する音声データを変更するので、現実性の高い音声を出力することができる。
【0029】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、その各構成要素や各処理プロセスの組合せにいろいろな変形が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【0030】
【図1】実施の形態に係るゲーム装置の構成を示す図である。
【図2】ゲーム装置内に構築された仮想三次元空間の例を示す図である。
【図3】視点位置がサブ空間から遠距離にあるときの音声生成方法を説明するための図である。
【図4】視点位置がサブ空間から遠距離にあるときの音声生成方法を説明するための図である。
【図5】視点位置がサブ空間から近距離にあるときの音声生成方法を説明するための図である。
【図6】視点位置がサブ空間から近距離にあるときの音声生成方法を説明するための図である。
【図7】近距離音生成部により適用された近距離用の音声データを合成する割合を示す図である。
【図8】近距離音生成部により適用され、合成部により合成された近距離用の音声データと、遠距離音生成部により適用された遠距離用の音声データとを合成する割合を示す図である。
【図9】本実施の形態に係るゲーム制御方法の手順を示すフローチャートである。
【符号の説明】
【0031】
10 ゲーム装置、20 コントローラ、30 入力受付部、40 制御部、41 移動制御部、42 オブジェクト制御部、43 画像生成部、44 音声生成部、45 遠距離音生成部、46 近距離音生成部、47 合成部、60 パラメータ保持部、68 表示装置、69 スピーカ、76 オブジェクト数判定範囲。

【特許請求の範囲】
【請求項1】
三次元空間内に配置されたオブジェクトの座標データと、オブジェクト群の音声データとして、複数の種類の音声データとを格納するパラメータ保持部から、前記座標データ又は前記音声データを読み出す機能と、
前記三次元空間内において視点位置を変更する機能と、
前記視点位置から所定の視線方向に見たときの前記三次元空間の画像を生成する機能と、
前記視点位置の近傍にオブジェクト数判定範囲を設定し、前記パラメータ保持部を参照して前記オブジェクト数判定範囲内に存在するオブジェクトの数を算出し、オブジェクトの数に応じて前記複数の種類の音声データの中から前記オブジェクト群の音声データとして適用する音声データを決定し、決定した音声データを前記パラメータ保持部から読み出して、前記視点位置における前記三次元空間の音声を生成する機能と、
をコンピュータに実現させることを特徴とするプログラム。
【請求項2】
前記パラメータ保持部は、前記三次元空間内に設定されたサブ空間内に配置されたオブジェクト群の音声データとして、前記視点位置と前記サブ空間との間の距離に応じて複数の種類の音声データを格納し、前記距離が所定の閾値よりも短い場合の音声データとして、前記オブジェクト数判定範囲に存在するオブジェクトの数に応じて更に複数の種類の音声データを格納し、
前記音声を生成する機能は、前記オブジェクト群に適用する音声データを決定する際に、まず、前記視点位置と前記オブジェクト群が属するサブ空間との間の距離に応じて適用する音声データを決定し、前記距離が所定の閾値よりも短い場合の音声データを適用する場合には、更に、前記オブジェクト数判定範囲内に存在するオブジェクトの数に応じて適用する音声データを決定することを特徴とする請求項1に記載のプログラム。
【請求項3】
前記パラメータ保持部は、前記オブジェクト数判定範囲内に存在するオブジェクトの数に応じて、前記視点位置と前記サブ空間との間の距離が所定の閾値よりも短い場合の複数の音声データを合成する割合と、前記視点位置と前記サブ空間との間の距離に応じて、前記距離が所定の閾値よりも短い場合の音声データと長い場合の音声データとを合成する割合とを更に格納し、
前記オブジェクト数判定範囲内に存在するオブジェクトの数に応じて、前記距離が所定の閾値よりも短い場合の複数の音声データを、前記パラメータ保持部に格納された割合にしたがって合成するとともに、前記視点位置と前記サブ空間との間の距離に応じて、前記距離が所定の閾値よりも短い場合の音声データと長い場合の音声データを、前記パラメータ保持部に格納された割合にしたがって合成する機能を更にコンピュータに実現させることを特徴とする請求項2に記載のプログラム。
【請求項4】
三次元空間内に配置されたオブジェクトの座標データと、オブジェクト群の音声データとして、複数の種類の音声データとを格納するパラメータ保持部と、
前記三次元空間内において視点位置を変更する移動制御部と、
前記視点位置から所定の視線方向に見たときの前記三次元空間の画像を生成する画像生成部と、
前記視点位置の近傍にオブジェクト数判定範囲を設定し、前記パラメータ保持部を参照して前記オブジェクト数判定範囲内に存在するオブジェクトの数を算出し、オブジェクトの数に応じて前記複数の種類の音声データの中から前記オブジェクト群の音声データとして適用する音声データを決定し、決定した音声データを前記パラメータ保持部から読み出して、前記視点位置における前記三次元空間の音声を生成する音声生成部と、
を備えることを特徴とするゲーム装置
【請求項5】
三次元空間内に配置されたオブジェクトの座標データと、オブジェクト群の音声データとして、複数の種類の音声データとを格納するパラメータ保持部から、前記座標データ又は前記音声データを読み出すステップと、
前記三次元空間内において視点位置を変更するステップと、
前記視点位置から所定の視線方向に見たときの前記三次元空間の画像を生成するステップと、
前記視点位置の近傍にオブジェクト数判定範囲を設定し、前記パラメータ保持部を参照して前記オブジェクト数判定範囲内に存在するオブジェクトの数を算出し、オブジェクトの数に応じて前記複数の種類の音声データの中から前記オブジェクト群の音声データとして適用する音声データを決定し、決定した音声データを前記パラメータ保持部から読み出して、前記視点位置における前記三次元空間の音声を生成するステップと、
を備えることを特徴とするゲーム制御方法。
【請求項6】
請求項1から3のいずれかに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate