JP3617839B2 - ゲームサウンド制御プログラム、ゲームサウンド制御方法およびゲーム装置 - Google Patents

ゲームサウンド制御プログラム、ゲームサウンド制御方法およびゲーム装置 Download PDF

Info

Publication number
JP3617839B2
JP3617839B2 JP2003387766A JP2003387766A JP3617839B2 JP 3617839 B2 JP3617839 B2 JP 3617839B2 JP 2003387766 A JP2003387766 A JP 2003387766A JP 2003387766 A JP2003387766 A JP 2003387766A JP 3617839 B2 JP3617839 B2 JP 3617839B2
Authority
JP
Japan
Prior art keywords
sound
data
volume component
volume
game
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.)
Expired - Fee Related
Application number
JP2003387766A
Other languages
English (en)
Other versions
JP2004195210A (ja
Inventor
昌史 川村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2003387766A priority Critical patent/JP3617839B2/ja
Publication of JP2004195210A publication Critical patent/JP2004195210A/ja
Application granted granted Critical
Publication of JP3617839B2 publication Critical patent/JP3617839B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

この発明はゲームサウンド制御プログラム、ゲームサウンド制御方法およびゲーム装置に関し、特にたとえば、プレイヤによる操作情報を入力するための操作手段を備え、操作手段の操作に応じてゲームを進行させて、少なくとも2つのオブジェクトを含むゲーム画面を表示するとともに、ゲーム画面に関連する音を発生する、ゲームサウンド制御プログラム、ゲームサウンド制御方法およびゲーム装置に関する。
一般的に、仮想3次元空間内で展開されるゲームにおいて、たとえば松明などが表示されているような場合、プレイヤの操作するキャラクタ(プレイヤキャラクタ)が松明などの、音を発生するサウンドオブジェクトに近づくと、松明の燃える音が大きくなる処理が行われる。このとき、松明がプレイヤキャラクタの周りに複数存在すると、松明の数だけ音源を発音させて、松明の燃える音を再生していた。ただし、音源の発音数が最大同時発音数を越える場合には、優先順位を付けて、たとえば遠くに在る松明については音を出さないようにして、音源の発音数を節約していた。
また、このようなゲームでは、松明が画面の右斜め前に在るとすれば、音源の右ボリュームを上げ、左ボリュームを下げることにより、あたかも松明の音が右斜め前から聞こえてくるように処理していた。さらに、サラウンド成分を処理可能であれば、松明の音がプレイヤの後方から鳴っているとか、音に囲まれているかのような鳴らし方で処理することが可能であった。
また、従来技術の一例が特許文献1に開示される。この特許文献1に開示される音再生装置では、聞き手の頭の位置を原点とし、聞き手の顔の正面向きに延びる軸を所定角度で回転させた回転軸によって、配置されたすべてのサウンドオブジェクトをいくつかのグループに分けて、1つのグループに含まれる1または複数のサウンドオブジェクトの音を音源の1つの発音だけで発生するようにしていた。
特開2000−13900号公報(第5頁〜第6頁,第1図〜第6図)
しかし、前者のように、優先順位を付けて音源を節約する場合には、さほど重要ではないが、音場(仮想3次元空間)の雰囲気として鳴ってほしい音、たとえば環境音等が消されてしまうと、ゲームの臨場感を消失してしまうという問題があった。また、左右に松明が在るときに、右の松明の音だけが消されてしまうと、左右の松明対して左の松明だけが燃える音がするなどの違和感もあった。
また、後者の場合には、グループ分けに際して方向を決めるため、音を発生するオブジェクト全てについて音を集音する位置に対する角度を求める必要があり、したがって、計算処理が膨大であり、処理負担が大きく、本来的なゲーム処理に遅れが生じてしまうという問題があった。
それゆえに、この発明の主たる目的は、新規な、ゲームサウンド制御プログラムを記憶した記憶媒体、ゲームサウンド制御方法およびゲーム装置を提供することである。
この発明の他の目的は、効率的に音源を使用できる、ゲームサウンド制御プログラムを記憶した記憶媒体、ゲームサウンド制御方法およびゲーム装置を提供することである。
請求項1の発明は、操作手段、オブジェクト記憶手段、画像表示制御手段、スピーカ、波形データ記憶手段、音発生位置データ記憶手段、サウンド出力制御手段、およびマイクデータ記憶手段を備えるゲーム装置のコンピュータによって実行されるゲームサウンド制御プログラムである。
操作手段は、プレイヤによる操作情報を入力する。オブジェクト記憶手段は、ゲーム画像を構成するオブジェクトを記憶している。画像表示制御手段は、操作手段によって入力されるプレイヤによる操作情報に基づいて少なくとも2つのオブジェクトを含むゲーム画像を表示する。スピーカは左右2つ備えられ、音を出力する。波形データ記憶手段は、ゲーム画像を構成する少なくとも2つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも1種類の波形データを記憶している。音発生位置データ記憶手段は、サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶している。サウンド出力制御手段は、少なくとも音の出力指示に従って、波形データを読み出して、音データを生成し、生成した音データを音としてスピーカから出力する。そして、マイクデータ記憶手段は、少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データとを含むマイクデータを記憶している。
ゲームサウンド制御プログラムは、音量データ算出ステップ、定位算出ステップ、音量成分分割ステップ、オブジェクト分類ステップ、音出力データ生成ステップおよび音出力指示ステップによって構成される。
音量データ算出ステップは、サウンドオブジェクト毎に、音発生位置データと集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいてサウンドオブジェクトがそれぞれ発生する音の音量データを算出する。定位算出ステップは、集音方向データと音発生位置データとに基づいて、各々のサウンドオブジェクトについての定位データを算出する。音量成分分割ステップは、定位算出ステップによって算出された定位データに基づいて、各サウンドオブジェクトの音量データを、スピーカから出力する音の右側音量成分と左側音量成分とに分割する。オブジェクト分類ステップは、すべてのサウンドオブジェクトを同じ音を発生するオブジェクトに分類する。音出力データ生成ステップは、同じ音を発生するオブジェクトについて、音量成分分割ステップによって分割された右側音量成分および左側音量成分のうち、最大の右側音量成分および最大の左側音量成分を抽出し、当該オブジェクトの波形データと最大の右側音量成分および最大の左側音量成分とに基づいて、サウンド出力制御手段がスピーカから音を出力するためのデータを生成する。そして、出力指示ステップは、サウンド出力制御手段に、音の出力指示と音出力データ生成ステップによって生成したデータとを与える。
請求項1の発明では、ゲーム装置(12:実施例で相当する参照番号。以下、同じ。)には、プレイヤによる操作情報を入力するための操作手段(16,22)が接続される。その操作情報に基づいて少なくとも2つのオブジェクトを含むゲーム画像(80)が画像表示制御手段(36、S11)によって表示される。このゲーム画像(80)を構成するオブジェクト(82,84,88)は、オブジェクト記憶手段(40)に記憶される。たとえば、ゲーム画像(80)を構成する少なくとも2つのオブジェクトが音を発生するサウンドオブジェクト(84,88)であり、当該サウンドオブジェクト(84,88)の発生する音に対応する少なくとも1種類の波形データが波形データ記憶手段(54)に記憶される。当該サウンドオブジェクトの音は、左右2つのスピーカ(34a,34a)から出力される。また、サウンドオブジェクト(84,88)毎に音の発生位置を示す音発生位置データ(722b,726b,730b)が音発生位置データ記憶手段(40)に記憶される。さらに、少なくともゲーム中に音を集音する位置を示す集音位置データ(74a)と、集音する集音方向を示す集音方向データ(74b)とを含むマイクデータがマイクデータ記憶手段74に記憶される。このような構成のゲーム装置のプロセサによって、ゲームサウンド制御プログラムは実行される。具体的には、音量データ算出ステップ(36,S31)は、音発生位置データ(722b,726b,730b)とマイクデータとからサウンドオブジェクト(84,88)毎に、音発生位置データと集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、その距離に基づいて音量データを算出する。そして、定位算出ステップ(36,S33)が、集音方向データと音発生位置データとに基づいて、各々のサウンドオブジェクトについての定位データを算出する。すると、音量成分分割ステップ(36,S43)が、定位算出ステップによって算出された定位データに基づき、音量データ算出ステップ(36,S31)によって算出された音量データを、スピーカ(34a,34a)から出力する音の右側音量成分と左側音量成分とに分割する。オブジェクト分類ステップ(36,S39)は、すべてのサウンドオブジェクト(84,88)を、同じ音を発生するオブジェクトに分類する。オブジェクトが分類されると、音出力データ生成ステップ(36,S51)は、同じ音を発生するオブジェクトについて、音量成分分割ステップ(36,S43)によって分割された右側音量成分および左側音量成分のうち、最大の右側音量成分および最大の左側音量成分を抽出し、当該オブジェクトの波形データと最大の右側音量成分および最大の左側音量成分とに基づいて、サウンド出力制御手段(52)がスピーカ(34a,34a)から音を出力するためのデータを生成する。そして、出力指示ステップ(36,S53)は、音の出力指示と音出力データ生成ステップ(36,S51)によって生成したデータとを、サウンド出力制御手段(52)に与える。したがって、生成されたデータに基づいて、サウンド出力制御手段(52)がスピーカ(34a,34a)から音を出力するので、分類されたオブジェクトの発生する音が、1つにまとめられてスピーカ(34a,34a)から聞こえる。
請求項1の発明によれば、同じ種類のサウンドオブジェクトについての音を音源の1つの発音だけで出力するので、音源を効率的に使用することができる。
請求項2の発明は、請求項1に従属し、音出力データ生成ステップは、最大の右側音量成分および最大の左側音量成分を、そのまま、出力する音の右側音量成分および左側音量成分とする。
請求項2の発明によれば、音出力データ生成ステップ(36,S51)は、抽出された最大の右側音量成分および最大の左側音量成分を、そのまま、出力する音の右側音量成分および左側音量成分とするので、分類されたサウンドオブジェクトが発生する音を、音源の1つの発音だけで出力することができる。
請求項3の発明は、操作手段、オブジェクト記憶手段、画像表示制御手段、波形データ記憶手段、音発生位置データ記憶手段、およびマイクデータ記憶手段を備えるゲーム装置のプロセサによって実行されるゲームサウンド制御プログラムである。
操作手段は、プレイヤによる操作情報を入力する。オブジェクト記憶手段は、ゲーム画像を構成するオブジェクトを記憶している。画像表示制御手段は、操作情報に基づいて少なくとも2つのオブジェクトを含むゲーム画像を表示する。スピーカは、左右2つ備えられ、音を出力する。波形データ記憶手段は、ゲーム画像を構成する少なくとも2つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも1種類の波形データを記憶している。音発生位置データ記憶手段は、サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶している。サウンド出力制御手段は、少なくとも音の出力指示に従って、波形データを読み出して、音データを生成し、生成した音データを音としてスピーカから出力する。そして、マイクデータ記憶手段は、少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データとを含むマイクデータを記憶している。
サウンド制御プログラムは、音量データ算出ステップ、定位算出ステップ、音量成分分割ステップ、オブジェクト分類ステップ、音出力データ生成ステップおよび音出力指示ステップによって構成される。
音量データ算出ステップは、サウンドオブジェクト毎に、音発生位置データと集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいてサウンドオブジェクトがそれぞれ発生する音の音量データを算出する。定位算出ステップは、集音方向データと音発生位置データとに基づいて各々のサウンドオブジェクトについての定位データを算出する。音量成分分割ステップは、定位算出ステップによって算出された定位データに基づいて、各々のサウンドオブジェクトの音量データを、スピーカから出力する音の右側音量成分、左側音量成分およびサラウンド音量成分に分割する。オブジェクト分類ステップは、すべてのサウンドオブジェクトを同じ音を発生するオブジェクトに分類する。音出力データ生成ステップは、同じ音を発生するオブジェクトについて音量成分分割ステップによって分割された右側音量成分、左側音量成分およびサラウンド音量成分のうち、最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分を抽出し、当該オブジェクトの波形データと最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分とに基づいて、サウンド出力制御手段がスピーカから音を出力するためのデータを生成する。そして、出力指示ステップは、サウンド出力制御手段に、音の出力指示と音出力データ生成ステップによって生成したデータとを与える。
請求項3の発明によれば、音量成分分割ステップ(36,S43)は、音発生位置データ(722b,726b,730b)とその集音方向データ(74b)とからサウンドオブジェクトが発生する音の音量データを、スピーカ(34a,34a)から出力する音の右側音量成分、左側音量成分およびサラウンド音量成分に分割する。したがって、音出力データ生成ステップ(36,S51)は、同じ音を発生するオブジェクトについて、音量成分分割ステップ(36,S43)によって分割された右側音量成分、左側音量成分およびサラウンド音量成分のうち、最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分を抽出し、当該オブジェクトの波形データと最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分とに基づいて、サウンド出力制御手段(52)がスピーカ(34a,34a)から音を出力するためのデータを生成することができる。
請求項4の発明は、請求項3に従属し、音発生位置データは、1つの座標データで表されるサウンドオブジェクトの位置データおよび少なくとも2つの座標データで定義されたレールデータにより表される、レールデータを持つサウンドオブジェクトの位置データを含み、レールデータを持つサウンドオブジェクトについて、レールデータを表す座標を結ぶ線分上であり、かつ、集音位置データに最も接近する位置の座標データを算出する近接座標算出ステップ、音量データ算出ステップは、レールデータを持つサウンドオブジェクトの音量データを算出するとき、近接座標算出ステップによって算出された座標データと集音位置データとから当該サウンドオブジェクトの音量データを算出し、音量成分分割ステップは、近接座標算出ステップによって算出された座標データと集音位置データとから、スピーカから出力する音の右側音量成分左側音量成分およびサラウンド音量成分のそれぞれに音量データを分割する。
請求項4の発明によれば、音発生位置データは、1つの座標データで表される点のサウンドオブジェクトの位置データおよび少なくとも2つの座標データで定義されたレールデータを持つサウンドオブジェクトの位置データを含み、レールデータを持つサウンドオブジェクトについて、レールデータを表す座標を結ぶ線分上であり、かつ、集音位置データに最も接近する位置の座標データを算出する近接座標算出ステップをさらに備え、音量データ算出ステップは、レールデータを持つサウンドオブジェクトの音量データを算出するとき、近接座標算出ステップにより算出された座標データと集音位置データとから当該サウンドオブジェクトの音量データを算出し、音量成分分割ステップは、近接座標算出ステップによって算出された座標データと集音位置データとから、スピーカから出力する音の右側音量成分左側音量成分およびサラウンド音量成分のそれぞれに音量データを分割する。
具体的には、音発生位置データ(722b,726b,730b)は、1つの座標データで表されるサウンドオブジェクトの位置データ(722b,726b)および少なくとも2つの座標データで定義されるレールデータにより表されるレールデータサウンドオブジェクトの位置データ(730b)を含む。近接座標算出ステップ(36,S63)は、レールデータを持つサウンドオブジェクト(88)について、レールデータを表す線分上であり、集音位置データ(74a)に最も接近する位置の座標データを算出する。音量データ算出ステップ(36,S31)は、レールデータを持つサウンドオブジェクトの音量データを算出する場合には、近接座標算出ステップ(36,S63)によって算出された座標データとマイクデータとから当該サウンドオブジェクト(88)の音量データを算出する。つまり、レールデータの線分上であり、集音位置データ(74a)に最も接近する位置にサウンドオブジェクトの音が存在するとみなして、当該音の音量データを算出して、音源の発音数を低減している。したがって、音量成分分割ステップ(36,S43)は、レールデータを持つサウンドオブジェクト(88)の音量データを成分に分割するとき、近接座標算出ステップ(36,S63)によって算出された座標データと集音方向データ(74b)とから、スピーカ(34a,34a)から出力する音の右側音量成分、左側音量成分およびサラウンド音量成分に分割する。つまり、少なくとも2つの座標データで定義されるレールデータをサウンドオブジェクトの音とみなして音源の発音数を低減するので、1つの座標データで表されるサウンドオブジェクトが複数存在する場合と同様に扱うことができる。
請求項の発明は、操作手段、オブジェクト記憶手段、画像表示制御手段、スピーカ、波形データ記憶手段、音発生位置データ記憶手段、サウンド出力制御手段、およびマイクデータ記憶手段を備えるゲーム装置のコンピュータによって実行されるゲームサウンド制御方法である。
操作手段は、プレイヤによる操作情報を入力する。オブジェクト記憶手段は、ゲーム画像を構成するオブジェクトを記憶している。画像表示制御手段は、操作手段によって入力されるプレイヤによる操作情報に基づいて少なくとも2つのオブジェクトを含むゲーム画像を表示する。スピーカは音を出力し、左右2つ備えられる。波形データ記憶手段は、ゲーム画像を構成する少なくとも2つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも1種類の波形データを記憶している。音発生位置データ記憶手段は、サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶している。サウンド出力制御手段は、少なくとも音の出力指示に従って、波形データを読み出して、音データを生成し、生成した音データを音としてスピーカから出力する。そして、マイクデータ記憶手段は、少なくともゲーム中に音を集音する位置を示す集音位置データと、集音する集音方向を示す集音方向データとを含むマイクデータを記憶している。
ゲームサウンド制御方法では、(a) サウンドオブジェクト毎に、音発生位置データと集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいてサウンドオブジェクトがそれぞれ発生する音の音量データを算出し、(b)集音方向データと音発生位置データとに基づいて各々のサウンドオブジェクトについての定位データを算出し、(c)ステップ(b)で算出した定位データに基づいて、各々のサウンドオブジェクトの音量データを、スピーカから出力する音の右側音量成分と左側音量成分とに分割し、(d)すべてのサウンドオブジェクトを同じ音を発生するオブジェクトに分類し、(e)同じ音を発生するオブジェクトについてステップ(c)で分割した右側音量成分および左側音量成分のうち、最大の右側音量成分および最大の左側音量成分を抽出し、当該オブジェクトの波形データと最大の右側音量成分および最大の左側音量成分とに基づいて、サウンド出力制御手段がスピーカから音を出力するためのデータを生成し、そして(f)サウンド出力制御手段に、音の出力指示とステップ(e)で生成したデータとを与える。
請求項9の発明は、プレイヤによる操作情報を入力するための操作手段を備え、操作手段の操作に応じてゲームを進行させて、少なくとも2つのオブジェクトを含むゲーム画面を表示するとともに、音を出力する左右2つのスピーカから、ゲーム画面に関連する音を発生するよう構成されたゲーム装置である。このゲーム装置は、波形データ記憶手段、発生位置データ記憶手段、サウンド出力制御手段、マイクデータ記憶手段、音量データ算出手段、定位算出手段、音量成分分割手段、オブジェクト分類手段、音出力データ生成手段、および出力指示手段をさらに備える。
請求項の発明および請求項の発明においても、請求項1の発明と同様に、音源の発音数を減らすことができるので、音源を効率的に使用することができる。
この発明によれば、同じ種類のサウンドオブジェクトについて、音の発生源を1つにまとめるので、音源を効率的に使用することができる。
また、この発明によれば、音の発生源を1つにまとめるときに、違和感無くまとめることができるので、音源を効率的に使用しながら、しかもプレイヤに違和感や不自然さを感じさせることがない。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1を参照して、この実施例のビデオゲームシステム10はビデオゲーム装置12を含む。ビデオゲーム装置12は、略立方体のハウジング14を含み、ハウジング14の上端に光ディスクドライブ16を備える。光ディスクドライブ16には、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク18が装着される。ハウジング14の前面には複数の(実施例では4つの)コネクタ20が備えられる。これらコネクタ20は、ケーブル24によって、コントローラ22をビデオゲーム装置12に接続するためのものであり、この実施例では最大4つのコントローラ22をビデオゲーム装置12に接続することができる。
コントローラ22は、その上面,下面,或いは側面などに、操作手段(コントロール)26を備える。操作手段26は,たとえば2つのアナログジョイスティック,1つの十字キー,複数のボタンスイッチ等を含む。1つのアナログジョイスティックは、スティックの傾き量と方向とによって、プレイヤキャラクタ(プレイヤがコントローラ22によって操作可能な動画キャラクタ)の移動方向および/または移動速度ないし移動量などを入力するために用いられる。他のアナログジョイスティックは、傾斜方向によって、仮想カメラの移動を制御する。十字スイッチは、アナログジョイスティックに代えてプレイヤキャラクタの移動方向を指示するために用いられる。ボタンスイッチは、プレイヤキャラクタの動作を指示するために利用されたり、3次元画像の仮想カメラの視点を切り換えたり、プレイヤキャラクタの移動スピード調節等に用いられる。ボタンスイッチは、さらに、たとえばメニュー選択やポインタあるいはカーソル移動を制御するのに用いられる。
ビデオゲーム装置12のハウジング14の前面のコネクタ20の下方には、少なくとも1つの(この実施例では2つの)メモリスロット28が備えられる。このメモリスロット28にはメモリカード30が挿入される。メモリカード30は、光ディスク18から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイしたゲームのゲームデータ(たとえばゲームの結果)を保存(セーブ)しておいたりするために利用される。
ビデオゲーム装置12のハウジング14の後面は、AVケーブルコネクタ(図示せず)を備え、そのコネクタを介して、AVケーブル32を通してビデオビデオゲーム装置12にモニタ34を接続する。このモニタ34は典型的にはカラーテレビジョン受像機であり、AVケーブル32は、ビデオゲーム装置12からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号が音声入力端子に入力される。したがって、カラーテレビ(モニタ)34の画面上にたとえば3次元(3D)ビデオゲームのゲーム画像が表示され、左右のスピーカ34aからゲーム音楽や効果音などのステレオゲーム音声、または2スピーカであってもサラウンド効果を出すことが可能な場合は、サラウンド音声を含むゲーム音声が出力される。
このゲームシステム10において、ユーザまたはゲームプレイヤがゲーム(または他のアプリケーション)をプレイするために、ユーザはまずゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくはプレイしたいと思う他のアプリケーション)をストアしている適宜の光ディスク18を選択し、その光ディスク18をゲーム装置12のディスクドライブ16にローディングする。応じて、ゲーム装置12がその光ディスク18にストアされているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはゲーム装置12に入力を与えるためにコントローラ22を操作する。たとえば、操作手段26のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。操作手段26の他のものを動かすことによって、動画キャラクタ(プレイヤキャラクタ)を異なる方向に移動させ、または3次元(3D)のゲーム世界におけるユーザの視点(カメラ位置)を変化させることができる。
図2は図1実施例のビデオゲームシステム10の電気的な構成を示すブロック図である。ビデオゲーム装置12は、中央処理ユニット(以下、「CPU」という。)36を含む。このCPU36は、コンピュータ或いはプロセサなどとも呼ばれ、ビデオゲーム装置12の全体的な制御を担当する。CPU36ないしコンピュータは、ゲームプロセサとして機能し、このCPU36には、バスを介して、メモリコントローラ38が接続される。メモリコントローラ38は主として、CPU36の制御の下で、バスを介して結合されるメインメモリ40の書込みや読出しを制御する。このメモリコントローラ38にはGPU(Graphics Processing Unit:グラフィックス処理装置) 42が接続される。
GPU42は、描画手段の一部を形成し、たとえばシングルチップASICで構成され、メモリコントローラ38を介してCPU36からのグラフィクスコマンド(graphics command :作画命令) を受け、そのコマンドに従って、ジオメトリユニット44およびレンダリングユニット46によって3次元(3D)ゲーム画像を生成する。つまり、ジオメトリユニット44は、3次元座標系の各種キャラクタやオブジェクト(複数のポリゴンで構成されている。そして、ポリゴンとは少なくとも3つの頂点座標によって定義される多角形平面をいう)の回転,移動,変形等の座標演算処理を行う。レンダリングユニット46は、各種オブジェクトの各ポリゴンにテクスチャ(Texture :模様画像)を貼り付けるなどの画像生成処理を行う。したがって、GPU42によって、ゲーム画面上に表示すべき3D画像データが作成され、その画像データ(テクスチャデータ)がフレームバッファ48内に描画(記憶)される。
なお、GPU42が作画コマンドを実行するにあたって必要なデータ(プリミティブまたはポリゴンやテクスチャ等)は、GPU42がメモリコントローラ38を介して、メインメモリ40にアクセスして取得する。
フレームバッファ48は、たとえばラスタスキャンモニタ34の1フレーム分の画像データを描画(蓄積)しておくためのメモリであり、GPU42によって1フレーム毎に書き換えられる。後述のビデオI/F58がメモリコントローラ38を介してフレームバッファ48のデータを読み出すことによって、モニタ34の画面上に3Dゲーム画像が表示される。
また、Zバッファ50は、フレームバッファ48に対応する画素(記憶位置またはアドレス)数×1画素当たりの奥行データのビット数に相当する記憶容量を有し、フレームバッファ48の各記憶位置に対応するドットの奥行き情報または奥行データ(Z値)を記憶する。
なお、フレームバッファ48およびZバッファ50は、ともにメインメモリ40の一部を用いて構成されてもよい。
メモリコントローラ38はまた、DSP(Digital Signal Processor)52を介して、ARAM54に接続される。したがって、メモリコントローラ38は、メインメモリ40だけでなく、サブメモリとしてのARAM54の書込みおよび/または読出しを制御する。
DSP52は、サウンドプロセサとして働き、メインメモリ40に記憶されたサウンドデータ(図3参照)にアクセスしたり、ARAM54に書き込まれている音波形データ(図6参照)にアクセスしたりして、ゲームに必要な音、音声或いは音楽に対応するオーディオデータを生成する。たとえば、この実施例では、DSP52は、後で詳細に説明する“松明”、“川”のようなサウンドオブジェクトが発生する音に対応するオーディオデータを、音波形データを用いて生成する。
メモリコントローラ38は、さらに、バスによって、各インタフェース(I/F)56,58,60,62および64に接続される。コントローラI/F56は、コントローラ22のためのインタフェースであり、コントローラ22の操作手段26の操作信号またはデータをメモリコントローラ38を通してCPU36に送る。ビデオI/F58は、フレームバッファ48にアクセスし、GPU42で作成した画像データを読み出して、画像信号または画像データ(ディジタルRGBピクセル値)をAVケーブル32(図1)を介してモニタ34に送る。
外部メモリI/F60は、ゲーム装置12の前面に挿入されるメモリカード30(図1)をメモリコントローラ38に接続する。それによって、メモリコントローラ38を介して、CPU36がこのメモリカード30にデータを書込み、またはメモリカード30からデータを読み出すことができる。オーディオI/F62は、メモリコントローラ38を通してDSP52から与えられるオーディオデータまたは光ディスク18から読み出されたオーディオストリームを、それらに応じたオーディオ信号(音声信号)としてモニタ34のスピーカ34aに送る。
なお、ステレオ音声の場合には、スピーカ34aは、少なくとも、左右1つずつ設けられる。また、サラウンド処理することで、左右2つのスピーカのみであっても後方から音が発生しているように音を聞かせることも可能である。
そして、ディスクI/F64は、そのディスクドライブ16をメモリコントローラ38に接続し、したがって、CPU36がディスクドライブ16を制御する。このディスクドライブ16によって光ディスク18から読み出されたプログラムデータやテクスチャデータ等が、CPU36の制御の下で、メインメモリ40に書き込まれる。
図3はメインメモリ40のメモリマップである。メインメモリ40は、プログラム領域70、オブジェクトデータ記憶領域72、マイクデータ記憶領域74およびサウンド出力制御データ記憶領域76を含む。プログラム記憶領域70には、光ディスク18から読み出したゲームプログラムが、1度にまたは部分的にかつ順次的に、記憶される。このゲームプログラムは、この実施例では、ゲームメイン処理プログラム70a、画像処理プログラム70bおよびサウンド制御処理プログラム70cなどによって構成される。
オブジェクトデータ記憶領域72には、たとえば、オブジェクトA(松明1)データ72a、オブジェクトB(松明2)データ72bおよびオブジェクトC(川1)データ72cのようなノンプレイヤオブジェクトについてのデータが光ディスク18から読み出されロードされる。図示は省略するが、さらに、プレイヤキャラクタオブジェクトデータや敵キャラクタオブジェクトデータのようなゲームキャラクタのデータやゲーム世界(マップ)のデータも記憶領域72にロードされる。
なお、オブジェクトAデータ72a、オブジェクトBデータ72bおよびオブジェクトCデータ72cなどの各オブジェクトデータは、ポリゴンによって形成される。
また、メインメモリ40には、上記各キャラクタおよびオブジェクト等のデータを光ディスク18から必要に応じてロードするようにしてもよい。
マイクデータ記憶領域74には、仮想カメラとともに設けられる仮想マイク86(図8参照)のゲーム世界における位置(集音位置)を示す座標データ(集音位置データ)74aおよび当該位置に対応して予め決定される仮想マイク86の集音方向を示す集音方向データ74bが光ディスク18から読み出されロードされる。
サウンド出力制御データ記憶領域76には、サウンドAデータ760およびサウンドBデータ762などのサウンドデータが記憶される。ただし、これらのサウンドデータは、後述するサウンド制御処理によって算出されたデータである。サウンドAデータ760は、この実施例では、“松明”についてのサウンドデータであり、定位データ760aおよび音量データ760bを含む。また、サウンドBデータ762は、この実施例では、“川”についてのサウンドデータであり、定位データ762aおよび音量データ762bを含む。定位データは、ゲーム世界上のオブジェクト(松明或いは川など)が音を発生する方向を示すデータであり、音量データは当該オブジェクト(松明或いは川など)が発生する音の音量を示すデータである。
なお、図示は省略するが、サウンド出力制御データ記憶領域76には、ゲームに必要な音、音楽および音声などのデータもロードされ書き込まれる。
また、サウンド制御処理プログラム70cは、図4に示すように、音量データ算出プログラム700、定位算出プログラム702、オブジェクト分類プログラム704、音量データ成分算出プログラム706、最大音量成分データ抽出プログラム708およびレールデータ近接座標算出プログラム710を含む。ただし、これらのプログラムは別個独立に実行されるのではなく、後述するように、一連の流れに沿って実行される(図14および図15参照)。
さらに、オブジェクトAデータ72a〜オブジェクトCデータ72cは、図5に示すように構成される。オブジェクトAデータ72aは、オブジェクトA(松明1)をモニタ34に表示するための画像表示用データ720および当該オブジェクトA(松明1)が発生する音をスピーカ34aから出力するためのサウンドデータ722を含む。
また、サウンドデータ722は、音指定データ722a、座標データ722b、音量データ722cおよび音優先順位データ722dを含む。音指定データ722aは、当該オブジェクトAが発生する音を出力する場合に、使用する音波形データをARAM54に記憶される複数の音波形データ(図6参照)から指定(選択)するためのインデックスデータである。座標データ722bは、当該オブジェクトAが存在するゲーム世界上の位置を示し、この実施例では、3次元座標で表される。
ただし、オブジェクトAは松明であり、このような松明はゲーム世界上の所定位置に配置されるため、したがって、この場合は座標データはサウンドオブジェクトの音の位置を示すこととなる。
音量データ722cは、当該オブジェクトAが発生する音の音量を示すデータである。また、音優先順位データ722dは、モニタ34の一画面に表示されるゲーム世界内に複数のオブジェクト(サウンドオブジェクト)が存在し、使用可能な音源の発音数、すなわちDSP52が使用可能な最大同時発音数を超えた場合に、当該サウンドオブジェクトを他のサウンドオブジェクトと比較して、音を発生するか否かを決定するためのデータである。つまり、音源の発音数が足りない場合には、優先順位の低いサウンドオブジェクトの音は発せられない。
オブジェクトBデータ72bは、画像表示用データ724およびサウンドデータ726を含む。オブジェクトB(松明2)は、オブジェクトA(松明1)と同じ種類のオブジェクトデータであるため、画像表示用データ724およびサウンドデータ726は、上述した内容と同じである。ただし、オブジェクトBは、オブジェクトAとはゲーム世界上の異なる位置に配置されるため、それに従って、サウンドデータ726の座標データ726b、音量データ726cおよび音優先順位データ726dの内容が異なる。
なお、音指定データ726aは、オブジェクトAとオブジェクトBとが同じ種類のサウンドオブジェクトであるため、音指定データ722aと同じデータである。
オブジェクトCデータ72cは、オブジェクトC(川1)をモニタ34に表示するための画像表示用データ728および当該オブジェクトC(川1)が発生する音をスピーカ34aから出力するためのサウンドデータ730を含む。また、サウンドデータ730は、オブジェクトAおよびオブジェクトBと同様に、音指定データ730a、座標データ730b、音量データ730cおよび音優先順位データ730dを含む。各データの内容は、オブジェクトAおよびオブジェクトBについてのデータと略同じであるが、オブジェクトCは“川”であり、使用する音波形データが松明とは異なるため、音指定データ730aの内容が異なる。また、このオブジェクトCでは、川の流れに沿うように、複数のサウンドオブジェクトの音が設けられるため、座標データ730bには複数の座標が記述される。つまり、少なくとも2つ以上の座標データで定義されるレールデータが記憶される。また、音量データ730には、当該レールデータによって決定されるレール(図12参照)のそれぞれに対応する音量データが記憶される。
また、上述したような音波形データは、音波形データ記憶領域、この実施例では、サブメモリとしてのARAM54に光ディスク18からロードされ書き込まれる。図6に示すように、たとえば、ARAM54には、松明の燃える音についての音波形Aデータ54a、川の流れる音についての音波形Bデータ54bおよび波の音についての音波形Cデータ54cなどが記憶される。図示は省略するが、他のサウンドオブジェクトについての音波形データも記憶される。DSP52は、CPU36の指示の下、音波形データ54a,54b,54c,…のいずれか1つ或いは2つ以上にアクセスして、サウンドオブジェクトが発生する音のオーディオデータを生成する。生成されたオーディオデータは、オーディオI/F62でオーディオ信号に変換された後、スピーカ34aに出力される。
図7には、モニタ34にゲーム画面80が表示され、当該ゲーム画面80が表示される場合において、左右のスピーカ34aおよびサラウンドスピーカから出力されるサウンドオブジェクトの音(松明が燃える音)の大きさが模式的に示される。ただし、この図7に示す例では、3つの松明をそれぞれサウンドオブジェクトとして用いて音を出力した場合について示してある。また、プレイヤないしユーザは、ゲーム画面80(モニタ34)の正面であり、左右のスピーカ34aとサラウンドスピーカによって囲まれるように位置する。
ゲーム画面80では、プレイヤオブジェクト82は、画面中央の下側に配置され、プレイヤに対して背を向けるように立っている。このプレイヤオブジェクト82の後方に松明84aが配置され、プレイヤオブジェクト82の左斜め前に松明84bが配置され、そして、プレイヤオブジェクト82の右斜め前方に松明84cが配置される。また、ゲーム画面80の奥行き方向のみについて考えると、一番手前に松明84aが配置され、その次に松明84bが配置され、一番奥に松明84cが配置される。さらに、ゲーム画面80の横方向(幅方向)のみについて考えると、ゲーム画面80の右側に松明84aが配置され、ゲーム画面80の左側に松明84bが配置され、ゲーム画面80の略中央に松明84cが配置される。
このようなゲーム画面80は、ゲーム世界で移動可能に設けられる仮想カメラで撮影した映像(画像)に基づいて生成およびモニタ34に描画(表示)される。図8に示すように、ゲーム世界では、プレイヤオブジェクト82、松明84a〜84cおよび仮想マイク86は、それぞれ、3次元座標で互いの位置関係が表わされる。これは、上述したオブジェクトデータに含まれる座標データ(図5)によって決定される。たとえば、プレイヤオブジェクト82は、3次元座標(xp,yp,zp)で示される位置に存在する。また、松明84a、松明84bおよび松明84cは、それぞれ、3次元座標(x1,y1,z1)、(x2,y2,z2)および(x3,y3,z3)で示される位置に存在する。さらに、仮想マイク86は、3次元座標(xm,ym,zm)で示される位置に存在する。
なお、図面の都合上、仮想カメラは図示していないが、この実施例では、仮想マイク86と同じ位置に存在する。
上述したように、ゲーム画面80は仮想カメラで撮影した映像(画像)をモニタ34に表示するのであるが、ゲーム世界のワールド座標系を3次元のカメラ座標に変換することにより、仮想カメラの撮影方向についての画像を表示するようにしてある。
つまり、図9に示すように、仮想カメラの撮影方向すなわち仮想マイク86の集音方向は、プレイヤキャラクタ82と仮想マイク86とを結ぶ線上に決定され、当該線をZ′軸に決定する。ただし、仮想マイク86の集音方向は、上述したようなマイクデータ記憶領域74に記憶される座標データ74aに対応して記憶される集音方向データ74bによって決定される。また、Z′軸を仮想マイク86の位置を中心に右回りに90度回転させた軸をX′軸に決定する。次いで、図10に示すように、仮想マイク86の位置が原点位置(0,0,0)となり、Z′軸およびX′軸が、それぞれ、Z軸およびX軸に重なるように、座標変換が行われる。具体的には、図9に示した仮想マイク86の位置を原点位置に平行移動した後、Z′軸およびX′軸がZ軸およびX軸のそれぞれに重なるように、原点を中心に仮想カメラで撮影されるゲーム世界を回転すればよい。このようにして、図7に示したようなゲーム画像80がモニタ34に表示される。
また、図7に示したようなゲーム画面80が表示されている場合には、ゲームのBGMやサウンドオブジェクトが発生する音(松明が燃える音)が左右のスピーカ34aおよびサラウンドスピーカから出力される。ただし、図7においては、簡単に説明するために、松明が燃える音の音量についてのみ模式的に示し、BGMのようなサウンドオブジェクトが発生する音以外の音の音量については省略してある。
ここで、スピーカ34から出力される音の大きさを、大、中および小の3段階で表すと、松明84aの燃える音については、右のスピーカ34aの音量が大きく、左のスピーカ34aの音量が中くらいであり、そして、サラウンドスピーカの音量は小さい。また、松明84bの燃える音については、右のスピーカ34aの音量が小さく、左のスピーカ34aの音量およびサラウンドスピーカの音量が中くらいである。さらに、松明84cの燃える音については、右のスピーカ34aの音量および左のスピーカ34aの音量が小さく、サラウンドスピーカの音量が大きい。
したがって、図7に示すように、松明84aが燃える音は、右のスピーカ34aとサラウンドスピーカとの間で大きい音量で聞こえるように出力される。また、松明84bが燃える音は、左のスピーカ34aとサラウンドスピーカとの間で中くらいの音量で聞こえるように出力される。さらに、松明84cが燃える音は、左右のスピーカ34aの略中央で小さい音量で聞こえるように出力される。
なお、図1においては、サラウンドスピーカは省略してあるが、サラウンドスピーカは別途設けるようにしてもよく、また、左右のスピーカ34aの音量および定位を調整することにより、仮想のサラウンドスピーカが設けられるようにしてもよい。後者の場合には、特開2000−93579号公報に開示された構成および方法を採用することができる。
このように、ゲーム画面80上に表示されるサウンドオブジェクトのそれぞれに対応して音源から音を出力する場合には、図10に示したように、3次元のカメラ座標に変換した後の原点を中心として、Z軸から回転角度によって集音方向が決定され、また原点とサウンドオブジェクトとの距離によって出力する音(各サウンドオブジェクトを鳴らす場合の音)の音量が決定される。しかし、ゲーム装置12では、ゲーム中のBGMや効果音などの音(音楽)も鳴らす必要があるため、ゲーム画面80上に多数のサウンドオブジェクトが存在する場合には、使用可能な音源の発音数すなわちDSP52が使用可能な最大同時発音数を超えてしまう。
かかる場合には、たとえば、優先順位データ(図5参照)に従って音を出力しないサウンドオブジェクトを決定することも考えられるが、図7に示したように、左右に松明が存在する場合に、一方の松明の音が出力されなくなるのは、違和感がある。また、重要な音でなくても、それが出力されないことにより、ゲームの臨場感を消失してしまうこともある。
そこで、この実施例では、同じ種類のサウンドオブジェクトがゲーム画面80に複数存在する場合には、音源において1つの発音だけで音を出力するようにして、使用する音源を節約するようにしてある。つまり、音源を効率的に使用するようにしてある。
具体的に言うと、ゲーム画面80に存在するすべてのサウンドオブジェクトについて、それぞれの座標(3次元座標)に基づいて、原点位置との距離および音の発生方向(Z軸となす角)すなわち定位を、数1および数2のそれぞれに従って算出する。ただし、後述するように、原点との距離を用いて音量(データ)を算出するが、当該音量を求める場合には、Y軸成分は無視してよいので、数1においては、X成分とZ成分とに基づいて距離を算出するようにしてある。
[数1]
距離DP=√{(XP)2 +(ZP)2 }
ただし、P=1,2,3,…,m,…,pである。
[数2]
発生方向(定位)θ=sin-1(|XP|/DP)
=cos-1(|ZP|/DP)
ただし、|・|は絶対値を意味し、XPおよびZPはサウンドオブジェクトの座標に含まれる数値であり、DPは数1で求めた距離である。
次いで、数1を用いて算出した距離に基づいて当該サウンドオブジェクトについて鳴らす音量(データ)VPが数3に従って算出される。
[数3]
音量VP=(1−(DP/VD))×Vo
ただし、DPは数1で求めた距離であり、VDは音が聞こえなくなる距離であり、Voは当該サウンドオブジェクトの音量(データ)の初期値である。ここで、VDは当該ゲームのプログラマ或いは開発者によって予め決定される値である。また、Voは図5に示した音量データ722c、音量データ726cおよび音量データ730c等によって予め決定される音量の初期値である。
このようにして、各サウンドオブジェクトを鳴らす場合の定位データおよび音量データが算出されるのである。続いて、同じ音を発生するサウンドオブジェクト毎に、サウンドオブジェクトを分類する。また、各サウンドオブジェクトについて算出した音量データと定位データとから、スピーカ34aから出力する音の音量の各成分、この実施例では、L(左側音量成分)、R(右側音量成分)およびサラウンド(以下、「SR」という。)成分を算出する。次に、同じ音を発生するサウンドオブジェクトの中から、L、RおよびSR成分のそれぞれについて最大値を選択する。続いて、選択したL、RおよびSR成分の最大値から、DSP52が出力する音の音量および定位を処理する。そして、処理した音量および定位に基づいて音がスピーカ34a,34bから出力される。
つまり、図10に示した例では、松明84a、松明84bおよび松明84cを1つにまとめた仮想の松明を求めて、当該仮想の松明が燃える音を出力していると考えることができる。このように、仮想の松明を求めるようにした場合であっても、当該松明が燃える音はゲームの臨場感を出すために出力される音であるため、プレイヤないしユーザはさほど違和感を覚えることはない。
また、上述の例では、1つのサウンドオブジェクトの音が複数存在する場合について説明したが、サウンドオブジェクトとしては川や波のように1つのオブジェクトで複数の点音源が含まれるものも存在する。このようなサウンドオブジェクトも、同じ種類のサウンドオブジェクト(音源)が複数存在するものと考えることができる。
たとえば、図11に示すようなゲーム画面80が表示される場合には、図9および図10を用いて説明した場合と同様にして、ゲーム世界のワールド座標系がカメラ座標に変換される。このゲーム画面80では、プレイヤオブジェクト82および“川”のようなサウンドオブジェクト88が表示される。
また、図12に示すように、“川”のようなサウンドオブジェクト88では、サウンドオブジェクトの音の位置はいわゆるレールデータで表される。この図12から分かるように、川の両側に直線(線分)或いは折れ線(複数の線分が連結される曲線)で示される複数のレール92,94,96,98,100,102,104が設定され、レール92〜104のそれぞれは、座標データが示す座標を結んだ直線(線分)上のいずれかの点から音を発生する点のサウンドオブジェクトとして定義される。たとえば、仮想マイク86の存在する位置(集音位置)とレールとの近接点、つまりレール上の点であり仮想マイク86の座標(点)と最も距離が短い点がサウンドオブジェクトの位置に決定され、当該サウンドオブジェクトと仮想マイク86との距離に応じて、当該サウンドオブジェクトを鳴らす音の音量が計算される。
しかし、上述したように、使用可能な最大同時発音数を超える場合には、優先順位に従って鳴らさないサウンドオブジェクトの音が決定されるため、音が欠けてしまい、したがって、臨場感を消失したり、違和感を覚えたりしてしまう。
このため、松明のようなサウンドオブジェクトの音と同様に、仮想のサウンドオブジェクトを求めて、音源において1つの発音だけで音を出力するようにしてある。
まず、点のサウンドオブジェクトの位置を決定するために、上述したように、仮想マイク86との近接点がレール92〜104のそれぞれについて求められる。具体的には、レールに直交する、かつ、原点を通る直線が存在するか否かをレール92〜104のそれぞれについて求める。このような直線が存在する場合には、当該直線とレールとが直交する点(レール上の点)に1つの位置が決定される。つまり、1つのサウンドオブジェクトが定義される。ただし、レール94、98、102および104のように、2つ以上の線分が連結された曲線でレールが構成される場合には、1つのレール上に存在するサウンドオブジェクトの位置のうち、原点との距離が一番短いサウンドオブジェクトの位置を含む線分についてのみ、上述したような直線が存在するか否かが求められる。一方、線分に直交し、かつ、原点を通る直線が存在しない場合には、レールデータとしての座標データが示す座標と原点との距離が算出され、一番距離が短い点(座標)がサウンドオブジェクトの位置に決定される。
なお、図12においては、分かり易くするために、選出されたサウンドオブジェクトの位置に白△印を付してある。
また、距離の計算は、数1で示した場合と同様に、原点の座標とレールデータとしての座標データが示す座標とから簡単に求めることができる。
ただし、各レールに直交し、かつ、原点を通る直線を算出するなどの処理を実行するのは煩雑であるため、そのような直線が存在しない場合と同様に、レールデータとしての座標データが示す座標(点)のうち、仮想マイク86の座標(点)との距離が一番短い座標(点)にサウンドオブジェクトの位置を決定するようにしてもよい。かかる場合には、レールデータとしての座標データが示す座標(点)と仮想マイク86の座標(点)との距離を計算するだけなので、処理負担を軽減することができる。
このようにして、レール92〜104のそれぞれからサウンドオブジェクトが選出されると、選出されたサウンドオブジェクトのそれぞれについて、算出した距離を用いて数3に従って当該サウンドオブジェクトの音を鳴らす音量データを計算し、また、選出されたサウンドオブジェクトの位置の3次元座標と算出した距離を用いて数2に従って定位データを算出する。次に、算出した音量データと定位データとから、各サウンドオブジェクトの音の位置についてのL,RおよびSR成分を算出し、算出した結果からL,RおよびSRの最大値を選択する。続いて、選択したL,RおよびSR成分の最大値から音量と定位とを算出する。つまり、“川”のようなサウンドオブジェクトについての仮想のサウンドオブジェクトの音の位置、音源を用いて出力する音の音量および定位が決定される。そして、決定された音量と定位とに基づいて音源から音が出力される。
上述したような動作は、図2に示したCPU36によって、図13〜図16に示すようなフロー図に従って処理される。光ディスク18がゲーム装置12のディスクドライブ16にローディングされると、図13に示すように、CPU36はゲーム処理を開始し、ステップS1で光ディスク18からプログラム(ゲームメイン処理プログラム、画像処理プログラムおよびサウンド制御処理プログラムなど)およびデータ(オブジェクトデータおよびマイクデータ等)をメインメモリ40にロードする。続くステップS3では、ゲームに必要な音波形データをARAM54にロードする。
ステップS5では、入力があるかどうかを判断する。つまり、コントローラ22からの入力があるかどうかを判断する。ステップS5で“NO”であれば、つまりコントローラ22からの入力がなければ、そのままステップS11に進んで、オブジェクト描画処理、厳密には敵キャラクタの描画処理などを実行する。一方、ステップS5で“YES”であれば、つまりコントローラ22からの入力があれば、ステップS7においてそのコントローラ入力に応じてプレイヤキャラクタの動作処理を実行する。プレイヤないしユーザは、図7に示したようなゲーム画面82において、プレイヤキャラクタ82の位置を変更する場合には、コントローラ22の操作手段26(図1)のうち、アナログジョイスティック(または3Dジョイスティック)を操作する。したがって、CPU36は、このステップS7では、たとえばジョイスティックの傾斜方向および傾斜量のデータをコントローラI/F56から受けて、そのデータに基づいて、プレイヤキャラクタ82の位置をワールド座標系において変更する。
続くステップS9では、カメラ処理(マイク処理)を実行する。つまり、ステップS7において更新されたプレイヤキャラクタの位置に応じて、ワールド座標系での仮想カメラ(仮想マイク86)の位置を更新する。次にステップS11では、オブジェクト描画処理を実行する。つまり、CPU36は、上述したプレイヤキャラクタやサウンドオブジェクトなどの位置(3次元位置)を仮想カメラすなわち仮想マイク86を基準位置(原点位置)とする3次元のカメラ座標系に変換する。そして、3次元のカメラ座標系を2次元の投陰平面座標系に変換するとともに、テクスチャの指定やクリッピング(clipping:不可視世界の切り取り)等も併せて実行する。その後、ゲーム画像の生成処理によってゲーム画像が生成され、ゲーム画面をモニタ34(図1)に表示する。つまり、CPU36がビデオI/F58に指令を与え、応じて、ビデオI/F58がフレームバッファ48(図2)にアクセスする。したがって、フレームバッファ48からモニタ34に表示すべき画像データが読み出され、ゲーム画像(ゲーム画面)が表示される。
なお、この実施例では、ゲーム画像の生成処理についての詳細な説明は省略する。
続くステップS13では、後で詳細に説明するサウンド制御処理を実行する。次いで、ステップS15では、その他のゲーム処理を実行する。その他のゲーム処理としては、ゲームの進行によって発生したゲームデータのバックアップ(セーブ)処理などが該当する。たとえば、ゲームの進行に従って、ゲームデータがメインメモリ40のワーク領域(図示せず)に書き込まれ、ゲームデータは逐次更新される。そして、プレイヤないしユーザの指示や所定のイベントに従って、バックアップ処理が実行されると、メインメモリ40のワーク領域に書き込まれているゲームデータが外部メモリI/F60を介してメモリカード30に記憶される(図2)。
そして、ステップS17では、ゲーム終了かどうかを判断する。ステップS17で“NO”であれば、つまりゲーム終了でなければ、そのままステップS5に戻る。一方、ステップS17で“YES”であれば、つまりゲーム終了であれば、そのままゲーム処理を終了する。
図14に示すように、サウンド制御処理が開始されると、CPU36は、ステップS21でオブジェクトの座標データを取得する。つまり、ゲーム画面80に表示されるサウンドオブジェクトについての座標データをメインメモリ40のオブジェクトデータ記憶領域72(図3、図5)から取得する。次にステップS23では、図9および図10を用いて説明したように、仮想マイク86の位置を原点として座標変換を行う。ただし、上述したように、ステップS11のオブジェクト描画処理において、同様の座標変換を行っているため、その結果を利用するようにしてもよい。
続くステップS25では、サウンドオブジェクトの座標データがレールデータであるかどうかを判断する。つまり、オブジェクトデータ記憶領域72に記憶されるオブジェクトデータに複数の座標データが記述されているか否かを判断する。ただし、サウンドオブジェクトの位置のデータ或いはレールデータの別を示すラベルをオブジェクト毎に付しておき、当該ラベルで判別できるようにしておいてもよい。
ステップS25で“NO”であれば、つまりレールデータでなければ、そのままステップS29に進むが、“YES”であれば、つまりレールデータであれば、ステップS27で後述するレールデータ処理を実行してからステップS29に進む。
ステップS29では、最初のオブジェクトの座標データを検索する。ただし、検索するオブジェクトの順番は、CPU36が任意に決定している。続くステップS31では、当該オブジェクトの座標データから数1に従って距離を求めて、当該距離を用いて、数3に従って当該オブジェクトを鳴らす音の音量データを算出する。次に、ステップS33では、当該オブジェクトの座標データおよび数1で求めた距離を用いて、数2に従って音の発生方向を算出する。つまり、定位データが算出される。そして、ステップS35では、すべてのオブジェクトについて音量データと定位データとの算出処理を終了したかどうかを判断する。
ステップS35で“NO”であれば、つまりすべてのオブジェクトについて音量データと定位データとの算出処理を終了していなければ、ステップS37で次のオブジェクトの座標データを検索してから、ステップS31に戻る。一方、ステップS35で“YES”であれば、つまりすべてのオブジェクトについて音量データと定位データとの算出処理を終了すれば、図15に示すステップS39で、オブジェクトを分類して、音源の発音を一本化する(音源において発音を1つにまとめる)オブジェクトを特定する。つまり、松明のようなサウンドオブジェクトが複数存在する場合や川のようなサウンドオブジェクトが存在する場合には、当該ステップS39で、音源の発音を1つにまとめるべきオブジェクトが特定される。
続くステップS41では、特定したオブジェクトの分類に含まれる1番目のオブジェクトについて、S31およびS33おいて算出した音量データと定位データとを取得する。ただし、取得するオブジェクトの順番は、CPU36が任意に決定している。続くステップS43では、取得した音量データと定位データとを用いて、L,R,SR成分を算出する。次いで、ステップS45では、一本化するオブジェクトについてすべて終了したかどうかを判断する。つまり、ステップS39において特定したオブジェクトの分類に含まれるすべてのオブジェクトについて、L,R,SR成分を算出したかどうかを判断する。
ステップS45で“NO”であれば、つまりすべてのオブジェクトについてのL,R,SR成分の算出を終了していなければ、ステップS47で次のオブジェクトを検索して、ステップS43に戻る。一方、ステップS45で“YES”であれば、つまりすべてのオブジェクトについてのL,R,SR成分の算出を終了すれば、ステップS49で算出したすべてのオブジェクトについてのL,R,SR成分からそれぞれの最大値を選択する。
続くステップS51では、選択したL,R,SR成分のそれぞれの最大値からスピーカ34a,34bから出力する音の音量と定位をDSP52が処理する。言い換えると、仮想の1つのサウンドオブジェクトを特定して、当該サウンドオブジェクトの音量と定位とを処理するのである。そして、ステップS53では、ステップS51において処理した音量データおよび定位データとに基づいてサウンド(音)をスピーカ34a,34bから出力する。つまり、CPU36は、DSP52に対して音の出力制御の指示を与えるとともに、音量データおよび定位データからL、RおよびSR成分を算出して、算出結果をDSP52に与える。これに応じて、DSP52は、該当する音波形データをARAM54から読み出し、L、RおよびSR成分の算出結果に従って音データを生成する。そして、DSP52は、生成した音データをオーディオI/F62に与える。したがって、アナログ信号に変換された音信号がスピーカ34aから出力される。
ただし、一本化するオブジェクトの種類が複数存在する場合には、その数に応じてステップS41からS53の処理が繰り返される。
なお、一度算出された音量データおよび定位データは、ゲーム世界における仮想カメラ(仮想マイク86)の3次元座標に対応づけられて、図3を用いて説明したように、メインメモリ40のサウンド出力制御データ記憶領域76に記憶される。たとえば、メインメモリ40への書込処理は、図13に示したステップS15のその他のゲーム処理で実行すればよい。したがって、次回以降、同じ位置に仮想マイク86が存在する場合には、図14および図15に示したサウンド制御処理を実行することなく、メインメモリ40を参照して、同じ種類の複数のサウンドオブジェクト或いは複数の音源の発音を要するサウンドオブジェクトについての音を、音源の発音1つだけを用いて容易に出力することができる。
また、この実施例では、同じ種類の複数のサウンドオブジェクトが発生する音を音源の1つの発音で出力するようにしたため、L、RおよびSR成分の最大値を取得した後に、それらを用いて音量データおよび定位データを算出するようにしてあるが、取得した最大値をDSP52にそのまま与える(転送する)ようにしてもよい。このようにしても、同じ種類の複数のサウンドオブジェクトが発生する音を1つにまとめることができるので、使用する音源の発音数を低減することができる。
図16に示すように、レールデータ処理が開始されると、ステップS61でオブジェクトの座標リストを取得する。つまり、複数の3次元座標データを取得する。そして、ステッS63では、各レールから原点との距離が最も小さくなる点、すなわち原点と最も接近する点の座標を算出する。つまり、各レールをサウンドオブジェクトに置き換える。
なお、上述のゲーム処理では、プレイヤキャラクタの位置が更新された場合に、サウンド制御処理を実行するようにしたが、たとえばコントローラ22の操作手段26のうち、たとえばボタンスイッチを操作することにより、3次元画像の仮想カメラの視点を切り換えた場合にも、カメラ処理(マイク処理)およびオブジェクト描画処理を経て、サウンド制御処理を実行するようにしてもよい。
この実施例によれば、同じ種類の複数のオブジェクトの音を音源の1つの発音で出力するので、音源を節約することができる。すなわち、音源を効率的に使用できる。しかも、優先順位にしたがって音源を削除することもないので、ゲームの臨場感を低減してしまうことはない。
なお、この実施例では、同じ種類の複数のサウンドオブジェクトが存在する場合には、それらを音源における発音が1つになるようにまとめて、音源を節約するようにしてあるが、音源を節約した場合であっても、使用可能な音源の発音数を超えてしまうような場合には、サウンドオブジェクトのデータに含まれる優先順位データ(図5参照)に従って、出力しないサウンドオブジェクトの音が決定される。ただし、上述のようにして、音源の発音を1つにまとめたサウンドオブジェクトの優先順位は高く設定され、当該音については必ず出力されるようにしてある。
また、この実施例では、音源の発音数に拘わらず、同じ種類の音を発するサウンドオブジェクトが存在する場合には、それらを1つにまとめるようにしたが、サウンドオブジェクトの数が一定数を超えた場合にのみ、同じ種類の音を音源においての1つの発音にまとめるようにしてもよい。
さらに、この実施例では、図1に示したようなビデオゲーム装置についてのみ説明したが、モニタに表示されるサウンドオブジェクトが発生する音を、音波形データを用いてDSPのようなサウンドプロセサによって生成するような他のゲーム装置または携帯ゲーム機或いはDVDプレイヤなどにも適用可能なことは言うまでもない。
さらにまた、この実施例では、左右のスピーカのみ、またはさらにサラウンドスピーカを設けた場合について説明したが、スピーカは少なくとも2方向についての音を出力するために2つ設ければよく、また4つ以上設けるようにしてもよい。また、音量データの成分を計算する場合には、上述の実施例で示したとおり、スピーカの個数に応じて算出するのが望ましい。
また、この実施例では、サウンドオブジェクトとしては、松明、川、波についてのみ説明したが、サウンドオブジェクトはこれらに限定される必要はない。
この発明のゲームシステムの一例を示す図解図である。 図1実施例に示すビデオゲーム装置の電気的な構成を示すブロック図である。 図2に示すメインメモリのメモリマップを示す図解図である。 図3に示すサウンド制御プログラムの構成を示す図解図である。 図3に示すオブジェクトデータ記憶領域に記憶されるデータを示す図解図である。 図2に示すARAMに記憶されるサウンドオブジェクトの音波形データを示す図解図である。 図1実施例のゲームシステムにおいてモニタに表示されるゲーム画面の一例および当該ゲーム画面についてスピーカから出力されるサウンドオブジェクトの音の大きさを模式的に示した図解図である。 図7に示すゲーム画面に対応するゲーム世界の3次元座標(カメラ座標)を示す図解図である。 図7に示すゲーム画面に対応するゲーム世界の3次元座標(カメラ座標)を示す図解図である。 図7に示すゲーム世界の3次元座標を描画座標に変換した変換後の3次元座標を示す図解図である。 図1実施例のゲームシステムにおいてモニタに表示されるゲーム画面の他の一例を示す図解図である。 図11に示すゲーム画面に表示されるサウンドオブジェクトの音源を示す図解図である。 図2に示すCPUのゲーム処理の一例を示すフロー図である。 図2に示すCPUのサウンド制御処理の一部を示すフロー図である。 図2に示すCPUのサウンド制御処理の他の一部を示すフロー図である。 図2に示すCPUのレールデータ処理を示すフロー図である。
符号の説明
10 …ゲームシステム
12 …ゲーム装置
18 …光ディスク
22 …コントローラ
34 …モニタ
34a …スピーカ
36 …CPU
38 …メモリコントローラ
40 …メインメモリ
42 …GPU
54 …ARAM
62 …オーディオI/F

