説明

情報処理装置およびその装置におけるスキール音生成プログラムと生成方法

【課題】プレイヤーにとって仮想車両の挙動や走行状態をより把握しやすくすることによってスムーズなゲーム進行を可能とし、さらには多様性を有する音色としてより迫力のある音響を演出する。
【解決手段】仮想三次元空間内の所定の面上を移動する、複数のタイヤを有する移動体が発生する音の生成処理を情報処理装置のコンピュータに実行させるためのプログラムであって、移動体を移動制御するステップと、移動体のタイヤにかかる荷重を算出するステップと、荷重に基づいて、タイヤから発生するスキール音の音量および音程を制御するステップと、スキール音を出力するステップと、を実行させる。また、移動体のタイヤのスリップ角を算出するステップと、当該スリップ角に基づいてスキール音の音色を変化させるステップと、をさらに実行させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびその装置におけるスキール音生成プログラムと生成方法に関する。さらに詳述すると、本発明は、特に、仮想三次元空間内における車両のドライバーとしてカーレースやタイムアタックといったゲームを楽しむことのできるシミュレーションゲーム装置における擬似音生成技術の改良に関する。
【背景技術】
【0002】
プレイヤーが仮想三次元空間内における仮想車両のドライバーとなってカーレースやタイムアタックといったドライビングゲームを楽しむことができるシミュレーションゲーム装置が提供されている。このようなゲーム装置においては、ドライビングの状況に応じて仮想車両をスリップさせたり衝突させたりし、プレイヤーにとって臨場感のあるゲームを作り出している。また、ドライビングの状況に応じて種々の擬似音を鳴らし、音響効果によってさらなる臨場感が得られるようにもしている(例えば、特許文献1参照)。
【0003】
音響には、エンジン音などの他、急発進、急制動、急旋回などのときにタイヤが激しくスリップして発する鋭い摩擦音(キーとかキキーッといった擬音で表現されるいわゆるスキール音)がある。従来、ドライビングゲームにおけるスキール音は、仮想車両のタイヤと路面の摩擦力の度合いに応じ、あらかじめ登録された音色を必要に応じて音程を変更しつつループ音や単音で発せられていた。
【特許文献1】特開平10−137445号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、下記の観点からするとドライビングゲーム装置における従来のスキール音には十分でない部分もある。すなわち、実際のスキール音には、ドリフト時のようにタイヤが回転しつつ鳴る類いのものもあれば、フルブレーキング時のようにタイヤがロックした状態で鳴るものもある。また、その音色群は音質を異にするものであり、その音色変化の多様さは、ドライバーが実車の挙動を把握する際に重要な意味合いを有している。これと同様、スキール音はレース系のシミュレーションゲームにおいても、仮想車両における車体挙動や走行状態の情報採取、さらには迫力ある音響等の演出面で非常に重要な意味合いを持つものであるが、従来の技法では、音色変化の豊かさと、挙動を把握する為の音情報としての合理性に乏しかった。
【0005】
そこで、本発明は、プレイヤーにとって仮想車両の挙動や走行状態をより把握しやすくすることによってスムーズなゲーム進行を可能とし、さらには多様性を有する音色としてより迫力のある音響を演出することができるようにした情報処理装置およびその装置におけるスキール音生成プログラムと生成方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
かかる課題を解決するべく、本発明者は音色変化の豊かさと音情報としての合理性の向上したスキール音を生成し鳴らすことについて種々の検討を行った。例えば実車におけるスキール音の音色変化は多種多様であるが、これについては、主に車体進行方向とその進行方向に対するタイヤの向き(以下、スリップ角という)が大きいほど激しい音色に変化し、タイヤの接地面にかかる垂直荷重(以下、単に荷重ともいう)が大きいほど音程が低くなる傾向がある。さらに検討すると、車体進行速度、路面やタイヤの材質と状況等、音変化の理由は多数考えられるが、その中でもとりわけ重要な項目はスリップ角および荷重であることを本発明者は知見するに至った。
【0007】
本発明はかかる知見に基づくものであり、仮想三次元空間内の所定の面上を移動する、複数のタイヤを有する移動体が発生する音の生成処理を情報処理装置のコンピュータに実行させるためのプログラムであって、前記移動体を移動制御するステップと、前記移動体の前記タイヤにかかる荷重を算出するステップと、前記荷重に基づいて、前記タイヤから発生するスキール音の音量および音程を制御するステップと、前記スキール音を出力するステップと、を実行させるというものである。
【0008】
実車の場合、あるタイヤにかかる荷重が大きくなるとスキール音の音量も大きくなり、その一方で音程は低くなるという傾向がある。この点、本発明においては荷重情報に基づき音程と音量の2つの要素を共に制御することにより、実車における実際の音により近似したスキール音を生成することとしている。しかも、音生成のパラメータは仮想車両の各タイヤに対する荷重であり、コンピュータが自ら算出する等して情報入手することができるものであるから生成のための計算の簡素化を図ることができる。
【0009】
また、実車におけるスキール音は荷重が大きくなるにつれてその音色が派手になっていく傾向があるから、この傾向に基づき、音色、音量、音程の3要素に着目することも好ましい。この場合、荷重の数値のみに基づいて制御すれば計算の簡素化を図ることができるが、本発明にかかるスキール音生成プログラムでは、前記移動体の前記タイヤのスリップ角を算出するステップと、当該スリップ角に基づいて前記スキール音の音色を変化させるステップと、をさらに実行させることとしている。こうした場合、スリップ角をパラメータに加え、当該パラメータに基づく音色のデータをスキール音に反映させることができるから、実際の音により近似したスキール音を生成することが可能となる。
【0010】
さらに本発明のスキール音生成プログラムでは、前記荷重が所定範囲内の場合にのみ当該スキール音の生成を決定するステップをさらに実行させる。コンピュータにこのようなステップをさらに実行させることにより、荷重が所定範囲内にはない場合にはスキール音生成が実行されなくなる。これによれば、スキール音の生成を要する範囲を設定しておき、それ以外であれば処理を省略することによって計算のさらなる簡素化を図ることができる。
【0011】
また、当該情報処理装置における映像の視点の変化、または、視点の基準となる前記移動体からスキール音生成対象たる移動体までの距離の変化に応じて、前記スキール音の生成処理と当該スキール音の生成処理回避とを切り替えるステップをさらに実行させることが好ましい。情報処理装置における映像が遠い視点からのものに切り替わった場合、あるいは対象移動体がプレイヤーの仮想現在位置から遠くに離れたような場合には、スキール音の生成はもはや不要と判断できる場合があるから、このときには当該スキール音の生成処理を回避して省略することとすれば計算の簡素化につながる。
【0012】
あるいは、上述の切り替えステップを実行させる代わりに以下の切り替えステップを実行させることも好ましい。すなわち、当該情報処理装置における映像の視点の変化、または、視点の基準となる前記移動体からスキール音生成対象たる移動体までの距離の変化に応じて、前記スキール音を前記荷重および前記スリップ角に基づいて生成する第1の生成処理、前記スキール音を前記荷重のみに基づいて生成する第2の生成処理、あるいは当該スキール音の生成処理回避のいずれかに切り替えるステップをさらに実行させることである。情報処理装置(例えばゲーム装置)における映像が遠い視点からのものに切り替わった場合、あるいは対象移動体がプレイヤーの仮想現在位置から遠くに離れたような場合には、スキール音生成対象までの仮想距離に基づき生成処理内容を切り替える。これによれば、スキール音の生成が不要な場合には生成処理を回避し、スキール音が重要でない場合には簡易に生成し、スキール音が重要な場合には通常的な処理を経て荷重やスリップ角に関する情報を加味する、というように状況に応じた適切な処理を実行させることができる。
【0013】
さらに、本発明においては、複数ある前記タイヤのそれぞれについて独立してスキール音を生成する機能をコンピュータに実現させることとしている。タイヤと各タイヤに作用する荷重との関係については、各タイヤでおよそ同じになる場合もあるが、逐次変化する状況下では違った状態になっていることの方が一般に多い。そこで、例えば4本のタイヤのスキール音を一括扱いで生成・出力させるのではなく、このような状況を加味して1本ずつ個別にスキール音の制御をし、生成して出力することが好適である。こうした場合には、プレイヤーに対してさらに詳細な車体挙動情報を与えることができる。
【0014】
また、本発明にかかるスキール音生成プログラムは、コンピュータに対し、前記移動体のエンジン回転数を算出するステップと、当該エンジンの回転数に基づいてエンジン音を生成するステップと、当該スキール音が発生した場合に前記エンジン音の音量を減じるステップと、をさらに実行させるものである。エンジン回転数の算出ステップとエンジン音生成ステップとを実行させることにより、仮想車両の仮想エンジン回転数に応じた擬似的なエンジン音を出力することができる。また、スキール音は車体の挙動を把握するのに非常に重要な情報源であることは先述のとおりであるが、情報処理装置においてスキール音を出力する際には、移動体(例えばプレイヤーが操作する仮想車両のように、視点の基準となるもの)のエンジン音の音量を一時的に下げることで、プレイヤーにとってスキール音をより聞き取りやすいものとすることができる。
【0015】
本発明にかかるコンピュータ読み取り可能な記憶媒体は、上述したスキール音生成プログラムのいずれかを記録しているものである。
【0016】
また、本発明にかかる情報処理装置は、仮想三次元空間内の所定の面上を移動する、複数のタイヤを有する移動体が発生する音の生成処理をコンピュータに実行させて出力するゲーム装置であって、移動制御した前記移動体の前記タイヤにかかる荷重を算出し、算出した荷重に基づいて前記タイヤから発生するスキール音の音量および音程を制御するコンピュータと、前記スキール音を出力するための出力装置と、を有しているというものである。
【0017】
さらに、本発明にかかるスキール音生成方法は、情報処理装置における仮想三次元空間内の所定の面上を移動する、複数のタイヤを有する移動体が発生する音の生成処理を行うスキール音生成方法であって、前記移動体を移動制御し、当該時点における前記移動体の前記タイヤにかかる荷重を算出し、該算出した荷重に基づいて前記タイヤから発生するスキール音の音量および音程を制御し、当該スキール音を出力するというものである。
【発明の効果】
【0018】
本発明によれば、プレイヤーが仮想車両の挙動や走行状態をより把握しやすくなるからさらにスムーズなゲーム進行が可能となり、さらには音色が多様性を有するものとなってより迫力のある音響を演出することが可能となる。
【発明を実施するための最良の形態】
【0019】
以下、本発明の構成を図面に示す実施の形態の一例に基づいて詳細に説明する。
【0020】
図1〜図8に本発明にかかる情報処理装置およびその装置におけるスキール音生成プログラムと生成方法の実施形態を示す。本実施形態にかかるゲーム装置1は、プレイヤーが仮想三次元空間内における仮想移動体(仮想車両)4のドライバーとなってカーレースやタイムアタックといったドライビングゲームを楽しむことができるシミュレーションゲーム用の情報処理装置の一つであり、仮想三次元空間内の所定の面上を移動する、複数のタイヤ5を有する移動体が発生する音の生成処理をコンピュータCに実行させて出力するようになっている(図1参照)。所定の面上とは、平面上はもちろん曲面上も含む。本実施形態のゲーム装置1は、移動制御した移動体のタイヤ5にかかる荷重を算出し、算出した荷重に基づいてタイヤ5から発生するスキール音の音量および音程を制御するコンピュータCと、スキール音を出力するための出力装置とを備えており、各走行状態におけるスキール音を収録または生成し、少なくともタイヤ5にかかる荷重、場合によってはさらにスリップ角θを制御情報とし、逐次変化するそれらの情報に基づいて音量と音色を決定し、対応するスキール音を次々と出力させて迫力ある音響を演出する。
【0021】
以下においては、まず本実施形態におけるゲーム装置1の概要について説明し、その後、スキール音の生成および出力にかかる構成について説明することとする。
【0022】
図2に、本実施形態におけるドライビングゲーム用のゲーム装置1の制御系を示すブロック図を示す。また、図3には本実施形態におけるコンピュータCを表すブロック図を示す。このゲーム装置1の制御系は基本制御系2とモーション制御系3に大別される。基本制御系2は、ゲーム装置1の基本的要素の制御を負担するものであり、ゲーム装置基本制御部10、入力装置11、出力装置12、プロジェクタやTVモニタ等の表示装置13、およびスピーカ等の音声出力装置14を備えている。
【0023】
モーション制御系3は、プレイヤーが着座しあるいは乗り込む模擬車体等を操作(操縦)状況に連動するように前後や左右に動かし(モーションさせ)、当該模擬車体の姿勢や動きを変化させる場合に用いられる。本実施形態においては特に詳しい説明はしないが、モーション制御系3は例えば、模擬車体が設置されるモーションベースの6軸シリンダを制御するためのモーションベース制御部21、制御状況を表示するモニタ装置22、オペレータがモーションベース制御部21に指示を与えるための入力デバイスとしてのキーボード23、モーションベース制御部21の駆動データ出力をアナログ信号に変換するDAC(デジタル/アナログコンバータ)24、DAC24の出力をパワー増幅して油圧源ポンプアキュムレータ33からのオイル供給を調整するサーボバルブ32、該サーボバルブ32を駆動するサーボアンプ31、サーボバルブ32から供給されるオイルによって一端が模擬車体に連結されたアームのストロークを設定するアクチュエータ34等によって構成される(図2参照)。模擬車体には例えばX軸、Y軸およびZ軸に沿った3方向の力と各軸の回転方向への力(ピッチ、ヨー、ロール)とが加わり、6軸制御されて姿勢や動きが変化する。
【0024】
入力装置11は、ゲーム装置1の本体に設けられたハンドル、アクセル、ブレーキ、シフトレバー、ビューチェンジ(視点変更)スイッチなどで構成される(図1、図3参照)。出力装置12は、ハンドルキックバック機構、各種ランプ類などを有している(図3参照)。表示装置13はドライビングゲ−ムの画像を表示するもので、例えば上述のような模擬車体が設けられている場合にはその動きと一体になるように当該模擬車体側に取り付けられている。ビューチェンジスイッチは視点を変更するスイッチであり、このスイッチを操作することにより例えば仮想車両4の運転席から観たビュー(景色)と自車(当該仮想車両4)を斜め後方から観たビューとが順次切り換わるようになっている。
【0025】
ゲーム装置基本制御部10は、CPU(中央演算処理装置)101を有するとともに、ROM102、RAM103、サウンド装置104、入出力インターフェース106、スクロールデータ演算装置107、コ・プロセッサ(補助演算処理装置)108、地形データROM109、ジオメタライザ110、形状データROM111、描画装置112、テクスチャデータROM113、テクスチャマップRAM114、フレームバッファ115、画像合成装置116、D/A変換器117を備えている(図3参照)。
【0026】
CPU101は、所定のプログラムなどを記憶したROM102、データを記憶するRAM103、サウンド装置104、入出力インターフェース106、スクロールデータ演算装置107、コ・プロセッサ108、およびジオメタライザ110に対しバスラインを介して接続されている。RAM103はバッファ用として機能させるもので、ジオメタライザ110に対する各種コマンドの書込み(オブジェクトの表示など)、変換マトリクス演算時のマトリクス書込み(後述する砂煙のスケーリングなど)などが行われる。
【0027】
入出力インターフェース106は入力装置11および出力装置12に接続されており、これにより入力装置11のハンドルなどの操作信号がデジタル量としてCPU101に取り込まれるとともに、CPU101などで生成された信号を出力装置12に出力する。この信号には各種フラグ信号が含まれている。ゲーム装置1に上述した模擬車体が設けられる場合には、かかる信号はモーションベース制御部21にも出力される(図3参照)。
【0028】
サウンド装置104は電力増幅器105を介してスピーカ14に接続されており、サウンド装置104で生成された音響信号が電力増幅の後、音声出力装置としてのスピーカ14に送信されるようになっている。
【0029】
ここで、本実施形態におけるCPU101は、ROM102に内蔵したプログラムに基づいて入力装置11からの操作信号および地形データROM109からの地形データ、または形状データROM11からの形状データ(「自車、対抗車等のオブジェクト」、および、「移動路、地形、空、観客、構造物等の背景」等の三次元データ)を読み込んで、地形と仮想車両4との当たり(衝突)判定、4輪(車輪)サスペンションの挙動計算、仮想車両4同士の衝突判定などの車の挙動計算(シミュレーション)、および特殊効果としての砂煙等の軌道計算を少なくとも行うようになっている。
【0030】
なお、車の挙動計算は、入力装置11からのプレイヤーの操作信号により仮想空間での車の動きをシミュレートするというもので、三次元空間での座標値が決定された後、この座標値を視野座標系に変換するための変換マトリクスと、形状データ(車、地形など)とがジオメタライザ110に指定される。また、コ・プロセッサ108には地形データROM109が接続されており、予め定めた地形データがこのコ・プロセッサ108(およびCPU101)に送信される。コ・プロセッサ108は、主として、地形と車との当たりの判定を行うものであり、この判定や車の挙動計算時に、主に、浮動小数点の演算を引き受けるようになっている。この結果、コ・プロセッサ108により車と地形との当たり(衝突)判定が実行されて、その判定結果がCPU101に与えられるようになっているから、CPU101の計算負荷を低減してこの当たり判定をより迅速に実行することができる。
【0031】
ジオメタライザ110は形状データROM111および描画装置112に接続されている。形状データROM111には予めポリゴンの形状データ(各頂点から成る車、地形、背景などの三次元データ)が記憶されており、この形状データがジオメタライザ110に送信される。ジオメタライザ110はCPU101から送られてくる変換マトリクスで指定された形状データを透視変換し、三次元仮想空間での座標系から視野座標系に変換したデータを得る。
【0032】
描画装置112は変換した視野座標系の形状データにテクスチャを貼り合わせフレームバッファ115に出力する。このテクスチャの貼り付けを行うため、描画装置112はテクスチャデータROM113およびテクスチャマップRAM114に接続され、さらにフレームバッファ115にも接続されている。なお、ポリゴンデータとは、複数の頂点の集合からなるポリゴン(多角形:主として3角形または4角形)の各頂点の相対ないしは絶対座標のデータ群をいう。地形データROM109には、車と地形との当たり判定を実行する上で足りる、比較的粗く設定されたポリゴンのデータが格納されている。これに対して、形状データROM111には、車、背景等の画面を構成する形状に関して、より緻密に設定されたポリゴンのデータが格納されている。
【0033】
スクロールデータ演算装置107は文字などのスクロール画面のデータを演算するもので、この演算装置107とフレームバッファ115とが画像合成装置116およびD/A変換器117を介して表示装置13に接続された状態となっている。これにより、フレームバッファ115に一時記憶された車、地形(背景)などのポリゴン画面(シミュレーション結果)とスピード値、ラップタイムなどの文字情報のスクロール画面とが指定されたプライオリティにしたがって合成され、最終的なフレーム画像データが生成される。この画像データはD/A変換器117でアナロク信号に変換されて表示装置13に送られ、ドライビングゲームの画像がリアルタイムに表示される。
【0034】
次に、本実施形態のゲーム装置1におけるスキール音の生成および出力にかかる構成について説明する(図4〜図8参照)。
【0035】
ここで、荷重とスキール音との関係、およびスリップ角θとスキール音との関係について説明しておく(図4、図5参照)。まず荷重とスキール音との関係であるが、車両の静止時に各タイヤ5にかかる荷重に基づいて基準値を複数設定し、それらとの比較を行い、大きな荷重が作用している場合を「大」と「過大」の2段階、小さな荷重が作用している場合を「小」と「過小」の2段階、計4段階に区分して荷重とスキール音との関係を示す(表1参照)。より具体的には、荷重の大小に応じてスキール音の音量(音の大きさ)および音程(周波数に応じて変わる音の高さの程度)が変化する。なお、スキール音が生じる局面で作用している荷重は静止時におけるものよりも大きいか小さいことが一般的であるため、「大」または「小」のいずれかになるように基準値が設定されていることが好ましい。
【0036】
【表1】

