以下、本発明の実施の形態に係るゲームプログラムおよびゲーム装置について、図面を参照しつつ説明する。以下の説明では、家庭用ゲーム装置において実行されるアクションゲームを例として説明する。本実施の形態に係るアクションゲームは、仮想のゲーム空間内でプレイヤキャラクタを操作して、敵キャラクタを討伐する、アイテムを探索する、所定のイベントを攻略する等の所定のクエストを攻略することにより進行する。
[ハードウェアの構成]
図1は、本発明の一実施の形態に係るゲーム装置1の内部構成を示すブロック図である。図1に示すようにゲーム装置1は制御部30を備えている。該制御部30は、CPU11、描画データ生成プロセッサ12、RAM(Random Access Memory)13、ROM(Read Only Memory)14、描画処理プロセッサ15、および音声処理プロセッサ18を含んでいる。さらに、ゲーム装置1は、この他にもVRAM(Video-RAM)16、アンプ19、スピーカ20、イヤホン端子21、操作部22、メディアインタフェース23、無線LANモジュール24、およびバス25を備えている。そして、これらのうちCPU11、描画データ生成プロセッサ12、RAM13、ROM14、描画処理プロセッサ15、音声処理プロセッサ18、操作部22、メディアインタフェース23、および無線LANモジュール24が、バス25によって相互にデータ伝送可能に接続されている。
操作部22は、方向キーおよびその他のボタン群(図示せず)を含んでおり、ユーザの操作を受け付けて、その操作内容に応じた操作情報(操作信号)をCPU11に入力する。また、方向キーおよびボタン群が有する各種のボタンは、プレイヤキャラクタの特定の動作を指示するための操作子である。また、操作部22には、これら操作子以外にゲーム装置1の電源の入/切を行うための電源スイッチ等が含まれる。
メディアインタフェース23は、図示しないメディア装着部にセットされたゲームメディア5にアクセスしてゲームプログラム5aおよびゲームデータ5bを読み出す。このうちゲームプログラム5aは、例えば、プレイヤキャラクタと敵キャラクタとが仮想空間にて対戦する内容のゲームを、ゲーム装置1に実行させるものである。
また、ゲームデータ5bには、上記ゲームを実行する上で必要なデータとして、キャラクタや背景の画像データ、ステータスなどの情報表示用の画像データ、効果音やBGMなどの音声データ、文字や記号によるメッセージデータ等が含まれている。なお、記録媒体であるゲームメディア5は、半導体メモリのほか、光ディスクの一種であるUMD(Universal Media Disc)(登録商標)を採用することができる。
RAM13には、ゲームの進行に応じてゲームメディア5から読み込まれたゲームプログラム5aおよびゲームデータ5bを格納するロードエリア、ならびに、CPU11がゲームプログラム5aを処理する際に使用するためのワークエリアが設定されている。ROM14には、ディスクローディング機能などのゲーム装置1の基本的機能、ゲームメディア5に記憶されているゲームプログラム5aおよびゲームデータ5bの読み出し処理を制御する基本プログラムが記憶されている。
CPU11は、ゲームメディア5に記録されているゲームプログラム5aおよびゲームデータ5bの全部または一部を、メディアインタフェース23を通じてRAM13に読み込む。CPU11は、ユーザによる操作部22の操作に応じてゲームプログラム5aを実行し、ゲーム進行を制御する。より具体的には、ユーザに操作されることによって操作部22から操作信号が入力されると、CPU11は、ゲームプログラム5aに従ってその操作信号に対応する所定のゲーム進行処理を行う。
CPU11は、処理結果に基づいて、ゲーム進行を示す画像(以下、「ゲーム画面」)としてディスプレイ(表示部)2に表示する。さらに、CPU11は、処理結果に基づいて、ゲーム進行を示す音声信号(以下、「ゲーム音声」)を音声出力部(スピーカ20またはイヤホン端子21)に出力する。
上記ゲーム画面の描画は、CPU11の指示により、描画処理プロセッサ15が行う。すなわち、CPU11は、操作部22から入力される操作信号に基づき、ディスプレイ2に表示すべきゲーム画面の内容を決定する。描画データ生成プロセッサ12は、その内容に対して必要な描画データを生成する。そして、その描画データは、描画処理プロセッサ15に転送される。
描画処理プロセッサ15は、描画データに基づいて描画処理を行う。描画処理プロセッサ15は、描画データに基づいて1/60秒毎にゲーム画面を生成し、生成したゲーム画面をVRAM16に書き込む。ディスプレイ2は、半透過型カラー液晶ディスプレイとバックライトLED(Light Emitting Diode)とを有し、VRAM16に書き込まれたゲーム画面を表示する。
また、CPU11は、ゲームの進行に応じて、スピーカ20から出力すべき効果音やBGM等の音声を決定する。CPU11は、決定した音声を出力するための音声データをRAM13から読み出して音声処理プロセッサ18に入力する。すなわち、CPU11は、ゲームの進行に伴って発音イベントが発生すると、その発音イベントに応じた音声データ(ゲームメディア5からロードされた音声データ)をRAM13から読み出して音声処理プロセッサ18に入力する。
音声処理プロセッサ18は、DSP(Digital Signal Processor)で構成されている。音声処理プロセッサ18は、CPU11によって入力された音声データに対して所定の効果(例えば、リバーブ、コーラスなど)を付与したのちアナログ信号に変換して、アンプ19に出力する。アンプ19は、音声処理プロセッサ18から入力された音声信号を増幅したのち、スピーカ20およびイヤホン端子21に出力する。
無線LANモジュール24は、通信規格IEEE802.11b(使用周波数帯2.4GHz、通信速度11Mbps)に準拠した無線LANによって他のゲーム装置1とデータ通信を行い、ネットワークを構成するための通信モジュールである。
[制御部の機能的構成]
図2は、図1に示すゲーム装置1が備える制御部30の機能的な構成を示すブロック図である。図2は、主に、上述したゲームシステムを実現するのに必要な機能を示している。前述したとおり、制御部30は、CPU11、描画データ生成プロセッサ12、RAM13、ROM14、描画処理プロセッサ15、および音声処理プロセッサ18を含むコンピュータとして動作する。そして、このコンピュータとして動作する制御部30は、ゲームメディア5から読み込んだゲームプログラム5aおよびゲームデータ5bを実行することによって、以下に説明するような機能を備える。
すなわち、制御部30は、例えば、仮想空間生成手段31、特徴点情報取得手段32、エフェクト表現手段33、仮想カメラ制御手段34、キャラクタ制御手段35、および仮想出力源設定手段36といった機能を発揮する。
このうち、仮想空間生成手段31は、キャラクタが行動する仮想空間Sを生成する。仮想空間Sには、プレイヤキャラクタおよび敵キャラクタが対戦する仮想空間も含まれる。
キャラクタ制御手段35は、仮想空間SにおけるプレイヤキャラクタCおよび敵キャラクタを含む様々なキャラクタの動作を制御する。例えば、キャラクタ制御手段35は、ユーザによる操作部22の操作に応じて、プレイヤキャラクタCの移動、攻撃、および防御を含む各種動作を制御する。また、キャラクタ制御手段35は、敵キャラクタによる移動、攻撃、および防御等の各種の動作も制御する。
特徴点情報取得手段32は、仮想空間S上に配置された複数の特徴点のうち、少なくとも、キャラクタの位置に最も近い位置にある特徴点の情報を取得する。
エフェクト表現手段33は、予め記憶されたエフェクト表現データを用いてキャラクタの位置におけるエフェクト表現を実行する。エフェクト表現には、例えば、音声の反響表現または光の照射表現等が含まれる。エフェクト表現手段33は、例えば、音の場合、周囲の遮蔽物における音の吸収または反射等の効果を表現し、光の場合、複数の光源の重なりまたは陰影等の効果を表現する。
本実施の形態では、エフェクト表現として音が用いられる場合を例示する。この場合、エフェクト表現手段33は、ゲームメディア5から読み込んでRAM13に予め記憶されたゲームデータ5bに含まれる少なくとも1つの音声データを再生する。エフェクト表現手段33は、エフェクト表現変更手段331を含む。
エフェクト表現変更手段331は、取得した特徴点の情報(環境情報)に基づいてエフェクト表現データを加工する。本実施の形態において、エフェクト表現変更手段331は、再生される少なくとも1つの音声データのうちの少なくとも1つの所定の音声データ(以下、特定音声データ)を加工する。エフェクト表現手段33は、加工した特定音声データを出力する。
仮想カメラ制御手段34は、ユーザによる操作部22の操作に基づいて仮想カメラの向きまたは位置を制御する。仮想出力源設定手段36は、キャラクタの位置に付随してエフェクト表現の仮想出力源を設定する。
[特徴点の配置態様]
図3は、本実施の形態における仮想空間に配置された特徴点の一例を示す仮想空間の平面図である。3次元の仮想空間Sには、地形がポリゴン、テクスチャ等で描画され、当該地形上に各種のオブジェクト、キャラクタ等が配置される。また、複数の特徴点Pi(i=1,2,…)が、仮想空間SにおけるプレイヤキャラクタCの移動可能領域SM上に配置されている。
複数の特徴点は、後述する環境情報を取得するための仮想の点であって仮想空間S上には表示されない。複数の特徴点のうちの少なくとも1つは、移動可能領域SMの境界線Bが折れ線状となる角部または曲線における変曲点BCj(j=1,2,…)の近傍に配置される。
図3の例では、仮想空間Sにおいて途中で折れ曲がる通路が移動可能領域SMとして配置されている。図3には、当該通路を画する遮蔽物である壁が仮想空間Sの平面視における境界線Bとして表されている。この通路の曲がり角における境界線Bの変曲点BC1の近傍の移動可能領域SM上に特徴点P2が配置され、変曲点BC2の近傍移動可能領域SM上に特徴点P5が配置されている。
特徴点P1,P3,P4,P6は、それぞれ、移動可能領域SM上の境界線Bの近傍(直線状部分の近傍)に配置されている。また、特徴点P7,P8は、それぞれ、移動可能領域SMの境界線Bの近傍から離れた位置(移動可能領域SMの中央領域等)に配置されている。なお、境界線Bの角部または変曲点の近傍から離れた位置の特徴点P7,P8は、なくてもよい。
[特徴点を利用したエフェクト表現の加工処理]
各特徴点Piには、当該特徴点Piの位置において音に影響を与える所定の環境情報がゲームデータ5bとして含まれる。所定の環境情報は、例えば、各特徴点Piの周囲の遮蔽物(壁、床、地面、天井等)による平均吸音率を含む。
図4は、本実施の形態の特徴点における平均吸音率の求め方を説明するための仮想空間の平面図である。特徴点Piは、周囲三方が遮蔽物により囲まれている。本例において、遮蔽物には、砂利による遮蔽物Dgと、石による遮蔽物Dsとが含まれる。
まず、例えば、特徴点Piの情報設定時(ゲームデータ5bの作成時)において、仮想空間Sに配置された特徴点Piから所定の方向にレイキャストを行うこと等により、特徴点Piから当該所定の方向における遮蔽物までの距離が取得される。図4においては水平8方向にレイキャストして、特徴点Piから当該8方向における遮蔽物Bg,Bsまでの距離および当接した遮蔽物の種別情報(遮蔽物の有無を含む)が取得される。なお、遮蔽物までの距離が所定の基準距離以上の場合、当接していないとして扱ってもよい。
さらに、高さ方向にもレイキャストを行い、天井までの距離等が取得される。なお、高さ方向についても、真上、真上から所定角度前方、真上から所定角度後方、真上から所定角度右方および真上から所定角度左方等、複数の方向における距離を取得してもよい。さらに、これら複数の方向における距離を平均して1つの高さ情報としてもよい。
以上より得られた情報に基づいて、平均吸音率αavが求められる。例えば、平均吸音率αavは、αav=αg・(xg/8)・(1/Lg)+αs・(xs/8)・(1/Ls)+…という式で表される。ここで、αgは、砂利における吸音率(例えば0.5)を表し、αsは、石における吸音率(例えば0.02)を表す。また、xgは、8つのレイキャストのうち砂利に当接したレイの数(図4においては5)を表す。xsは、8つのレイキャストのうち石に当接したレイの数(図4においては2)を表す。また、Lgは、砂利の遮蔽物までの平均距離を表す。Lsは、石の遮蔽物までの平均距離を表す。他の材料による遮蔽物が存在する場合には、当該他の材料による同様の項が加算される。
なお、遮蔽物がない方向は、空気の吸音率を0として平均吸音率を算出してもよいし、空気の吸音率を別途設定して、上記式に含めてもよい。この場合、距離は上記基準距離としてもよい。
また、平均吸音率αavを求める式は、上記式に限られない。例えば、αav=αg・(xg/8)+αs・(xs/8)+…という式を用いてもよい。この場合、遮蔽物があるか(近いか)ないか(遠いか)によって遮蔽物の吸音率αg,αs等の項が追加されるか否かが決定される。
このようにして、平均吸音率αavが特徴点Piごとに決定され、特徴点Piの環境情報として特徴点Piの位置情報に関連付けて記憶される。
本実施の形態において、音に関するエフェクト表現の取得位置(以下、音の聴取位置)Lは、プレイヤキャラクタの位置に付随して設定される。より具体的には、音の聴取位置Lは、プレイヤキャラクタCの中心(頭部)に設定される。これに代えて、音の聴取位置LがプレイヤキャラクタCから離間した位置に設定されてもよい。この場合、音の聴取位置Lが、例えばプレイヤキャラクタCより所定距離前方または後方に設定されてもよいし、仮想カメラ(後述する図7の符号V)の位置に設定されてもよい。
特徴点情報取得手段32は、仮想空間S上に配置された複数の特徴点Piのうち、少なくとも、プレイヤキャラクタCの位置(本例では音の聴取位置Lでもある)に最も近い位置にある特徴点Pnの環境情報(本実施の形態においては特徴点Pn=P2における平均吸音率αav)を取得する。エフェクト表現変更手段331は、取得した特徴点Pnの環境情報に基づいて、再生される特定音声データを加工する。例えば、エフェクト表現変更手段331は、特徴点Pnにおける平均吸音率αavに基づいて特定音声データが再生された際のリバーブの長さまたは大きさを設定する。
なお、特徴点Piの環境情報は、当該特徴点Piにおける平均吸音率αavに限られない。例えば、平均吸音率αavに加えてまたはこれに代えて、各特徴点Piにおける一番近い遮蔽物までの距離、空間属性(例えば室内、洞窟、原野、森等)、または、高さ等の情報が、当該特徴点Piの環境情報として設定されてもよい。
例えば、一番近い遮蔽物までの距離を環境情報とした場合、エフェクト表現変更手段331は、当該距離が近いほどリバーブの大きさを大きくしたり、リバーブの長さを短くしたりする。
空間属性は、エフェクト表現に影響を与えるパラメータを含んでいる。例えば、空間属性に含まれるパラメータには、リバーブの長さのパラメータおよび/またはリバーブの大きさのパラメータ等が含まれる。空間属性には、室内、洞窟、原野、森等、パラメータの値が予め設定されている複数種類の属性が含まれる。空間属性を環境情報とした場合、エフェクト表現変更手段331は、取得した特徴点Piの空間属性に応じた音響効果を特定音声データに適用する。
また、高さを環境情報とした場合、エフェクト表現変更手段331は、当該高さが高い程リバーブの長さを長くしたり、リバーブの大きさを小さくしたりする。
また、特徴点Piの環境情報として、当該特徴点Piから所定距離内に位置する遮蔽物の方向が設定されてもよい。
特定音声データは、仮想空間における特定の音源が発する音、特定の音源が存在しない環境音、または、背景音楽が含まれ得る。仮想空間における特定の音源が発する音には、例えば、武器の使用音、斬撃の音、銃声、足音、声、敵キャラクタのブレス音、滝の音、薪の爆ぜる音、機械の動作音、ファンの回転音等が含まれ得る。また、環境音には、例えば、雨あるいは風の音、鳥あるいは虫の鳴き声等が含まれ得る。
エフェクト表現手段33は、再生すべき音声データを再生してエフェクト表現を実行する。このとき、再生すべき音声データに含まれる特定音声データは、プレイヤキャラクタCの位置に最も近い位置にある特徴点Pnの情報に基づいて加工された音声となる。
上記態様によれば、仮想空間Sにおける音の鳴り方等のエフェクト表現に関する環境情報が、プレイヤキャラクタCの移動範囲内の複数の位置である各特徴点Piの情報として記憶される。これにより、プレイヤキャラクタCの位置に近い特徴点Piの環境情報を取得することにより、処理負荷の増大を抑制しつつその場所に応じた音の加工処理を行うことができる。
ここで、特徴点Piを仮想空間Sの地形(特に、キャラクタの移動可能領域SM)に関係なく等間隔に配置することも考えられる。すなわち、例えば所定の格子配列の頂点を特徴点とすることも考えられる。しかし、このような態様では、キャラクタが移動できない箇所にも特徴点Piが配置され、特徴点Piの環境情報が無駄になる場合が生じる。
また、移動可能領域SMの境界線Bの近傍には遮蔽物が設置されている場合が多く、音への影響が局所的に変化する。しかし、特徴点Piを等間隔に配置した場合、音への影響が大きい当該境界線Bの近傍に必ずしも特徴点Piが配置されないため、音の加工を、キャラクタの周囲の局所的な変化に対応させることができない。
そこで、上記構成においては、複数の特徴点Piの少なくとも1つがキャラクタの移動可能領域SMの境界線Bの角部または変曲点BCjの近傍に配置される。これにより、特徴点Piの配置に無駄がなくなり、データ量の増大を抑制しつつキャラクタの移動範囲における特徴点Piの数を増加させることができる。したがって、プレイヤキャラクタCの位置によって異なる仮想空間Sの環境に応じたよりリアルなエフェクト表現を実現することができる。以上より、本実施の形態によれば、エフェクト表現による演出のための処理負荷の増大を抑制しつつ、エフェクト表現による多彩な演出を行うことができる。
本実施の形態における複数の特徴点Piは、移動可能領域SMに設定されるナビメッシュNを構成する複数の頂点の少なくとも一部に配置される。ナビメッシュNは、ノンプレイヤキャラクタの経路探索用に設けられるものであり、複数の頂点(図3においては特徴点Piと同じ位置)と、当該複数の頂点間を網目状に繋ぐ経路とを含む。
ナビメッシュNは、ノンプレイヤキャラクタが移動可能領域SMを移動する経路の基準となるため、移動可能領域SMを網羅するように複数の頂点が配置されている。すなわち、ナビメッシュNの複数の頂点は、移動可能領域SMの境界線Bが折れ線状となる角部または曲線における変曲点BCjの近傍に配置される頂点を含むように設定される。
このように、特徴点Piの座標としてノンプレイヤキャラクタの経路探索に利用されるナビメッシュNの頂点の座標を流用することにより、特徴点Piのマップデータを追加することによる容量増を防止することができる。
なお、ナビメッシュNの頂点の位置を流用して特徴点Piの位置を設定する場合、ナビメッシュNのすべての頂点が複数の特徴点Piとして設定されてもよいし、ナビメッシュNの一部の頂点が複数の特徴点Piとして設定されてもよい。また、ナビメッシュNの少なくとも一部の頂点が複数の特徴点Piの一部として設定され、かつ、ナビメッシュNの頂点ではない位置にも特徴点Piが設定されてもよい。
さらに、複数の特徴点Piの少なくとも一部は、隣接する特徴点Pi間の距離が不等間隔となるように配置される。特に、複雑に入り組んだ形状を有する遮蔽物があるような箇所(境界線Bが複雑な箇所)は間隔が狭く、コンクリートの壁が長く直線的に延びるような箇所(境界線Bが単純な箇所)および移動可能領域SMの中央領域は間隔が広くなるように設定される。このように、移動可能領域SMの形状に応じて特徴点Pi間の間隔を狭めたり広げたりすることにより、必要なデータ量の増大を低減しつつよりリアルなエフェクト表現を実現することができる。
エフェクト表現変更手段331は、プレイヤキャラクタCの位置に最も近い特徴点Pnの情報のみに基づいて特定音声データを加工してもよい。この場合、エフェクト表現変更手段331は、プレイヤキャラクタCの位置と当該プレイヤキャラクタCの位置に最も近い特徴点Pnとの間の距離に拘わらず、プレイヤキャラクタCの位置に最も近い特徴点Pnの環境情報をそのまま利用して特定音声データを加工してもよい。
これに代えて、エフェクト表現変更手段331は、プレイヤキャラクタCの位置と当該プレイヤキャラクタCの位置に最も近い特徴点Pnとの間の偏差に応じて、プレイヤキャラクタCの位置に最も近い特徴点Pnの環境情報を補間し、補間後の環境情報に基づいて特定音声データを加工してもよい。位置偏差による補間を行う場合、エフェクト表現変更手段331は、特定音声データを加工するために取得した特徴点Pnの位置と、プレイヤキャラクタCの位置との間の偏差に基づいてプレイヤキャラクタCの位置における環境情報を特徴点Pnの情報から補間する補間処理実行手段332を含む。
補間処理について、特徴点Pnの環境情報が、一番近い遮蔽物までの距離および当該遮蔽物の方向である場合を例示する。図5は、本実施の形態における補間処理の一例を説明するための仮想空間の平面図である。図5には、プレイヤキャラクタCの位置に最も近い特徴点Pnのみが示されている。図5において、特徴点Pnから最も近い遮蔽物(境界線B)までの距離がy方向にQPであり、この情報が特徴点Pnにおける環境情報として記憶されている。
このとき、補間処理実行手段332は、プレイヤキャラクタCの位置に最も近い特徴点PnとプレイヤキャラクタCの位置との位置の偏差(どの方向にどれだけの距離離れているか)を算出する。図5において、補間処理実行手段332は、(−y)方向に対して角度θだけ(−x)方向側に傾いた方向に距離R離れていることを偏差の情報として取得する。さらに、補間処理実行手段332は、取得した偏差の情報に基づいて、プレイヤキャラクタCの位置に最も近い遮蔽物までの距離QLを算出する。図5において、距離QLは、QL=QP+Rcosθで表される。
エフェクト表現変更手段331は、このようにして補間された環境情報(距離QL)に基づいて特定音声データを加工する。これにより、プレイヤキャラクタCが特徴点Pi以外の位置に存在する場合であっても、当該プレイヤキャラクタCの位置に応じた環境情報を得ることができ、よりリアルなエフェクト表現を実現することができる。
また、例えば、特徴点情報取得手段32は、特定音声データを加工するために、プレイヤキャラクタCの位置に最も近い特徴点Pn(=P2)を含む、当該プレイヤキャラクタCの周囲の複数の特徴点Piの環境情報を取得してもよい。例えば、特徴点情報取得手段32は、プレイヤキャラクタCの位置と各特徴点Piとの間の距離から近い順に所定数(例えば3つ)の特徴点Pi(図3の例では、P2,P5,P8)の情報を取得してもよい。これに代えて、特徴点情報取得手段32は、プレイヤキャラクタCの位置から所定距離内にある特徴点Piを抽出し、当該抽出された一または複数の特徴点Piの情報を取得してもよい。
このように、特徴点情報取得手段32が複数の特徴点Piの環境情報を取得した場合、補間処理実行手段332は、取得した複数の特徴点Piの位置とプレイヤキャラクタCの位置との間の距離に基づいて各特徴点Piについて重み付けを行うことにより、プレイヤキャラクタCの位置における環境情報を得てもよい。この際、補間処理実行手段332は、当該距離が近い程重みを大きくし、距離が遠い程重みを小さく設定する。これにより、プレイヤキャラクタCの位置に近い特徴点Piほど特定音声データへの影響が大きくなる。
これにより、複数の特徴点Piの情報を用いてプレイヤキャラクタCの位置における環境情報を補間することにより、よりリアルなエフェクト表現を実現することができる。また、複数の特徴点Piを用いることにより、各特徴点Piにおける環境情報が平滑化される。したがって、プレイヤキャラクタCの移動に伴ってプレイヤキャラクタCの位置に最も近い特徴点Pnが切り替わるタイミングで特定音声データの再生音が急激に変化することを防止することができる。
なお、このように複数の特徴点Piを用いて環境情報を平滑化するのに加えてまたはこれに代えて、各特徴点Piにおける環境情報を近接する複数の特徴点Piの環境情報間で予め平滑化しておいてもよい。例えば、環境情報として各特徴点Piにおける高さを含む場合、まず、各特徴点Piからレイキャストを行い、各特徴点Piにおける高さ情報を求める。そして、一の特徴点Piから所定の範囲内にある複数の特徴点Piの高さ情報を平均化し、当該一の特徴点Piにおける環境情報として記憶する。
このような方法によっても環境情報が平滑化され、特定音声データの再生音が急激に変化することを防止することができる。
本実施の形態においては、取得する特徴点Piの基準となる位置を、プレイヤキャラクタCの位置としている。これに代えて、取得する特徴点Piを、プレイヤキャラクタCの位置に付随する音の聴取位置Lに基づいて決定してもよい。すなわち、エフェクト表現変更手段331は、プレイヤキャラクタCの位置に付随する音の聴取位置Lの位置に最も近い特徴点Pnの情報に基づいて特定音声データを加工してもよい。また、取得する特徴点Piを、仮想カメラVの位置に基づいて決定してもよい。
[仮想カメラの向きに基づくエフェクト表現の加工処理]
特定音声データについて、上記加工を行うのに加えて、または、これに代えて、エフェクト表現変更手段331は、ゲーム画面を表示するために仮想空間Sに配置された仮想カメラVの向きまたは位置に基づいて、特定音声データを加工または補正してもよい。
図6は、本実施の形態における仮想空間における仮想カメラの向きに基づく音の加工処理を説明するための仮想空間の平面図である。図6に示すように、仮想空間Sには仮想カメラVが配置され、仮想カメラVの撮像範囲Aが二次元画像としてゲーム画面に表示される。図6には、音の聴取位置Lに最も近い特徴点Pnのみが示されている。
本実施の形態において、仮想カメラVは、プレイヤキャラクタCから所定距離後方に配置される。仮想カメラVの位置および向きは、ユーザの操作部22の操作に基づくプレイヤキャラクタCの移動に伴って変化する。さらに、仮想カメラVは、ユーザの操作部22の操作によってプレイヤキャラクタCとは独立して、移動または向きの変更が可能である。
なお、仮想カメラVの位置は、これに限られず、種々の態様が採用可能である。例えば、仮想カメラVの位置をプレイヤキャラクタC上に位置してもよい。仮想カメラVの位置と音の聴取位置Lの位置とを一致させてもよい。
本実施の形態において、特徴点Piの情報には、各特徴点Piの位置から最も近い遮蔽物が位置する方向を示す基準方向Kを含んでいる。図6の例において、音の聴取位置Lに最も近い特徴点Pnの基準方向Kは、y方向に一致する。エフェクト表現変更手段331は、取得した特徴点Pnにおける基準方向KBに応じて特定音声データを加工する。より具体的には、エフェクト表現変更手段331は、取得した特徴点Pnにおける基準方向KBと仮想カメラVの向きKVとの角度φに応じて特定音声データを加工する。
例えば、特徴点Piの環境情報として上記基準方向KBおよび平均吸音率αavが含まれる場合、エフェクト表現変更手段331は、角度φが小さいほど(φ=0°が最小)平均吸音率αavによる特定音声データへの影響を大きくし、角度φが大きいほど(φ=180°が最大)平均吸音率αavによる特定音声データの影響を小さくするように加工してもよい。
このように、本実施の形態においては、仮想空間Sに配された複数の特徴点Piの各位置において当該位置から最も近い遮蔽物が位置する基準方向KBの情報が特徴点Piごとに記憶される。さらに、仮想空間Sにおける音の聴取位置Lに近接する特徴点Pnにおける基準方向KBと、音の聴取位置Lに対応する仮想カメラVの向きKVとの角度φに応じて特定音声データが加工される。
これにより、ゲーム画面として表示される仮想空間Sの部分に応じて所定の音の反射または吸収等のエフェクト表現への影響が反映される。したがって、音の聴取位置Lによって異なる仮想空間Sの環境に応じたエフェクト表現を、ゲーム画面に表示される可能性の高い遮蔽物を強調して行うことができ、より臨場感の高いエフェクト表現を実現することができる。
例えば、エフェクト表現変更手段331は、角度φが小さいほど特定音声データによるエフェクト表現の再生音量を大きくし、角度φが大きいほど特定音声データの再生音量を小さくする。これにより、仮想カメラVの向きKVが最も近い遮蔽物の位置に正対する方向に近づく(角度φが0に近づく)程、音の反射(リバーブ)が大きくなるような表現を実現することができる。したがって、より臨場感の高いエフェクト表現を実現することができる。なお、これに加えて、または、これに代えて、特定音声データに付加されるリバーブの大きさまたは長さを変更してもよい。
さらに、エフェクト表現変更手段331は、より詳細な周囲の情報に応じて特定音声データを加工してもよい。例えば、特徴点Piの情報は、当該特徴点Piに対して基準方向KBを含む所定の複数の方向において対向する遮蔽物の複数の表面位置(境界線B)に基づいて画される所定の基準領域SBの位置情報を含む。さらに、エフェクト表現変更手段331は、音の聴取位置Lの仮想カメラVの向きKVを基準とする所定の方向における音の聴取位置Lが含まれる基準領域SBの境界までの距離に基づいて特定音声データを加工する。
図6の例において、基準領域SBは、特徴点Pnから基準方向KBにおける遮蔽物の表面位置U1において基準方向KBと直交する方向に延びる仮想の境界線分J1と、特徴点Pnから基準方向KBとは反対方向K2における遮蔽物の仮想表面位置U2(後述)において方向K2に直交する方向に延びる仮想の境界線分J2と、特徴点Pnから基準方向KBに直交する方向K3,K4における遮蔽物の表面位置U3,U4において方向K3,K4に直交する方向にそれぞれ延びる仮想の境界線分J3,J4とによって区画される。
このように、本実施の形態において、基準領域SBの境界線分J1〜J4は、基準方向KBに直交する仮想線分J1を一辺に含む矩形状に形成される。なお、基準領域SBの画定の方法は、これに限られず、種々適用可能である。
ここで、仮想表面位置U2は、特徴点Pnから所定の規定距離離れた位置として設定される。すなわち、基準領域SBは、複数の表面位置U1〜U4のうち、特徴点Pnと対向する遮蔽物の表面位置U1〜U4との距離が所定の規定距離以上である場合、特徴点Piから当該対向する方向に規定距離離れた位置が基準領域SBを画する境界線分J1〜J4に含まれるように設定される。
特徴点Pnからの距離が遠い遮蔽物による当該特徴点Pnでの音への影響は小さいため、特徴点Pnから所定の規定距離以上離れた位置にある遮蔽物による環境情報は当該規定距離に遮蔽物があると仮定して基準領域SBを画定する。規定距離以上の情報を省略することにより、データ量の増大を抑えつつ臨場感の高い音の表現を行うことができる。
エフェクト表現変更手段331は、音の聴取位置Lから仮想カメラVの向きKVを含む直交する4方向において基準領域SBの境界線分J1〜J4までの距離を取得し、取得した4つの距離に基づいて特定音声データを加工する。図6の例において、エフェクト表現変更手段331は、音の聴取位置Lから仮想カメラVの向きKVに延ばした仮想線と基準領域SBの境界線分J4との交点M1の位置情報を取得し、音の聴取位置Lと交点M1との距離を算出する。
同様に、エフェクト表現変更手段331は、音の聴取位置Lから仮想カメラVの向きKVとは反対方向に延ばした仮想線と基準領域SBの境界線分J3との交点M2の位置情報を取得し、音の聴取位置Lと交点M2との距離を算出する。さらに、エフェクト表現変更手段331は、音の聴取位置Lから仮想カメラVの向きKVに直交する左右両方向に延ばした仮想線と基準領域SBの境界線分J2,J1との交点M3,M4の位置情報をそれぞれ取得し、音の聴取位置Lと交点M3,M4との距離をそれぞれ算出する。
エフェクト表現変更手段331は、得られた各距離と、その方向とに基づいて取得した特徴点Pi(Pn等)の環境情報を補正し、補正後の環境情報に基づいて特定音声データを加工する。図6の例では、プレイヤキャラクタCの右側からの反響が大きくなるように特定音声データを加工(サラウンド化)する。
この場合、エフェクト表現変更手段331は、音の聴取位置Lからの距離に応じて連続的に特定音声データの加工量(変更するパラメータの値)を変更してもよい。これに代えて、音の聴取位置Lを距離範囲に応じた複数のグループに予め分けておき、エフェクト表現変更手段331は、音の聴取位置Lからの距離が含まれるグループごとに設定された特定音声データの加工量で加工する(すなわち、離散的に特定音声データの加工量を変更する)としてもよい。
このように、各特徴点Piの周囲にある遮蔽物の特徴点Piからの距離についての情報が、それぞれ離散化したデータとして記憶され、このデータに基づいて特定音声データが加工される。これにより、データ量を抑えつつ臨場感の高い音の表現を実現することができ、ゲーム音による多彩な演出を行うことができる。
上記説明においては、複数の特徴点Piにおいて再生する特定音声データは同じ特定音声データであるとの想定に基づいているが、特徴点情報取得手段32が取得する特徴点Piに応じて再生する特定音声データが異なってもよい。この場合、特徴点Piの情報として、再生する特定音声データの情報が関連付けられる。また、再生する特定音声データの異同に応じて特徴点Piを複数の特定音声グループにグループ分けしてもよい。
この場合、仮想空間Sには、再生される特定音声データが異なる複数の特定音声グループが隣接する領域が生じる。このため、例えば、プレイヤキャラクタCの移動に伴って音の聴取位置Lが一の特定音声グループに属する特徴点Piの情報を取得した後、他の特定音声グループに属する特徴点Piの情報を取得する状況が生じ得る。
この場合、再生される特定音声データが取得する特徴点Piが属する特定音声グループが切り替わる前後で急に変更されるため、音の不連続がユーザに知覚される場合がある。そこで、本実施の形態においては、以下のような態様でこのような音の不連続をユーザに知覚され難くしている。
[隣接する出力源領域間におけるエフェクト表現の移行処理]
図7は、本実施の形態の仮想空間において隣り合う領域におけるエフェクト表現の移行処理を説明するための仮想空間の平面図である。図7に示すように、仮想空間Sは、実行されるエフェクト表現(特定音声データに基づくエフェクト表現)の少なくとも一部が互いに異なる複数の領域(複数の特定音声領域)Ek(k=1,2,…)と、隣り合う領域Ek同士を接続する境界領域EBとを含んでいる。
まず、例えば、ゲームデータ5bの作成時に、まず、各特徴点Piにおいて実行されるエフェクト表現のための特定音声データが設定され、複数の出力源領域Ekが設定される。例えば、図7においては、第1の特定音声データを用いた第1のエフェクト表現が実行される第1の特徴点群による第1領域E1と、第1の特定音声データとは異なる第2の特定音声データを用いた第2のエフェクト表現が実行される第2の特徴点群による第2領域E2とが設定されている。図7においては、第1領域E1に属する特徴点をPi(1)で示し、第2領域E2に属する特徴点をPi(2)で示している。
さらに、複数の領域Ekが隣接する領域において、基準位置領域EAが設定される。図7において、基準位置領域EAは、隣接する第1領域E1と第2領域E2との境界部に設けられている。図7において、基準位置領域EAは、複数の特徴点Piを含む領域として構成されている。これに代えて、基準位置領域EAには、特徴点Piを含まなくてもよい。また、基準位置領域EAは、所定の面積を有しない構成、例えば、単なる境界線または基準点でもよい。
さらに、基準位置領域EAを含むように境界領域EBが設定される。境界領域EBは、基準位置領域EAを含む限り、どのように設定されてもよい。例えば、基準位置領域EAの位置に関連付けて境界領域EBが設定されてもよい。例えば、基準位置領域EAに含まれる基準点から所定の距離範囲内の領域が境界領域EBとして設定されてもよい。また、境界領域EBが基準位置領域EAとの位置関係にはかかわらず任意に設定されてもよい。例えば基準位置領域EAが境界領域EBの中央部に位置しなくてもよい。
境界領域EB内の特徴点において実行されるエフェクト表現のための特定音声データは、隣接する第1領域E1および第2領域E2の双方に対応する第1および第2のエフェクト表現のための第1および第2の特定音声データを含む。図7においては、境界領域EBに属する特徴点をPi(B)で示している。
ここで、境界領域EBに属する特徴点Pi(B)において第1および第2の特定音声データに基づく第1および第2のエフェクト表現を同時に実行した場合に、より自然な表現とするために、本実施の形態においては、少なくとも1つ(図7においては4つ)の仮想出力源(仮想音源)T1〜T4が各特徴点Pi(B)の情報として設定される。仮想出力源T1〜T4は、プレイヤキャラクタCの位置またはエフェクト表現の取得位置Lに付随して設定される。図7の例において、4つの仮想出力源T1〜T4は、プレイヤキャラクタCの位置から直交する4方向に所定距離離れた位置に設定される。
各特徴点Pi(B)における仮想出力源T1〜T4の方向および/または特徴点Pi(B)からの距離は、すべての特徴点Pi(B)において共通であってもよいし、特徴点Pi(B)ごとに異なっていてもよい。また、仮想出力源の数は、1つ以上3つ以下でもよいし、4つより多くてもよい。また、複数の仮想出力源を設定する場合、特徴点Pi(B)回りに等間隔に配置してもよいし、非等間隔に配置してもよい。
ここで、プレイヤキャラクタCの位置と仮想出力源T1との間に所定の遮蔽物が存在する場合、当該仮想出力源が遮蔽物よりプレイヤキャラクタCの位置側の位置(移動可能領域SM内)に設定変更される。図7の例では、境界領域EBに含まれる特徴点Pxにおいて、仮想出力源T3,T4と、特徴点Pxとの間にそれぞれ境界線Bが存在する。このため、当該特徴点Pxにおける特定音声データの音源位置として特徴点Pxと仮想出力源T3,T4との間の線分上かつ交差する境界線Bの内側(特徴点Px側)に補正後の出力源位置T3’,T4’がそれぞれ設定される。
例えば、図7の例において、プレイヤキャラクタCの位置が特徴点Pxに位置した場合、特徴点情報取得手段32は、プレイヤキャラクタCの位置に最も近い位置にある特徴点Pnとして境界領域EBに含まれる特徴点Pxの情報を取得する。この場合、仮想出力源設定手段36は、プレイヤキャラクタCの位置を基準とする4つの仮想出力源として、特徴点Pxにおける仮想出力源T1,T2および補正後の仮想出力源T3’,T4’を設定する。以下、単に仮想出力源T1,T2,T3’,T4’と称して説明する。
例えば、図7の例において、移動可能領域SMが洞窟の内部である場合、境界線Bより外側は洞窟の外側となる。この場合、仮想出力源T3,T4の位置では、洞窟の外の情報が取得されてしまい、洞窟の中なのに洞窟の外の音(例えば鳥のさえずり等)が聞こえてくるという矛盾が生じ得る。したがって、このような場合には、上述したように、仮想出力源T3,T4を洞窟内(境界線Bより内側)に配置するように設定変更することにより、このような矛盾を防ぎ、よりリアルな表現を行うことができる。
エフェクト表現変更手段331は、仮想出力源が第1領域E1または第2領域E2に位置する場合は(図7の例では仮想出力源T1が該当する)、対応する第1領域E1に対応する第1のエフェクト表現の出力源が当該仮想出力源T1に存在すると仮定して対応する特定音声データ(第1の特定音声データ)を加工する。
また、仮想出力源が境界領域EBに位置する場合は(図7の例では仮想出力源T2,T3’,T4’が該当する)、境界領域EBに接続される第1領域E1および第2領域E2の双方に対応する第1および第2のエフェクト表現の出力源が当該境界領域EBに位置する仮想出力源T2,T3’,T4’に存在すると仮定して、対応する特定音声データ(第1の特定音声データおよび第2の特定音声データ)を加工する。エフェクト表現変更手段331は、これらを加えることにより、プレイヤキャラクタCの位置における音声出力表現(エフェクト表現)を実行する。
このように、仮想空間Sにおいて異なるエフェクト表現が出力される領域E1,E2間に両方のエフェクト表現が出力される境界領域EBが設けられる。したがって、異なるエフェクト表現が出力される領域E1,E2間におけるエフェクト表現の変化を滑らかに行うことができる。この結果、エフェクト表現による演出のための処理負荷の増大を抑制しつつ、ゲーム音による多彩な演出を行うことができる。
さらに、エフェクト表現変更手段331は、境界領域EBに含まれる仮想出力源T2,T3’,T4’における境界領域EB内の所定の基準位置との位置関係に応じて第1のエフェクト表現に対する第2のエフェクト表現の出力比を変化させて出力する。本実施の形態において、所定の基準位置は、基準位置領域EAに設定される。これに代えて、所定の基準位置は、基準位置領域EA内に設定される所定の基準点でもよいし、基準位置領域EAに含まれる一の特徴点Pi(B)の位置でもよい。
エフェクト表現変更手段331は、基準位置領域EAから境界領域EBに含まれる各仮想出力源T2,T3’,T4’までの距離および基準位置領域EAから隣り合う出力源領域E1,E2の何れの側に位置するかを取得する。図7の例において、仮想出力源T2は、第2領域E2側に位置し、仮想出力源T3’,T4’は、第1領域E1側に位置する。基準位置領域EAからの距離は、仮想出力源T4’が最も短く、仮想出力源T3’,T2は同じ距離となっている。すなわち、(T4’までの距離)<(T3’までの距離)=(T2までの距離)となっている。
エフェクト表現変更手段331は、境界領域EBに含まれる仮想出力源T2,T3’,T4’が基準位置に対して第1領域E1側に離れる程、第1のエフェクト表現の出力(例えば音量、反響の長さ等)を第2のエフェクト表現の出力に対して大きくする。また、エフェクト表現変更手段331は、境界領域EBに含まれる仮想出力源T2,T3’,T4’が基準位置に対して第2領域E2側に離れる程、第2のエフェクト表現の出力を第1のエフェクト表現の出力に対して大きくする。
例えば、図7の例では、エフェクト表現変更手段331は、仮想出力源T4’において(第1のエフェクト表現の出力):(第2のエフェクト表現の出力)=70:30とする。また、エフェクト表現変更手段331は、仮想出力源T3’において(第1のエフェクト表現の出力):(第2のエフェクト表現の出力)=60:40とする。また、エフェクト表現変更手段331は、仮想出力源T2において(第1のエフェクト表現の出力):(第2のエフェクト表現の出力)=40:60とする。また、仮想出力源が基準位置領域EA内にある場合は、(第1のエフェクト表現の出力):(第2のエフェクト表現の出力)=50:50としてもよい。
このように、境界領域EBに仮想出力源T2,T3’,T4’が位置した場合における特定音声データに基づくエフェクト表現の出力を、境界領域EB内に設定された基準位置(基準位置領域EA)と仮想出力源T2,T3’,T4’との位置関係に応じて隣り合う領域E1,E2に対応する複数種類の特定音声データに基づくエフェクト表現の出力の強弱が調整される。したがって、異なる特定音声データに基づくエフェクト表現が実行される複数の領域E1,E2間における音響効果の変化をより滑らかに行うことができる。
なお、本実施の形態においては、仮想出力源T1〜T4の情報を、特徴点Pi(B)の環境情報に含めることにより、音の聴取位置Lを基準として設定される仮想出力源を間接的に設定する態様について説明した。すなわち、本実施の形態においては、プレイヤキャラクタCが移動した位置に最も近い位置の特徴点Pi(B)の環境情報として設定されている仮想音源位置の情報を取得することにより、プレイヤキャラクタCの位置における仮想音源位置が設定されている。
この場合、さらに、特徴点情報取得手段32は、プレイヤキャラクタCの位置と情報を取得した特徴点Pi(B)との位置関係に基づいて仮想出力源T1〜T4の位置を補間することにより、プレイヤキャラクタCの位置における仮想出力源T1〜T4を算出してもよい。また、特徴点情報取得手段32は、複数の特徴点Pi(B)の情報に基づいてプレイヤキャラクタCの位置における仮想出力源T1〜T4を算出してもよい。
これに代えて、プレイヤキャラクタCの位置から所定の方向に所定距離離れた位置が仮想出力源として直接的に設定されてもよい。すなわち、プレイヤキャラクタCの移動に伴って、仮想出力源も移動するようにしてもよい。
以上、本発明の実施の形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
例えば、上記実施の形態においては、「特徴点を利用したエフェクト表現の加工処理」、「仮想カメラの向きに基づくエフェクト表現の加工処理」、および「隣接する出力源領域間におけるエフェクト表現の移行処理」を何れも備えた例を示したが、各処理はそれぞれ独立してゲームプログラムに適用可能である。
例えば、「仮想カメラの向きに基づくエフェクト表現の加工処理」を、仮想空間Sに等間隔の格子状に配置された複数の特徴点を有する構成に適用しても上記効果を奏する。また、例えば、「隣接する出力源領域間におけるエフェクト表現の移行処理」を、複数の特徴点Piを用いない従来の構成(領域ごとに音声データが設定される構成)に適用しても上記効果を奏する。
また、上記実施の形態においては、エフェクト表現の取得位置(音の聴取位置L)の設定基準となるキャラクタがプレイヤキャラクタCである場合について説明したが、これに代えて、敵キャラクタ等のノンプレイヤキャラクタの位置に基づいてエフェクト表現の取得位置が設定されてもよい。
また、上記実施の形態においては、エフェクト表現として、周囲の環境に応じて特定音声データの加工を行うことによる音声出力表現を行う例を示したが、これに限られない。例えば、音声出力表現に加えてまたはこれに代えて、エフェクト表現として、周囲の環境に応じた特定の光の照射データの加工を行うことによる光の照射表現を行ってもよい。また、エフェクト表現として、風、雨等の周囲の環境によって影響され得るエフェクト表現の演出に適用してもよい。
また、上述した説明では、一人のユーザがオフラインゲームを行う場合について例示したが、本発明は、複数のユーザが各自のプレイヤキャラクタを同一の仮想ゲーム空間内に登場させ、これらを協力させて行動させるオンラインゲームにおいても適用することができる。
また、上記実施の形態では携帯型のゲーム装置について説明したが、据え置き型のゲーム装置、携帯電話機、およびパーソナルコンピュータなどのコンピュータについても、本発明を好適に適用することができる。