Claims (12)

  1. プレイヤによる操作情報を入力するための操作手段、
    ゲーム画像を構成するオブジェクトを記憶したオブジェクト記憶手段、
    前記操作情報に基づいて少なくとも2つの前記オブジェクトを含むゲーム画像を表示する画像表示制御手段、
    音を出力する、左右2つのスピーカ、
    前記ゲーム画像を構成する前記少なくとも2つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも1種類の波形データを記憶した波形データ記憶手段、
    前記サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶した音発生位置データ記憶手段、
    少なくとも音の出力指示に従って、前記波形データを読み出して、音データを生成し、生成した音データを音として前記スピーカから出力するサウンド出力制御手段、および
    少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データとを含むマイクデータを記憶したマイクデータ記憶手段を備えるゲーム装置のゲームサウンド制御プログラムであって、
    当該ゲーム装置のプロセサに、
    前記サウンドオブジェクト毎に、前記音発生位置データと前記集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいて前記サウンドオブジェクトがそれぞれ発生する音の音量データを算出する音量データ算出ステップ、
    前記集音方向データと前記音発生位置データとに基づいて各々の前記サウンドオブジェクトについての定位データを算出する定位算出ステップ、
    前記定位算出ステップによって算出された定位データに基づいて、前記各々のサウンドオブジェクトの音量データを、前記スピーカから出力する音の右側音量成分と左側音量成分とに分割する音量成分分割ステップ、
    すべての前記サウンドオブジェクトを同じ音を発生するオブジェクトに分類するオブジェクト分類ステップ、
    前記同じ音を発生するオブジェクトについて前記音量成分分割ステップによって分割された前記右側音量成分および前記左側音量成分のうち、最大の右側音量成分および最大の左側音量成分を抽出し、当該オブジェクトの波形データと前記最大の右側音量成分および前記最大の左側音量成分とに基づいて、前記サウンド出力制御手段が前記スピーカから音を出力するためのデータを生成する音出力データ生成ステップ、および
    前記サウンド出力制御手段に、音の出力指示と前記音出力データ生成ステップによって生成したデータとを与える出力指示ステップ、を実行させる、ゲームサウンド制御プログラム。
  2. 前記音出力データ生成ステップは、前記最大の右側音量成分および前記最大の左側音量成分を、そのまま、出力する音の右側音量成分および左側音量成分とする、請求項1記載のゲームサウンド制御プログラム。
  3. プレイヤによる操作情報を入力するための操作手段、
    ゲーム画像を構成するオブジェクトを記憶したオブジェクト記憶手段、
    前記操作情報に基づいて少なくとも2つの前記オブジェクトを含むゲーム画像を表示する画像表示制御手段、
    音を出力する、左右2つのスピーカ、
    前記ゲーム画像を構成する前記少なくとも2つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも1種類の波形データを記憶した波形データ記憶手段、
    前記サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶した音発生位置データ記憶手段、
    少なくとも音の出力指示に従って、前記波形データを読み出して、音データを生成し、生成した音データを音として前記スピーカから出力するサウンド出力制御手段、および
    少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データとを含むマイクデータを記憶したマイクデータ記憶手段を備えるゲーム装置のゲームサウンド制御プログラムであって、
    当該ゲーム装置のプロセサに、
    前記サウンドオブジェクト毎に、前記音発生位置データと前記集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいて前記サウンドオブジェクトがそれぞれ発生する音の音量データを算出する音量データ算出ステップ、
    前記集音方向データと前記音発生位置データとに基づいて各々の前記サウンドオブジェクトについての定位データを算出する定位算出ステップ、
    前記定位算出ステップによって算出された定位データに基づいて、前記各々のサウンドオブジェクトの音量データを、前記スピーカから出力する音の右側音量成分、左側音量成分およびサラウンド音量成分に分割する音量成分分割ステップ、
    すべての前記サウンドオブジェクトを同じ音を発生するオブジェクトに分類するオブジェクト分類ステップ、
    前記同じ音を発生するオブジェクトについて前記音量成分分割ステップによって分割された前記右側音量成分、前記左側音量成分および前記サラウンド音量成分のうち、最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分を抽出し、当該オブジェクトの波形データと前記最大の右側音量成分、前記最大の左側音量成分および前記最大のサラウンド音量成分とに基づいて、前記サウンド出力制御手段が前記スピーカから音を出力するためのデータを生成する音出力データ生成ステップ、および
    前記サウンド出力制御手段に、音の出力指示と前記音出力データ生成ステップによって生成したデータとを与える出力指示ステップ、を実行させる、ゲームサウンド制御プログラム。
  4. 前記音発生位置データは、1つの座標データで表されるサウンドオブジェクトの位置データおよび少なくとも2つの座標データで定義されたレールデータにより表される、レールデータを持つサウンドオブジェクトの位置データを含み、
    前記レールデータを持つサウンドオブジェクトについて、前記レールデータを表す座標を結ぶ線分上であり、かつ、前記集音位置データに最も接近する位置の座標データを算出する近接座標算出ステップ、
    前記音量データ算出ステップは、前記レールデータを持つサウンドオブジェクトの音量データを算出するとき、前記近接座標算出ステップによって算出された座標データと前記集音位置データとから当該サウンドオブジェクトの音量データを算出し、
    前記音量成分分割ステップは、前記近接座標算出ステップによって算出された座標データと前記集音位置データとから、前記スピーカから出力する音の右側音量成分左側音量成分およびサラウンド音量成分のそれぞれに音量データを分割する、請求項3記載のゲームサウンド制御プログラム。
  5. プレイヤによる操作情報を入力するための操作手段、
    ゲーム画像を構成するオブジェクトを記憶したオブジェクト記憶手段、
    前記操作情報に基づいて少なくとも2つの前記オブジェクトを含むゲーム画像を表示する画像表示制御手段、
    音を出力する、左右2つのスピーカ、
    前記ゲーム画像を構成する前記少なくとも2つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも1種類の波形データを記憶した波形データ記憶手段、
    前記サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶した音発生位置データ記憶手段、
    少なくとも音の出力指示に従って、前記波形データを読み出して、音データを生成し、生成した音データを音として前記スピーカから出力するサウンド出力制御手段、および
    少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データを含むマイクデータを記憶したマイクデータ記憶手段を備えるゲーム装置のゲームサウンド制御方法であって、
    (a) 前記サウンドオブジェクト毎に、前記音発生位置データと前記集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいて前記サウンドオブジェクトがそれぞれ発生する音の音量データを算出し、
    (b)前記集音方向データと前記音発生位置データとに基づいて各々の前記サウンドオブジェクトについての定位データを算出し、
    (c)前記ステップ(b)で算出した定位データに基づいて、前記各々のサウンドオブジェクトの音量データを、前記スピーカから出力する音の右側音量成分と左側音量成分とに分割し、
    (d)すべての前記サウンドオブジェクトを同じ音を発生するオブジェクトに分類し、
    (e)前記同じ音を発生するオブジェクトについて前記ステップ(c)で分割した前記右側音量成分および前記左側音量成分のうち、最大の右側音量成分および最大の左側音量成分を抽出し、当該オブジェクトの波形データと前記最大の右側音量成分および前記最大の左側音量成分とに基づいて、前記サウンド出力制御手段が前記スピーカから音を出力するためのデータを生成し、そして、
    (f)前記サウンド出力制御手段に、音の出力指示と前記ステップ(e)で生成したデータとを与える、ゲームサウンド制御方法。
  6. 前記ステップ(e)は、(e-1)前記最大の右側音量成分および前記最大の左側音量成分を、そのまま、出力する音の右側音量成分および左側音量成分とするステップを含む、請求項5記載のゲームサウンド制御方法。
  7. プレイヤによる操作情報を入力するための操作手段、
    ゲーム画像を構成するオブジェクトを記憶したオブジェクト記憶手段、
    前記操作情報に基づいて少なくとも2つの前記オブジェクトを含むゲーム画像を表示する画像表示制御手段、
    音を出力する、左右2つのスピーカ、
    前記ゲーム画像を構成する前記少なくとも2つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも1種類の波形データを記憶した波形データ記憶手段、
    前記サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶した音発生位置データ記憶手段、
    少なくとも音の出力指示に従って、前記波形データを読み出して、音データを生成し、生成した音データを音として前記スピーカから出力するサウンド出力制御手段、および
    少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データを含むマイクデータを記憶したマイクデータ記憶手段を備えるゲーム装置のゲームサウンド制御方法であって、
    (a) 前記サウンドオブジェクト毎に、前記音発生位置データと前記集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいて前記サウンドオブジェクトがそれぞれ発生する音の音量データを算出し、
    (b)前記集音方向データと前記音発生位置データとに基づいて各々の前記サウンドオブジェクトについての定位データを算出し、
    (c)前記ステップ(b)で算出した定位データに基づいて、前記各々のサウンドオブジェクトの音量データを、前記スピーカから出力する音の右側音量成分、左側音量成分およびサラウンド音量成分に分割し、
    (d)すべての前記サウンドオブジェクトを同じ音を発生するオブジェクトに分類し、
    (e)前記同じ音を発生するオブジェクトについて前記ステップ(c)で分割した前記右側音量成分、前記左側音量成分および前記サラウンド音量成分のうち、最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分を抽出し、当該オブジェクトの波形データと前記最大の右側音量成分、前記最大の左側音量成分および前記最大のサラウンド音量成分とに基づいて、前記サウンド出力制御手段が前記スピーカから音を出力するためのデータを生成し、そして、
    (f)前記サウンド出力制御手段に、音の出力指示と前記ステップ(e)で生成したデータとを与える、ゲームサウンド制御方法。
  8. 前記音発生位置データは、1つの座標データで表される点音源位置データおよび少なくとも2つの座標データで定義されたレールデータにより表される、レールデータを持つレールデータ音源位置データを含み、
    (g)前記レールデータを持つサウンドオブジェクトについて、前記レールデータを表す座標を結ぶ線分上であり、かつ、前記集音位置データに最も接近する位置の座標データを算出するステップをさらに備え、
    前記ステップ(a)は、前記レールデータを持つサウンドオブジェクトの音量データを算出するとき、前記ステップ(g)によって算出された座標データと前記集音位置データとから当該サウンドオブジェクトの音量データを算出し、
    前記ステップ(c)は、前記ステップ(g)によって算出された座標データと前記集音位置データとから、前記スピーカから出力する音の右側音量成分左側音量成分およびサラウンド音量成分のそれぞれに音量データを分割する、請求項7記載のゲームサウンド制御方法。
  9. プレイヤによる操作情報を入力するための操作手段を備え、操作手段の操作に応じてゲームを進行させて、少なくとも2つのオブジェクトを含むゲーム画面を表示するとともに、音を出力する左右2つのスピーカから、ゲーム画面に関連する音を発生するよう構成されたゲーム装置であって、
    前記少なくとも2つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも1種類の波形データを記憶した波形データ記憶手段、
    前記サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶した音発生位置データ記憶手段、
    少なくとも音の出力指示に従って、前記波形データを読み出して、音データを生成し、生成した音データを音として前記スピーカから出力するサウンド出力制御手段、
    少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データとを含むマイクデータを記憶したマイクデータ記憶手段、
    前記サウンドオブジェクト毎に、前記音発生位置データと前記集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいて前記サウンドオブジェクトがそれぞれ発生する音の音量データを算出する音量データ算出手段、
    前記集音方向データと前記音発生位置データとに基づいて各々の前記サウンドオブジェクトについての定位データを算出する定位算出手段、
    前記定位算出手段によって算出された定位データに基づいて、前記各々のサウンドオブジェクの音量データを、前記スピーカから出力する音の右側音量成分と左側音量成分とに分割する音量成分分割手段、
    すべての前記サウンドオブジェクトを同じ音を発生するオブジェクトに分類するオブジェクト分類手段、
    前記同じ音を発生するオブジェクトについて前記音量成分分割手段によって分割された前記右側音量成分および前記左側音量成分のうち、最大の右側音量成分および最大の左側音量成分を抽出し、当該オブジェクトの波形データと前記最大の右側音量成分および前記最大の左側音量成分とに基づいて、前記サウンド出力制御手段が前記スピーカから音を出力するためのデータを生成する音出力データ生成手段、および
    前記サウンド出力制御手段に、音の出力指示と前記音出力データ生成手段によって生成されたデータとを与える出力指示手段を備える、ゲーム装置。
  10. 前記音出力データ生成手段は、前記最大の右側音量成分および前記最大の左側音量成分を、そのまま、出力する音の右側音量成分および左側音量成分とする、請求項9記載のゲーム装置。
  11. プレイヤによる操作情報を入力するための操作手段を備え、操作手段の操作に応じてゲームを進行させて、少なくとも2つのオブジェクトを含むゲーム画面を表示するとともに、音を出力する左右2つのスピーカから、ゲーム画面に関連する音を発生するよう構成されたゲーム装置であって、
    前記少なくとも2つのオブジェクトが音を発生するサウンドオブジェクトであり、当該サウンドオブジェクトの発生する音に対応する少なくとも1種類の波形データを記憶した波形データ記憶手段、
    前記サウンドオブジェクト毎に音の発生位置を示す音発生位置データを記憶した音発生位置データ記憶手段、
    少なくとも音の出力指示に従って、前記波形データを読み出して、音データを生成し、生成した音データを音として前記スピーカから出力するサウンド出力制御手段、
    少なくともゲーム中に音を集音する位置を示す集音位置データと集音する集音方向を示す集音方向データとを含むマイクデータを記憶したマイクデータ記憶手段、
    前記サウンドオブジェクト毎に、前記音発生位置データと前記集音位置データとからサウンドオブジェクトと集音位置との距離を算出し、算出した距離に基づいて前記サウンドオブジェクトがそれぞれ発生する音の音量データを算出する音量データ算出手段、
    前記集音方向データと前記音発生位置データとに基づいて各々の前記サウンドオブジェクトについての定位データを算出する定位算出手段、
    前記定位算出手段によって算出された定位データに基づいて、前記各々のサウンドオブジェクの音量データを、前記スピーカから出力する音の右側音量成分、左側音量成分およびサラウンド音量成分に分割する音量成分分割手段、
    すべての前記サウンドオブジェクトを同じ音を発生するオブジェクトに分類するオブジェクト分類手段、
    前記同じ音を発生するオブジェクトについて前記音量成分分割手段によって分割された前記右側音量成分、前記左側音量成分および前記サラウンド音量成分のうち、最大の右側音量成分、最大の左側音量成分および最大のサラウンド音量成分を抽出し、当該オブジェクトの波形データと前記最大の右側音量成分、前記最大の左側音量成分および前記最大のサラウンド音量成分に基づいて、前記サウンド出力制御手段が前記スピーカから音を出力するためのデータを生成する音出力データ生成手段、および
    前記サウンド出力制御手段に、音の出力指示と前記音出力データ生成手段によって生成されたデータとを与える出力指示手段を備える、ゲーム装置。
  12. 前記サウンド発生位置データは、1つの座標データで表されるサウンドオブジェクト位置データおよび少なくとも2つの座標データで定義されたレールデータを持つサウンドオブジェクトの位置データを含み、
    前記レールデータを持つサウンドオブジェクトについて、前記レールデータを表す座標を結ぶ線分上であり、かつ、前記マイクデータ記憶手段に記憶されている前記集音位置データに最も接近する位置の座標データを算出する近接座標算出手段をさらに備え、
    前記音量データ算出手段は、前記レールデータを持つサウンドオブジェクトの音量データを算出するとき、前記近接座標算出手段によって算出された座標データと前記集音位置データとから当該サウンドオブジェクトの音量データを算出し、
    前記音量成分分割手段は、前記近接座標算出手段によって算出された座標データと前記集音方向データとから、前記スピーカから出力する音の右側音量成分左側音量成分およびサラウンド音量成分のそれぞれに音量データを分割する、請求項11記載のゲーム装置。