【0037】
まず、荷重が大である場合、スキール音は大音量であり、その音程は中音域である。荷重が過大である場合、スキール音は過大音量であり、その音程は低音域である。また、荷重が小である場合、スキール音は小音量であり、その音程は高音域である。荷重が過小である場合、スキール音は過小音量であり、その音程は雑音、つまり広い帯域の音が入り混じった音程である。
【0038】
続いて、スリップ角θとスキール音との関係を示す。既述のように、スリップ角θとは車体進行方向とその進行方向に対するタイヤ5の向き(タイヤ回転方向)との間における角度のことであり(図5参照)、この大きさがスキール音の音色、つまり音の特性を左右する。これは、荷重が同じであってもスリップ角θが異なると音の特性も異なって感じられるということである。ここでは、スリップ角θを「小」「中」「大」の3段階に区分して当該スリップ角θとスキール音との関係を示す(表2参照)。
【0039】
【表2】

【0040】
まず、スリップ角θが小である場合、スキール音の音色は音程感のある地味な音色となり、一例を示すと、緩やかなカーブで若干タイヤ5が鳴るときの様な、運転者がさほど危険性を感じない種類のものとなる(図6に示す波形#1参照)。また、スリップ角θが中である場合、スキール音の音色は音程感のある派手な音色となり、一例を示すと、ややきついカーブでタイヤ5が鳴るときの様な、運転者が若干危険性を感じる種類のものとなる(図6に示す波形#2参照)。さらに、スリップ角θが大である場合、スキール音の音色は音程感のある激しい音色となり、一例を示すと、高速走行中に急ブレーキを踏んだときの様な、あるいは車両進行方向に対するタイヤ5が転がる角度が大きくなったときの様な、運転者が極度に危険性を感じる種類のものとなる(図6に示す波形#3参照)。
【0041】
ここで、上述したような荷重とスキール音との関係、およびスリップ角θとスキール音との関係に基づく音声波形データの一例を示す。本実施形態では、上述したように3段階に区分したスリップ角θ−スキール音の関係に基づき得られる波形#1〜波形#3の3つの波形に基づきながらも、これら波形の一部をオーバーラップさせ、一方の波形の音量を徐々に上げながら他方の波形の音量の徐々に下げるいわゆるクロスフェードを利用して滑らかに推移する音色が得られるような音声波形データを用いることとしている(図6参照)。音声波形データは例えばゲーム装置基本制御部10の波形格納部118に格納されている(図7参照)。
【0042】
また、このような音声波形データを利用したデータテーブルの組み方の一例を示せば以下のとおりである。すなわち、スリップ角θが変化した場合にこれに追随してスキール音の音色が滑らかに推移するように、波形#1から波形#3までをクロスフェードさせた音声波形データをデータテーブルとして設定しておく(図6参照)。このような音声波形データを利用すれば、制御値(本実施形態の場合、スリップ角θ)の増減に応じて音色データを適宜選択することができ(合成比率を変えることができ)、当該制御値の増減に応じて音色を擬似的に変化させることができるから臨場感が溢れるリアルなスキール音を生成することが可能である。
【0043】
このようなデータテーブルを設定する際には、波形#1から波形#3まで音程が一定に保たれるように設定しておくことが好ましい。つまり、あらかじめデフォルトとしての音程ライン(本実施形態の場合、図6中の破線)を設定しておくことにより、各波形#1〜#3の音程を一致させておくことができる。なお、ここでは3つの波形をクロスフェードさせた場合を例示したがこれは一例に過ぎず、必要に応じて波形の数を増減することが可能である。
【0044】
続いて、ドライビングゲーム装置1においてスキール音を生成し出力するための構成例を示す(図7参照)。図示するように、本実施形態のゲーム装置1におけるCPU101は、スリップ角演算部1010、荷重演算部1011、波形決定部1012、音程(音量)演算部1013の各種演算部ないしは決定部において所定の処理を行いスキール音のデータを出力するように構成されている。
【0045】
スリップ角演算部1010はスリップ角θを算出するものである。上述したように、本実施形態におけるCPU101は、ROM102に内蔵したプログラムに基づいて入力装置11からの操作信号および地形データROM109からの地形データ、または形状データROM11からの形状データを読み込んで仮想車両4の種々の挙動計算(車両の動きのシミュレート)をし、命令信号を出力して当該車両の移動制御を行う。本実施形態のスリップ角演算部1010は、この移動制御の結果に基づいてスリップ角θを算出する。例えば、入力装置11におけるハンドル(ステアリングホイール)の回転量に基づいてステアリングの操舵角を算出するとともに、移動制御の結果に照らし合わせてタイヤ5の回転方向を算出し、さらに当該時点における仮想車両4の進行方向を演算して両者の差分からスリップ角θを算出する(図5参照)。
【0046】
荷重演算部1011は、上述した移動制御の結果に基づいて各タイヤ5にかかる荷重を演算して出力する。具体例を挙げると、車両重量や車両形状、駆動方式等に関する車両情報をベースにし、操作部(入力装置)11のハンドル(ステアリングホイール)、アクセル(アクセルペダル)、ブレーキ(ブレーキペダル)の操作量やシフトレバーのシフト位置に加え、当該時点における仮想車両4の走行状況(速度、道路(カーブや勾配)、路面形状、路面状況など)に基づき、車両姿勢、当該車両に作用する遠心力や制動力などのフォースを算出して各タイヤ5にかかる荷重を演算する。
【0047】
波形決定部1012は、スリップ角演算部1010によるスリップ角θの演算結果に基づいてスキール音の音声波形を決定する。より具体的には、演算により得られたスリップ角θを制御値とし、波形格納部118に格納されている音声波形データから当該制御値に対応する音声波形を決定する(図6参照)。なお、上述したように波形格納部118は音声波形データを格納しているもので、例えばゲーム装置基本制御部10のROM102等で実現することができる。
【0048】
音程(音量)演算部1013は、波形決定部1012によって決定された音声波形、および荷重演算部1011によって演算された各タイヤ5の荷重データに基づいて、スキール音の音程さらには音量を演算する。この場合の音程あるいは音量の演算は、荷重が大きくなるにつれて音量が大きくなり、音程は低くなっていくという関係があることに基づいている(表1参照)。また、音程(音量)演算部1013は例えば4本あるタイヤ5のそれぞれについて音程さらには音量を演算する。このように音程さらには音量が演算されると、音程(音量)演算部1013からスキール音のデータがサウンド装置104へと出力される。サウンド装置104ではこのデータに基づく音響信号が生成され、電力増幅器(AMP)105で増幅されてからスピーカ14に送信され、ゲーム装置1におけるスキール音として出力される(図7参照)。なお、4本のタイヤ5に関して独立してスキール音を発生させている場合、ゲーム装置1において別チャンネルのスピーカ14から独立して音を出力すればよりリアルで音響効果の高いものとすることができる。
【0049】
続いて、上述のような構成によるスキール音の生成処理例を説明する(図8参照)。下記の処理は、コンピュータCに所定の処理プログラム(スキール音生成プログラム)を実行させることによって行うことができる。なお、かかるプログラムはフロッピー(登録商標)ディスク、MD、光磁気ディスク、ROM、CD−ROM等の情報記録媒体に保存することが当然に可能なものである。
【0050】
まず、スキール音の生成処理の開始後(ステップ1)、移動体(仮想車両)4の移動制御を行う(ステップ2)。このステップでは、操作部(入力装置)11からの入力に基づき、仮想三次元空間内における移動体(仮想車両)4の移動を制御する。
【0051】
次に、移動制御の結果に基づいてタイヤ5にかかる荷重、タイヤ5のスリップ角θを算出する(ステップ3)。このステップでは、上述したスリップ角演算部1010がタイヤ5のスリップ角θを算出し、荷重演算部1011が各タイヤ5の荷重を算出する。
【0052】
続いて、本実施形態では荷重のしきい値判定を行うこととしている(ステップ4)。ここでは、荷重が所定の範囲内にあるかどうかを判定し、範囲内にあればステップ5以降の処理を行う一方で、所定範囲外であれば音量を0に設定、つまり無音とする(ステップ11)。例えば、荷重が小さい場合あるいは過小な場合にはスキール音が小音量あるいは過小音量となるから、出力を省略しても影響がない場合もある。本実施形態においては、この段階で荷重のしきい値判定を行い、スキール音の生成・出力を省略できるものはその後の処理を行わないこととしている(図8参照)。こうした場合、その分だけコンピュータCにおける処理負担を軽減することができる。
【0053】
ステップ5では、算出したスリップ角θから、複数の波形が登録されたデータテーブルの該当箇所の音量を算出する。すなわち、演算で得られたスリップ角θを横軸における制御値として代入し、当該制御値に対応する音量を算出する。例えば、制御値(スリップ角θ)が波形#1と波形#2とがクロスしている領域の値となっている場合には、当該値に対応する波形#1の音量成分と、当該値に対応する波形#2の音量成分とを合わせた音量および音色のスキール音となる(図6参照)。なお、本実施形態においては制御値たるスリップ角θの最小値を0、最大値を3π/2に設定しているが、この最大値は例えば波形の数に応じて適宜変更することができるものである。
【0054】
また、音量合成比率の一例を示すと以下のとおりである。すなわち、スリップ角θを制御値(a)としたうえで、以下に示す各式から波形#1〜#3のそれぞれにおける音量を算出し、それらを合算してスキール音の音量とする。例えば、aが0(最小値)のときsin(a)も0なのでv1=0である。また、aが3π/2(最大値)のときv3の大きさは1である。
【0055】
[数1]
v1=sin(a) (v1≧0)
[数2]
v2=sin(a−π/2) (v2≧0)
[数3]
v3=sin(a−π) (v3≧0)
【0056】
続いて、算出した荷重からスキール音の音量を算出する(ステップ6)。例えば本実施形態では、上述した音程(音量)演算部1013において、波形決定部1012によって決定された音声波形、および荷重演算部1011によって演算された各タイヤ5の荷重データに基づき、スキール音の音量を演算して算出する。
【0057】
その後、上述したデータテーブルから算出された音量と、荷重から算出された音量とを合成する(ステップ7)。
【0058】
さらに、荷重からスキール音の音程を算出する(ステップ8)。上述したように、荷重が大きくなるにつれて音程が低くなっていくという関係があることに基づき(表1参照)、荷重に応じた音程を算出する(図6参照)。
【0059】
さらに、本実施形態では上述のようにして算出された音量と音程を係数により変更することとしている(ステップ9)。これはあらかじめ設定されている車種ごとの係数を掛け合わせるというもので、これによれば例えば車両重量や車両形状、駆動方式といった各種車両情報を、係数を掛け合わせるという比較的簡単な処理によって反映させることが可能である。係数は、各種車両情報に基づき車種ごとにあらかじめ設定されている。なお、このステップは省略することも可能であるが、このように係数を掛け合わせて車両情報を反映させる本実施形態の生成処理によれば、車種の特徴に応じて細かく調整したスキール音を生成することが可能である。
【0060】
以上の処理手順により音量および音程を決定したらスキール音の出力命令を発する(ステップ10)。例えば本実施形態のゲーム装置1の場合には、上述した音程(音量)演算部1013がスキール音のデータがサウンド装置104へと出力され、ここで音響信号が生成され、電力増幅器(AMP)105で増幅されてからスピーカ14に送信されてスキール音が出力される。なお、このステップ10におけるスキール音出力命令は、エンドレステープのように繰り返し再生される音声波形の再生開始命令なので、初回の命令だけでも差し支えなく、初回以降については省略してもよい。
【0061】
その後、一連のスキール音生成処理を終了する(ステップ12)。なお、図8においてはスキール音の生成処理開始から終了までを例示したが、実際には、例えばゲーム開始からゲーム終了まで等、必要に応じてループ処理させスキール音の生成および出力処理を連続的に行う。
【0062】
以上、ここまで説明した本実施形態のゲーム装置1においては、特有のスキール音の生成手法により、音色変化の豊かさと音情報としての合理性の向上したスキール音を生成し鳴らすことを可能としている。すなわち、実車におけるスキール音の音色変化は多種多様であるが、これに密接に関連するファクターであるタイヤ5のスリップ角θおよびタイヤ5にかかる荷重に着目し、これらに基づいて臨場感が溢れるリアルなスキール音を生成することが可能となっている。
【0063】
しかも、本実施形態においては、複数あるタイヤ5のそれぞれについて独立してスキール音を生成する機能をコンピュータCに実現させるから、プレイヤーに対してさらに詳細な車体挙動情報を与えることができる。すなわち、ドライビング中、逐次変化する状況下ではタイヤ毎に違った荷重が作用した状態になっており、しかもタイヤ毎にスリップ角θも異なってくるから、例えば4本のタイヤ5のスキール音を一括扱いで生成・出力するのではなく、このような状況を加味して1本ずつ個別にスキール音の制御をし、生成して出力することとすれば車体挙動情報がさらに詳細となる。このような本実施形態のゲーム装置1によれば、プレイヤーは、操作(操縦)する仮想車両4の挙動や走行状態をより把握しやすくなり、よりスムーズなゲーム進行が可能となるばかりでなく、音色に多様性が生まれるのでより迫力のある音響を楽しむことができる。
【0064】
なお、上述の実施形態は本発明の好適な実施の一例ではあるがこれに限定されるものではなく本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば本実施形態では仮想車両たる移動体4として四輪車(例示すれば、改造市販車サーキットマシン、ラリーカーといった類)を示したが、これら各種四輪車はもちろん、二輪車等、要は複数のタイヤ5を有する移動体に適用することができる。
【0065】
また、上述した実施形態においてはプレイヤーが操作する仮想車両4のスキール音を生成・出力する場合について特に説明したが、例えば対抗車と競うようなレース型のゲームにおいては本発明を当該対抗車(敵車)に適用することももちろん可能である。この場合には、他のプレイヤーが操作する対抗車に対しては上述したものと同様のスキール音処理を行うことができる。また、CPU101の制御する対抗車(プレイヤーが一人でゲームをする場合にCPU101によって演出される仮想車両)に対しては、プレイヤーによる操作入力は原則として考慮しないことになるからプログラムに基づく対抗車の走行状況に基づいてスキール音を発生させることができる。要は、スキール音を生成・出力する際には、他のプレイヤーの移動体4を基準とした映像(例えば、他のプレイヤーの移動体の後ろから見た映像)に基づく場合が含まれる。また、リプレイ時や、他のプレイヤー/CPUの移動体を基準とした映像(リプレイや実況モニタ表示などで使用する映像)に基づく場合も含まれる。なお、図1において表示装置13に表示されているのは対抗車としての仮想車両4である(図1参照)。
【0066】
また、上述した実施形態においては3つの音声波形データをクロスフェードさせたデータテーブルを例示したがこれも一例に過ぎない。例えば図6に示した波形は略台形のものであるが、正弦曲線状等の音声波形データとすることももちろん可能であり、波形を適宜変更することができる。さらには、移動体(仮想車両)4の種類や特性に応じてデータテーブルを変更ないしは決定することとしてもよい。例えば、実車に即した複数種類の仮想車両4を用意しておきプレイヤーの好みに応じて選択できるようにしたゲーム装置1であれば、車種ごとの特徴をより細かに反映させることによって更にリアルなゲームを体感できるようになる。例示すれば、足回りが機構的にしっかりした車両の方がそうでない車両よりスキール音が発生しにくいという事象に基づき、車種、車両構造、車両価格等をも考慮にいれて音量や音程、音色を変更ないしは決定することとしてもよい。このようにして車内や車外から聞こえてくる音を車種によって変更すれば車種ごとの特徴付けをさらに強くすることができる。
【0067】
また、当該ゲーム装置1における映像の視点の変化、または、プレイヤーの操作する移動体からスキール音生成対象たる移動体までの距離の変化に応じて、スキール音の生成処理と当該スキール音の生成処理回避とを切り替えるステップをさらに実行させてもよい。ドライバーズビューだった映像が遠い視点からのものに切り替わった場合、あるいは対象移動体(例えば対抗車)がプレイヤーの仮想現在位置から遠くに離れたような場合には、スキール音の生成はもはや不要と判断できる場合があるから、このときには当該スキール音の生成処理を回避して省略することとすれば計算の簡素化につながる。または、距離に応じて対抗車のスキール音量を適宜低減させればさらにリアルとなる点で好ましい。
【0068】
また、上述の実施形態においてはスキール音を荷重およびスリップ角θに基づいて生成するいわば通常的な生成処理手法(第1の生成処理手法)を示したが、状況に応じてスキール音を荷重のみに基づいて生成する簡易生成処理(第2の生成処理手法)、あるいは当該スキール音の生成処理回避のいずれかに切り替えることとしてもよい。例えば当該ゲーム装置1における映像の視点が変化した場合、あるいはプレイヤーの操作する仮想車両4からスキール音生成対象たる移動体(例えば対抗車)までの距離が大きくなった場合に、対象とする対抗車までの仮想距離に基づき生成処理内容を切り替えることとする。こうした場合には、スキール音の生成が不要な場合には生成処理を回避し、スキール音が重要でない場合には簡易に生成し、スキール音が重要な場合には通常的な処理を経て荷重やスリップ角θに関する情報を加味する、というように状況に応じた適切な処理を実行させることができるから、コンピュータCにおける演算量を必要範囲内に収めることができて好適である。これによれば、少ない演算量ながらも現実のものに似たスキール音を発生させることが可能である。
【0069】
さらには、スキール音生成対象たる仮想車両4のエンジン回転数を算出してエンジン音を出力しているような場合にあっては、当該スキール音が発生した場合にエンジン音の音量を一時的に減じることとしてもよい。スキール音は車体の挙動を把握するのに非常に重要な情報源であることからすれば、ゲーム装置1においてスキール音を出力する際に仮想車両4のエンジン音の音量を一時的に下げ、プレイヤーにとってスキール音をより聞き取りやすいものとすることも好ましい。ちなみに、このようにしてエンジン音量を一時的に下げた場合、スキール音出力終了時には相対的にエンジン音量を上がる(戻す)ことになるから、例えばコーナーの立ち上がり時等、上昇傾向にあるエンジン音がある程度強調されて聞こえてくるという効果も得られる。
【0070】
また、本実施形態では、プレイヤーが仮想三次元空間内における仮想移動体(仮想車両)4のドライバーとなってカーレースやタイムアタックといったドライビングゲームを楽しむことができるシミュレーション型のゲーム装置1に本発明を適用した場合について説明したが、この場合のゲーム装置1は本発明を適用しうる情報処理装置の好適な一例に過ぎない。情報処理装置としては、この他にアーケードゲーム装置、家庭用ゲーム装置、携帯ゲーム機、携帯電話、パーソナルコンピュータ等を挙げることができる。要は、シミュレータでも、インタラクティブ性のない再生のみの装置であっても、各装置において本発明を実施することが可能である。
【図面の簡単な説明】
【0071】
【図1】本実施形態におけるドライビングゲーム用のゲーム装置の一例を示す全体図である。
【図2】ゲーム装置の制御系を示すブロック図である。
【図3】ゲーム装置の基本制御部の構成例を示すブロック図である。
【図4】荷重とスキール音との関係を説明する際に用いるタイヤの側面図である。
【図5】スリップ角θとスキール音との関係を説明する際に用いるタイヤの平面図である。
【図6】3つの波形をクロスフェードさせて組み立てた音声波形データ(データテーブル)の一例を示す図である。
【図7】スキール音を生成し出力するための構成例を示すブロック図である。
【図8】スキール音の生成処理例を説明するためのフローチャートである。
【符号の説明】
【0072】
1…ゲーム装置(情報報処理装置)、4…仮想車両(移動体)、5…タイヤ、C…コンピュータ、θ…スリップ角

【特許請求の範囲】
【請求項1】
仮想三次元空間内の所定の面上を移動する、複数のタイヤを有する移動体が発生する音の生成処理を情報処理装置のコンピュータに実行させるためのプログラムであって、
前記移動体を移動制御するステップと、
前記移動体の前記タイヤにかかる荷重を算出するステップと、
前記荷重に基づいて、前記タイヤから発生するスキール音の音量および音程を制御するステップと、
前記スキール音を出力するステップと、
を実行させるためのスキール音生成プログラム。
【請求項2】
前記移動体の前記タイヤのスリップ角を算出するステップと、当該スリップ角に基づいて前記スキール音の音色を変化させるステップと、をさらに実行させるための請求項1に記載のスキール音生成プログラム。
【請求項3】
前記荷重が所定範囲内の場合にのみ当該スキール音の生成を決定するステップをさらに実行させるための請求項1または2に記載のスキール音生成プログラム。
【請求項4】
当該情報処理装置における映像の視点の変化、および、視点の基準となる前記移動体からスキール音生成対象たる移動体までの距離の変化に応じて、前記スキール音の生成処理と当該スキール音の生成処理回避とを切り替えるステップをさらに実行させるための請求項1から3のいずれか1項に記載のスキール音生成プログラム。
【請求項5】
当該情報処理装置における映像の視点の変化、および、視点の基準となる前記移動体からスキール音生成対象たる移動体までの距離の変化に応じて、前記スキール音を前記荷重および前記スリップ角に基づいて生成する第1の生成処理、前記スキール音を前記荷重のみに基づいて生成する第2の生成処理、あるいは当該スキール音の生成処理回避のいずれかに切り替えるステップをさらに実行させるための請求項2または3に記載のスキール音生成プログラム。
【請求項6】
複数ある前記タイヤのそれぞれについて独立してスキール音を生成する機能を実現させるための請求項1から5のいずれか1項に記載のスキール音生成プログラム。
【請求項7】
前記移動体のエンジン回転数を算出するステップと、当該エンジンの回転数に基づいてエンジン音を生成するステップと、当該スキール音が発生した場合に前記エンジン音の音量を減じるステップと、をさらに実行させるための請求項1から6のいずれか1項に記載のスキール音生成プログラム。
【請求項8】
請求項1乃至7のいずれか1項に記載のスキール音生成プログラムを記録したコンピュータ読み取り可能な記憶媒体。
【請求項9】
仮想三次元空間内の所定の面上を移動する、複数のタイヤを有する移動体が発生する音の生成処理をコンピュータに実行させて出力する情報処理装置であって、
移動制御した前記移動体の前記タイヤにかかる荷重を算出し、算出した荷重に基づいて前記タイヤから発生するスキール音の音量および音程を制御するコンピュータと、
前記スキール音を出力するための出力装置と、
を有することを特徴とする情報処理装置。
【請求項10】
情報処理装置における仮想三次元空間内の所定の面上を移動する、複数のタイヤを有する移動体が発生する音の生成処理を行うスキール音生成方法であって、
前記移動体を移動制御し、当該時点における前記移動体の前記タイヤにかかる荷重を算出し、該算出した荷重に基づいて前記タイヤから発生するスキール音の音量および音程を制御し、当該スキール音を出力するスキール音生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2007−307006(P2007−307006A)
【公開日】平成19年11月29日(2007.11.29)
【国際特許分類】
【出願番号】特願2006−137284(P2006−137284)
【出願日】平成18年5月17日(2006.5.17)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】