JP2003387766A 2002-12-04 2003-11-18 ゲームサウンド制御プログラム、ゲームサウンド制御方法およびゲーム装置 Expired - Fee Related JP3617839B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003387766A JP3617839B2 (ja) 2002-12-04 2003-11-18 ゲームサウンド制御プログラム、ゲームサウンド制御方法およびゲーム装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002352169 2002-12-04
JP2003387766A JP3617839B2 (ja) 2002-12-04 2003-11-18 ゲームサウンド制御プログラム、ゲームサウンド制御方法およびゲーム装置

Publications (2)

Publication Number Publication Date
JP2004195210A JP2004195210A (ja) 2004-07-15
JP3617839B2 true JP3617839B2 (ja) 2005-02-09

Family

ID=32775031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003387766A Expired - Fee Related JP3617839B2 (ja) 2002-12-04 2003-11-18 ゲームサウンド制御プログラム、ゲームサウンド制御方法およびゲーム装置

Country Status (1)

Country Link
JP (1) JP3617839B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007212635A (ja) * 2006-02-08 2007-08-23 Copcom Co Ltd 効果音発生装置、この効果音発生装置を備えたビデオゲーム装置、この効果音発生装置を実現するためのプログラム及び記録媒体
JP4015173B1 (ja) * 2006-06-16 2007-11-28 株式会社コナミデジタルエンタテインメント ゲーム音出力装置、ゲーム音制御方法、および、プログラム
WO2010137069A1 (ja) * 2009-05-27 2010-12-02 株式会社サスティーン・アーキテクト 回答判定装置及び問題生成装置
JP5036797B2 (ja) * 2009-12-11 2012-09-26 株式会社スクウェア・エニックス 発音処理装置、発音処理方法、及び発音処理プログラム
JP4951688B2 (ja) 2010-03-15 2012-06-13 株式会社コナミデジタルエンタテインメント ゲームシステム及びそのコンピュータプログラム並びにゲームシステムの制御方法
JP5538148B2 (ja) * 2010-09-08 2014-07-02 株式会社カプコン ゲームプログラム及びゲーム装置
JP2013102842A (ja) * 2011-11-11 2013-05-30 Nintendo Co Ltd 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP5969200B2 (ja) 2011-11-11 2016-08-17 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
KR101374961B1 (ko) * 2012-09-10 2014-03-18 김정헌 사운드 기반 인터페이스 장치 및 방법
JP6147486B2 (ja) * 2012-11-05 2017-06-14 任天堂株式会社 ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム
JP6055657B2 (ja) * 2012-11-09 2016-12-27 任天堂株式会社 ゲームシステム、ゲーム処理制御方法、ゲーム装置、および、ゲームプログラム
JP5813172B2 (ja) * 2014-04-28 2015-11-17 株式会社カプコン ゲームプログラム及びゲーム装置
CN111882309B (zh) * 2020-08-07 2023-08-22 腾讯科技(深圳)有限公司 消息处理方法、装置、电子设备及存储介质
JP7252998B2 (ja) * 2021-03-15 2023-04-05 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4095227B2 (ja) * 2000-03-13 2008-06-04 株式会社コナミデジタルエンタテインメント ビデオゲーム装置、ビデオゲームにおける背景音出力設定方法及び背景音出力設定プログラムが記録されたコンピュータ読み取り可能な記録媒体
JP4688267B2 (ja) * 2000-09-20 2011-05-25 株式会社バンダイナムコゲームス ゲーム装置及び情報記憶媒体
JP2002199498A (ja) * 2000-12-25 2002-07-12 Victor Co Of Japan Ltd 音源の音像定位方法及び音像定位を行うゲーム装置並びに音像定位プログラムの記録された記録媒体並びにかかるプログラムの伝送方法
JP3455739B2 (ja) * 2001-12-26 2003-10-14 コナミ株式会社 ゲーム装置、及びプログラム

Also Published As

Publication number Publication date
JP2004195210A (ja) 2004-07-15

Similar Documents

Publication Publication Date Title
US7338373B2 (en) Method and apparatus for generating sounds in a video game
JP3725524B2 (ja) コンピュータディスプレイ画像を生成する方法ならびに画像データを生成するコンピュータ処理システムおよびグラフィックスプロセッサ
JP3372832B2 (ja) ゲーム装置、ゲーム画像処理方法およびゲーム画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3668019B2 (ja) 記録媒体、画像処理装置および画像処理方法
JP3617839B2 (ja) ゲームサウンド制御プログラム、ゲームサウンド制御方法およびゲーム装置
JP4242318B2 (ja) 3次元画像生成装置および3次元画像生成プログラム
JP4791852B2 (ja) ゲーム装置、ゲームプログラムおよびゲーム制御方法
JP4099434B2 (ja) 画像生成プログラム及びゲーム装置
JP2004329463A (ja) ゲーム装置および仮想カメラの制御プログラム
JP3625184B2 (ja) ゲーム用3次元画像処理方法、装置、ゲーム用3次元画像処理プログラムを記録した可読記録媒体及びビデオゲーム装置
JP2006068138A (ja) ゲーム装置および画像処理プログラム
JP3639280B2 (ja) ゲームメッセージ表示方法およびゲームプログラム
US20020034979A1 (en) Video game system, character action control method, and readable storage medium storing character action control program
JP4355512B2 (ja) 画像処理装置および画像処理プログラム
US20070261539A1 (en) Music reproducing program and music reproducing apparatus
JP3001538B1 (ja) ビデオゲーム装置、ビデオゲームにおけるモデル表示方法及びビデオゲームにおけるモデル表示プログラムが記録された可読記録媒体
JP3602835B2 (ja) ビデオゲーム装置およびその制御方法ならびにゲームプログラム
JP3564440B2 (ja) 動画像生成プログラム、動画像生成方法及び装置
JP3839355B2 (ja) ゲーム装置およびゲームプログラム
JP3183636B2 (ja) 3次元ゲーム装置及び情報記憶媒体
JP4560532B2 (ja) 画像生成装置及び情報記憶媒体
JP3197133B2 (ja) カラオケ装置
JP3708904B2 (ja) 画像処理プログラム
JP4219766B2 (ja) 画像生成プログラムおよび画像生成装置
JP2004313218A (ja) ゲーム装置およびゲームプログラム

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20040415

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040415

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20040517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041104

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees