説明

ビデオゲーム処理装置、およびビデオゲーム処理プログラム

【課題】音響シミュレーションに要する処理負荷を軽減させることができるようにする。
【解決手段】ビデオゲーム処理装置100が、仮想空間において音を遮蔽する三次元オブジェクトである遮蔽オブジェクト(例えば、トンネルO1,O2)に関して、同一断面形状が連続するトンネル形状の遮蔽オブジェクトの軸を示すポリラインの座標と、ポリラインに対する垂直方向の断面形状とを含む遮蔽オブジェクト情報を記憶する遮蔽オブジェクト情報記憶部12bを備え、仮想空間における遮蔽オブジェクトに対する音源位置(例えば、音源A1,A2,A3,A4の位置)の状況を判定し、仮想空間における遮蔽オブジェクトに対する聴取位置(例えば、プレイヤキャラクタの位置である聴取位置P)の状況を判定し、判定結果に基づいて、遮蔽オブジェクトが音源位置から聴取位置へ向かう音を遮蔽するか否かを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プレイヤが操作するプレイヤキャラクタが存在する仮想空間を表示画面上に表示してビデオゲームの進行を制御するための技術に関する。
【背景技術】
【0002】
従来のビデオゲーム処理装置におけるサウンドシステム(ゲームの進行に応じて音声を出力するためのシステム)では、仮想空間に音響遮蔽物(以下、遮蔽物と呼ぶ。)が存在する場合、仮想空間における音源により発生する音に対する遮蔽物の影響を考慮して、聴取位置(例えば、プレイヤキャラクタの位置)で聴き取られる音(聴取音)を決定するための処理(音響処理)を実行している。
【0003】
このようなビデオゲーム処理装置には、例えば、仮想三次元空間内にオブジェクトを配置し、所定の発音位置から発音される音を所定の聴取位置において音響シミュレーションをする場合の音響シミュレーションの対象となる音場空間(すなわち、仮想空間における音の響きを示す空間。音響空間)を、複数の空間オブジェクト(所定の音響パラメータが与えられた仮想的なオブジェクト)を組み合せることで構成するものがある(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−267675号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来のビデオゲーム処理装置では、音響空間を構成する空間オブジェクトの数や形状の複雑度に応じて、音響シミュレーションに要する処理負荷が大きくなるという問題があった。
【0006】
本発明は、上記の問題を解決すべく、音響シミュレーションに要する処理負荷を軽減させることができるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明のビデオゲーム処理装置は、プレイヤが操作するプレイヤキャラクタが存在する仮想空間を表示画面上に表示してビデオゲームの進行を制御するビデオゲーム処理装置であって、前記仮想空間において音を遮蔽する三次元オブジェクトである遮蔽オブジェクトに関して、同一断面形状が連続するトンネル形状の遮蔽オブジェクトの軸を示すポリラインの座標と、該ポリラインに対する垂直方向の断面形状とを含む遮蔽オブジェクト情報を記憶する遮蔽オブジェクト情報記憶手段と、前記仮想空間における前記遮蔽オブジェクトに対する音源位置の状況を判定する音源位置状況判定手段と、前記仮想空間における前記遮蔽オブジェクトに対する聴取位置の状況を判定する聴取位置状況判定手段と、前記音源位置状況判定手段と前記聴取位置状況判定手段とによる判定結果に基づいて、前記遮蔽オブジェクトが前記音源位置から前記聴取位置へ向かう音を遮蔽するか否かを判定する遮蔽判定手段とを含むことを特徴とする。
【0008】
上記の構成としたことで、音響シミュレーションに要する処理負荷を軽減させることができるようになる。
【0009】
前記音源位置状況判定手段と前記聴取位置状況判定手段は、前記音源位置と前記聴取位置それぞれの状況として、前記遮蔽オブジェクトの内部に位置しているか否かを判定し、前記遮蔽判定手段は、前記音源位置と前記聴取位置との状況が同一である場合に、前記遮蔽オブジェクトが前記音を遮蔽しないと判定する構成とされていてもよい。
【0010】
前記遮蔽オブジェクト情報は、前記遮蔽オブジェクトの少なくとも一方の端部の位置を示す端部座標と、該端部以外の部分である中間部の位置を示す中間部座標とを有し、前記遮蔽判定手段は、前記音源位置と前記聴取位置との状況が同一でない場合に、前記音源位置と前記聴取位置とを結ぶ線分を特定する線分特定手段と、該線分特定手段により特定された線分が前記遮蔽オブジェクトの中間部と端部のどちらを跨ぐかを判定する交差判定手段とを有し、該交差判定手段による判定結果に応じて、前記遮蔽オブジェクトが前記音源位置から前記聴取位置へ向かう音を遮蔽するか否かを判定する構成とされていてもよい。
【0011】
前記遮蔽判定手段は、前記交差判定手段により前記線分が前記中間部を跨ぐと判定された場合に、前記遮蔽オブジェクトが前記音を遮蔽すると判定し、前記交差判定手段により前記線分が前記中間部を跨がずに前記端部を跨ぐと判定された場合に、前記遮蔽オブジェクトが前記音を遮蔽しないと判定する構成とされていてもよい。
【0012】
前記遮蔽オブジェクトは、例えば、同一断面形状が非分岐で連続するトンネル形状、または同一断面形状が連続途中で複数に分岐してそれぞれの分岐先が同一断面形状で連続するトンネル形状に形成される。
【0013】
さらに、本発明のビデオゲーム処理プログラムは、プレイヤが操作するプレイヤキャラクタが存在する仮想空間を表示画面上に表示してビデオゲームの進行を制御するようにビデオゲーム処理装置に動作制御させるためのビデオゲーム処理プログラムであって、前記ビデオゲーム処理装置に、前記仮想空間における、前記仮想空間において音を遮蔽する三次元オブジェクトである遮蔽オブジェクトに関して、同一断面形状が連続するトンネル形状の遮蔽オブジェクトの軸を示すポリラインの座標と、該ポリラインに対する垂直方向の断面形状とを含む遮蔽オブジェクト情報を記憶する遮蔽オブジェクト情報記憶手段に記憶された遮蔽オブジェクト情報が示す遮蔽オブジェクトに対する音源位置の状況を判定する音源位置状況判定処理と、前記仮想空間における前記遮蔽オブジェクトに対する聴取位置の状況を判定する聴取位置状況判定処理と、前記音源位置状況判定処理と前記聴取位置状況判定処理とによる判定結果に基づいて、前記遮蔽オブジェクトが前記音源位置から前記聴取位置へ向かう音を遮蔽するか否かを判定する遮蔽判定処理とを実行させるためのビデオゲーム処理プログラム。
【発明の効果】
【0014】
本発明によれば、音響シミュレーションに要する処理負荷を軽減させることができるようになる。
【図面の簡単な説明】
【0015】
【図1】ビデオゲーム処理装置の構成例を示すブロック図である。
【図2】音響情報の格納状態の例を示す説明図である。
【図3】遮蔽オブジェクト情報の格納状態の例を示す説明図である。
【図4】遮蔽オブジェクト情報の特徴について説明するための説明図である。
【図5】遮蔽判定情報の格納状態の例を示す説明図である。
【図6】遮蔽判定処理の例を示すフローチャートである。
【図7】仮想空間の構成の例について説明するための説明図である。
【図8】音響環境が変更した場合について説明するための説明図である。
【図9】遮蔽オブジェクトの他の例を示す説明図である。
【発明を実施するための形態】
【0016】
以下、本発明の一実施の形態について図面を参照して説明する。
【0017】
図1は、本発明の一実施の形態を示すビデオゲーム処理装置100の構成例を示すブロック図である。図1に示すように、ビデオゲーム処理装置100は、ゲームプログラム読取部10、制御部11、記憶部12、表示部13、音声出力部14、およびプレイヤ操作受付部15を含む。
【0018】
ゲームプログラム読取部10は、ゲームプログラムが格納された記憶媒体を内蔵するゲームカートリッジ20を着脱可能に受け付ける。ゲームプログラム読取部10は、挿入されたゲームカートリッジ20の記憶媒体から必要なゲームプログラムを読み出す。なお、この実施形態では、ゲームカートリッジ20に内蔵される記憶媒体には、RPGに分類されるビデオゲームプログラムが記憶されているものとする。ただし、ゲームカートリッジ20に内蔵される記憶媒体に記憶されるビデオゲームプログラムが属するジャンルはRPGに限定されず、例えばシミュレーションゲームなど種々のジャンルのものに適用できる。
【0019】
制御部11は、ゲームプログラム読取部10により読み取られたゲームプログラムを実行し、プレイヤの操作に応じてビデオゲームを進行するための各種の制御を実行する機能を有する。特に、本例における制御部11は、仮想空間における音源位置状況および聴取位置状況の判定、音源位置状況と聴取位置状況の同一性の判定、キャラクタ毎の音響情報の導出、および記憶部12が備えた各種管理テーブルにて管理される各種情報の更新処理などに必要な制御を行う。
【0020】
記憶部12は、ビデオゲームを進行する際に必要なゲームプログラムや各種のデータを記憶する記憶媒体である。記憶部12は、例えばRAMなどの不揮発性のメモリによって構成される。記憶部12には、ゲームの進行に従って登録・更新される各種の情報や、ゲームカートリッジ20に内蔵される記憶媒体から読み出されたゲームにおいて使用される各種の情報が格納される。
【0021】
本例では、記憶部12には、音響管理テーブル12aと、遮蔽オブジェクト情報記憶部12bと、遮蔽判定管理テーブル12cとが含まれる。情報の記憶媒体である各種テーブルや記憶部に格納される各種情報については、後で詳しく説明する。
【0022】
表示部13は、制御部11の制御に従って、ゲーム進行やプレイヤ操作に応じたゲーム画面を表示する表示装置である。表示部13は、例えば、液晶表示装置によって構成される。なお、本例においては、仮想空間を表すゲーム画面が表示され、音響空間は表示されない。ただし、音響空間がゲーム画面として表示される構成とされていてもよい。
【0023】
音声出力部14は、制御部11の制御に従って、ゲーム進行やプレイヤ操作に応じて更新される音響管理テーブル12aに格納された音響情報などに基づいて音声などの音を出力する。
【0024】
プレイヤ操作受付部15は、複数のボタンやマウスなどによって構成されるコントローラからのプレイヤ操作に応じた操作信号を受け付け、その結果を制御部11に通知する。
【0025】
次に、ビデオゲーム処理装置100の記憶部12に格納される各種情報について説明する。
【0026】
図2は、音響管理テーブル12aにて管理される音響情報の格納状態の例を示す説明図である。ここで、「音響情報」とは、予め聴取位置として決められた位置において、仮想空間に存在する発音物体(音源)で発生する音がどのように聴こえるかを示す情報である。本例においては、図2に示すように、音響情報は、キャラクタを一意に特定するためのキャラクタIDと、聴取音と、プレイヤの操作対象であるキャラクタ(プレイヤキャラクタ)を示す操作フラグとを含む。
【0027】
ここで、「聴取音」とは、仮想空間においてプレイヤキャラクタが聴き取る音を示す情報である。本例においては、プレイヤキャラクタの「耳」に対応して互いに異なる2チャンネルの音を出力するための情報を管理する場合を例に説明を行なう。なお、公知のサラウンドシステムに対応するために、聴取音として3つ以上のチャンネルが設定される構成としてもよい。
【0028】
また、操作フラグとは、複数のキャラクタのうち、プレイヤの操作対象となっているキャラクタを特定するためのフラグである。本例においては、操作フラグが「1」に設定されたキャラクタを「プレイヤキャラクタ」とし、プレイヤキャラクタの位置を聴取位置とする。
【0029】
なお、プレイヤキャラクタが変更した場合に、出力する聴取音を素早く変更するために、制御部11は、後述する遮蔽判定処理(図6参照)において、プレイヤキャラクタ以外の各キャラクタに対応する音響情報を適宜更新する構成としてもよい。また、この場合、例えばプレイヤキャラクタになる頻度が低いキャラクタの音響情報を更新する優先度を、他のキャラクタに比べて低くする構成としてもよい。
【0030】
図3は、遮蔽オブジェクト情報記憶部12bにおける遮蔽オブジェクト情報の格納状態の例を示す説明図である。ここで、「遮蔽オブジェクト情報」とは、仮想空間において音を遮蔽する三次元オブジェクトである遮蔽オブジェクトに関して、同一断面形状が連続するトンネル形状の遮蔽オブジェクトの軸を示すポリラインの座標(基準軸)と、ポリラインに対する垂直方向の断面形状(基準形状)とを含む遮蔽オブジェクト情報とを含む情報である。なお、「ポリライン」とは、複数の直線や円弧で構成される単一の図形を意味する。
【0031】
図4は、本例における遮蔽オブジェクト情報の特徴について説明するための説明図である。先ず、例えば図4(A)に示すようなトンネル状の遮蔽オブジェクト101を仮想空間に設定する場合、例えば、図4(B)に示すように、直方体や円柱といった単純形状の遮蔽空間を示すブロック(遮蔽空間ブロック)201〜205を配置して連結させることにより設定する方法が考えられる。この方法を用いる場合、配置した遮蔽空間ブロック間の連結関係を設定することにより、遮蔽オブジェクト101を示す遮蔽オブジェクト情報が作成できる。
【0032】
しかしながら、この方法を用いると、連結させた遮蔽空間ブロックの角が鋭角にならざるを得なくなり、遮蔽オブジェクト101の形状に対して過不足が発生しやすい上に、連結関係を設定するのは情報作成者(例えば、デザイナ)の配置作業コストが莫大で、遮蔽効果の演算処理負荷もかなり大きいものとなる。また、連結させた仮想空間ブロック間の隙間を他の仮想ブロックを用いて埋める作業や、仮想空間ブロックが重複する部分の設定の調整作業などに要する作業コストも生じる。
【0033】
そこで、本例においては、遮蔽オブジェクト情報として、より利便性の高い構成のものを用いることとする。すなわち、本例においては、遮蔽オブジェクト101を示す仮想オブジェクト情報として、例えば図4(C)に示すように、遮蔽オブジェクト101の軸を示すポリライン301と、遮蔽オブジェクト101の断面形状(例えば、「半径Rの円」)とを含むものを用いることとする。すなわち、トンネルなど円柱や直方体が連続するような形状の遮蔽オブジェクトを、「基準となる軸に沿った断面形状(すなわち、基準となる形状)の連続体」とみなして取り扱う。
【0034】
なお、基準軸と基準形状により遮蔽オブジェクトを表現する場合に、基準軸に沿った形状の連続体としての基礎オブジェクトを構成し、構成した基礎オブジェクトに任意の曲率半径を対応付けることにより、基礎オブジェクトにおける屈曲部分を滑らかにする処理を行う構成としてもよい。
【0035】
遮蔽オブジェクト101を示す遮蔽オブジェクト情報として、ポリラインと断面形状とを含むものを用いるようにすることで、遮蔽オブジェクト情報を作成する段階での作業効率を向上させることができるようになる。すなわち、例えばトンネル円柱群の連続性がポリラインという座標データ列により構築されるので、デザイナなどは新たに遮蔽空間ブロックの接続設定をする必要がない。
【0036】
なお、仮想空間に存在するオブジェクト(仮想オブジェクト)による音響への影響内容をオブジェクト化して音響空間に配置する場合、遮蔽オブジェクト情報が示す遮蔽オブジェクトは、音を遮蔽する性質を有する音響オブジェクトを示すこととなる。すなわち、「仮想空間において音を遮断する」とは、「音響空間を用いた音響シミュレーションにおいて、外部から伝わってきた音が内部に伝わらないように遮断する」という意味である。
【0037】
本例においては、図3に示すように、遮蔽オブジェクト情報は、遮蔽オブジェクトを一意に特定するための遮蔽オブジェクトIDと、仮想空間(または音響空間)における遮蔽オブジェクトの存在位置(例えば、任意の代表点の座標)と、基準軸と、基準形状と、遮蔽率とを含む。
【0038】
ここで、「基準軸」とは、遮蔽オブジェクトの軸となるポリラインを示す座標(ポリライン座標)を示す。
【0039】
また、「基準形状」は、遮蔽オブジェクトの基準となる形状を示す。すなわち、例えば基準形状が「半径5(仮想空間における長さを示す数値)」である場合、遮蔽オブジェクトは、ポリライン座標上の1点を中心とする「半径5」の長さを有する円が連続して接続されることにより構成される単一空間となる。よって、基準形状とは、遮蔽オブジェクトのポリラインに対する垂直方向の断面形状となる。なお、遮蔽オブジェクトの断面が切断箇所により変更するような場合には、それに応じた基準形状が設定されることとなる。
【0040】
本例における「基準軸」「基準形状」により示される領域が、領域外部からの音を遮蔽する遮蔽オブジェクトの体積(または、遮蔽空間の範囲)となる。また、基準軸の端部を示す座標と基準形状とで示される領域が、遮蔽オブジェクトの「端部」の位置を示す端部座標となる。また、基準軸の端部以外の座標と基準形状とで示される領域が、遮蔽オブジェクトの端部以外の部分である「中間部」の位置を示す中間部座標となる。
【0041】
なお、本例における「遮蔽」とは、「遮蔽オブジェクトの外部から内部に向かう音、または遮蔽オブジェクトの内部から外部に向かう音を遮蔽する」という意味である。すなわち、1つの遮蔽オブジェクの内部(または、遮蔽空間の範囲内)における任意の2点に音源位置と聴取位置がある場合、音源位置から聴取位置に向けて発生する音は遮蔽されないものとする。
【0042】
また、遮蔽オブジェクトは、任意の厚みを有する筒状形状であってもよい。この場合、筒状形状の外側と内側とで音が遮蔽される。
【0043】
また、「遮蔽率」とは、各遮蔽オブジェクトが音を遮蔽する割合を示す値である。
【0044】
図5は、遮蔽判定管理テーブル12cにおける遮蔽判定情報の格納状態の例を示す説明図である。ここで、「遮蔽判定情報」とは、音源で発生した音が遮蔽オブジェクトにより遮蔽されるか否かを判定するために用いる情報を示す情報である。図5に示すように、本例においては、遮蔽判定情報は、音源を一意に特定するための音源IDと、音源位置と、音源位置状況と、可聴領域フラグと、プレイヤキャラクタの位置を示す聴取位置と、聴取位置状況と、遮蔽フラグとを含む。
【0045】
ここで、「音響位置状況」とは、仮想空間における遮蔽オブジェクトに対する音源位置の状況を示す情報である。本例においては、「音響位置状況」として、音響位置が遮蔽オブジェクトの内部に位置するか否かが示される。また、音源位置が遮蔽オブジェクトの内部に位置する場合には、遮蔽オブジェクトを示す遮蔽オブジェクトIDが登録される。
【0046】
また、「可聴領域フラグ」とは、音響処理の対象とする範囲内に位置する音源を示すフラグである。本例においては、プレイヤキャラクタに予め設定された可聴領域の範囲内に位置する音源に対して「1」が設定され、その他の音源には「0」が設定される。
【0047】
また、「聴取位置状況」とは、仮想空間における遮蔽オブジェクトに対する聴取位置の状況を示す情報である。本例においては、「聴取位置状況」として、聴取位置が遮蔽オブジェクトの内部に位置するか否かが示される。また、聴取位置が遮蔽オブジェクトの内部に位置する場合には、遮蔽オブジェクトを示す遮蔽オブジェクトIDが登録される。
【0048】
なお、音響位置の状況と聴取位置の状況は、制御部10により所定の時機に判定される。
【0049】
また、「遮蔽フラグ」とは、可聴領域フラグに「1」が設定された音源のうち、発生された音が聴取位置に到達するまでに遮蔽される音源を示すフラグである。本例においては、発生した音が遮蔽される音源に対して「1」が設定され、その他の音源には「0」が設定される。
【0050】
次に、本例のビデオゲーム処理装置100の動作について説明する。
【0051】
図6は、音響処理の1つとして、ビデオゲーム処理装置100が実行する遮蔽判定処理の例を示すフローチャートである。遮蔽判定処理では、音源位置と聴取位置それぞれの状況に応じて行う遮蔽判定(具体的には、遮蔽オブジェクトが音源位置から聴取位置へ向かう音を遮蔽するか否かの判定)の判定結果に応じて、音響管理テーブル12aに格納される音響情報を更新するための処理が実行される。なお、本発明に特に関係しない処理については、その内容を省略している場合がある。
【0052】
遮蔽判定処理は、例えば、ゲームの進行中、制御部11が、聴取位置から所定範囲内に音源位置が存在すると判定した場合に開始される。
【0053】
図7は、遮蔽判定処理が開始されたときの仮想空間の構成の例について説明するための説明図である。図7に示すように、本例においては、仮想空間に遮蔽オブジェクトであるトンネルO1、O2と、音源A1,A2,A3,A4と、聴取位置Pとしてプレイヤキャラクタが配置されている場合について説明を行なう。なお、本例においては、可聴領域401が聴取位置Pの位置に応じて移動するものとし、可聴領域401の移動に応じて制御部11が可聴領域フラグを更新するものとする。
【0054】
遮蔽判定処理において、制御部11は、先ず、音響位置状況を判定する(ステップS101)。本例においては、制御部11は、遮蔽判定管理テーブル12cにおいて可聴領域フラグが「1」に設定された音源が、遮蔽オブジェクトに対してどのような状況にあるかを判定する。よって、図7に示した場面では、制御部11は、可聴領域401の範囲内に位置する音源A1,A2,A3が、それぞれトンネルO1,02の内部に位置するか否かを判定し、判定結果を遮蔽判定管理テーブル12cに登録する。
【0055】
音響位置状況を判定すると、制御部11は、聴取位置状況を判定する(ステップS102)。本例においては、制御部11は、聴取位置Pが、遮蔽オブジェクトに対してどのような状況にあるかを判定する。よって、図7に示した場面では、制御部11は、聴取位置がトンネルO1,O2の外部に位置すると判定して、判定結果を遮蔽判定管理テーブル12cに登録する。
【0056】
なお、音響位置状況及び聴取位置状況の判定処理は、例えばトンネル形状の遮蔽オブジェクト(例えば遮蔽オブジェクト101)である場合には、遮蔽オブジェクトにおけるポリライン(例えばポリライン301)から該当位置(例えば音源A1の位置、聴取位置P)までの距離が、遮蔽オブジェクトの断面円の半径(例えば半径R)の長さ以下であるか否かを判定することによって行われる。該当位置までの距離が遮蔽オブジェクトの断面円の半径以下(同値となることはないため半径未満としてもよい)である場合には、該当位置が遮蔽オブジェクト内(トンネル内)に位置しているものと判定する。また、該当位置までの距離が遮蔽オブジェクトの断面円の半径以上(同値となることはないため半径を超えるとしてもよい)である場合には、該当位置が遮蔽オブジェクト外(トンネル外)に位置しているものと判定する。
【0057】
聴取位置状況を判定すると、制御部11は、各音源の音源位置状況と聴取位置状況とが一致するか否かを判定する(ステップS103)。なお、制御部11は、遮蔽オブジェクトの内部に位置する音源と聴取位置がある場合、遮蔽オブジェクトが一致するか否かも判定する。すなわち、図7に示した場面では、制御部11は、音源A2の音源位置状況と聴取位置Pの聴取位置状況とが一致するものと判定する。
【0058】
ここで、聴取位置状況と一致する音源位置状況であると判定した音源に関しては(ステップS103のY)、制御部11は、「非遮蔽」であると判定し、遮蔽管理テーブル12cにおける遮蔽フラグを「0」に設定する(ステップS104)。
【0059】
一方、聴取位置状況と一致しない音源位置状況であると判定した音源に関しては(ステップS103のN)、制御部11は、音源位置と聴取位置とを結ぶ線分が、遮蔽オブジェクトの中間部を跨ぐか否かを判定する(ステップS105)。なお、制御部11は、音源位置と聴取位置のどちらかが内部に位置する遮蔽オブジェクトの中間部を判定対象として用いる。また、ここでの判定は、例えば、遮蔽オブジェクト情報における基準軸と基準形状から特定可能な遮蔽オブジェクトの中間部と端部の位置(すなわち、トンネルO1,O2の側面と開口面の位置)を示す座標群と、遮蔽判定情報における音源位置と聴取位置とを示す座標を結ぶことにより特定可能な線分の位置を示す座標群とを比較することにより実現可能である。
【0060】
よって、図7に示した場面では、線分PA1はトンネルO1の中間部を跨がないと判定され(すなわち、トンネルO1の開口面を跨ぐと判定され)、線分PA3がトンネルO2の中間部(すなわち、トンネルO2の側面の表示領域)を跨ぐと判定される。
【0061】
ここで、中間部を跨がないと判定した線分を構成する音源に関して(ステップS105のN)、制御部11は、「非遮蔽」と判定し、遮蔽管理テーブル12cにおける遮蔽フラグを「0」に設定する(ステップS104)。
【0062】
一方、中間部を跨ぐと判定した線分を構成する音源に関して(ステップS105のY)、制御部11は、「遮蔽」と判定し、遮蔽管理テーブル12cにおける遮蔽フラグを「1」に設定する(ステップS106)。
【0063】
なお、複数の遮蔽オブジェクトが配置されている場合などには、音源位置と聴取位置とを結ぶ線分が遮蔽オブジェクトの中間部と端部とを跨ぐ可能性も考えられる。この場合、本例においては、制御部11は、中間部を跨いでいることから「遮蔽」と判定して遮蔽フラグに「0」を設定する。
【0064】
遮蔽フラグの設定を実行すると(ステップS104、S106)、制御部11は、可聴領域フラグが「1」に設定された全ての音源に関して遮蔽判定(すなわち、遮蔽フラグの設定)を終えたか否かを判定する(ステップS107)。本例においては、制御部11は、遮蔽判定の履歴を保存しておくことにより、必要な遮蔽判定を全て終えたか否かを判定する。
【0065】
ここで、全ての遮蔽判定を終えていないと判定すると(ステップS107のN)、制御部11は、ステップS103の処理に移行する。一方、全ての遮蔽判定を終えたと判定すると(ステップS107のY)、制御部11は、遮蔽フラグが「1」に設定された音源で発生する音は遮蔽オブジェクトにより遮蔽されるものとして音響シミュレーションを行い、聴取音を導出する(ステップS106)。
【0066】
図7に示した場面においては、音源A3で発生する音はトンネルO2により遮蔽されるものとして取り扱われ、音源A1,A2で発生する音を示す音データと、音源A1,2と聴取位置P間の距離などにより、聴取音が導出される。なお、トンネルO2に設定された遮蔽率が「100%」でない場合、制御部11は、遮蔽率に従って音源A3で発生する音に関する音響シミュレーションを行う。すなわち、例えばトンネルO2の遮蔽率が「90%」の場合、音源A3で発生した音の音量を90%減少させて遮蔽オブジェクトを通過させる。
【0067】
聴取音を導出すると、制御部11は、音響情報を更新し(ステップS109)、ここでの処理を終了する。なお、音響情報を更新すると、制御部11は、更新した音響情報に応じた音を、音声出力部14を用いて出力するための処理を行う。
【0068】
なお、音響情報を更新するとき、制御部11が、プレイヤキャラクタの向きに応じて、音響情報における各チャンネルに割り当てる聴取音を調整する処理を行う構成とされることが好ましい。
【0069】
なお、遮蔽判定処理は、聴取位置や音源位置の変化、または所定の時間間隔の経過などに応じて開始される構成とされていてもよい。遮蔽判定処理の開始判定は、例えばゲームの終了に応じて終了する。
【0070】
また、ゲームの進行に応じて聴取音を導出した場面が他の場面に変更すると、制御部11は、新たに遮蔽判定を行う。
【0071】
図8は、図7に示した場面から聴取位置Pと音源A1が移動した場合の例、すなわち、音響環境が変更した場合について説明するための説明図である。
【0072】
図8に示すように、聴取位置Pが移動すると、制御部11は、移動方向に合わせて可聴領域401の位置を変更する。そして、移動後の聴取位置、音源位置、および遮蔽オブジェクトの存在位置に基づいて、可聴領域フラグ、音響位置状況、聴取位置状況、および遮蔽フラグの設定に必要な処理を行う。
【0073】
図8に示した場面では、制御部11は、音源A1,A2,A3,A4の可聴領域フラグに「1」を設定する。そして、聴取位置Pと各音源A1,A2,A3,A4を結ぶ線分がトンネルO1の中間部を跨ぐか否かを判定する。図8に示した場面においては、制御部11は、音源A1の遮蔽フラグに「0」を設定し、音源A2,A3,A4の遮蔽フラグに「1」を設定する。このような構成とすることにより、聴取位置の状況に応じて可聴領域の大きさを変更するといった処理を行う必要がなくなる。なお、図7に示した場面から図8に示した場面に変化するときに、音源A1が移動しなかった場合、制御部11は、線分PA1について判定することなく、音源A1と聴取位置Pの状況が一致すること(すなわち、音源位置A1と聴取位置PがトンネルO1の内部に位置すること)を理由に、音源A1の遮蔽フラグを「0」に設定することとなる。
【0074】
以上に説明したように、上述した一実施の形態では、プレイヤが操作するプレイヤキャラクタが存在する仮想空間を表示画面上に表示してビデオゲームの進行を制御するビデオゲーム処理装置100が、仮想空間において音を遮蔽する三次元オブジェクトである遮蔽オブジェクト(例えば、トンネルO1,O2)に関して、同一断面形状が連続するトンネル形状の遮蔽オブジェクトの軸を示すポリラインの座標(例えば、基準軸)と、ポリラインに対する垂直方向の断面形状(例えば、基準形状)とを含む遮蔽オブジェクト情報を記憶する遮蔽オブジェクト情報記憶部12bを備え、仮想空間における遮蔽オブジェクトに対する音源位置(例えば、音源A1,A2,A3,A4の位置)の状況を判定し、仮想空間における遮蔽オブジェクトに対する聴取位置(例えば、プレイヤキャラクタの位置である聴取位置P)の状況を判定し、判定結果に基づいて、遮蔽オブジェクトが音源位置から聴取位置へ向かう音を遮蔽するか否かを判定する構成としているので、音響シミュレーションに要する処理負荷を軽減させることができるようになる。
【0075】
すなわち、空間オブジェクトの数や形状に関わらず、音源位置と音場位置との状況に応じて音の遮蔽判定を行うことができるので、音響シミュレーションに要する処理負荷を軽減させることができるようになる。
【0076】
また、遮蔽オブジェクト情報として必要とされる情報量を抑えることができるようになる。すなわち、トンネルなど円柱や直方体が連続するような形状の遮蔽オブジェクトに関して、例えば「複数の空間オブジェクトが連続するもの」と捉える場合に比べて、「基準となる軸に沿った基準となる形状の連続体」と捉えるほうが、遮蔽オブジェクトを示すために必要な情報量が少なくなる。その結果、ビデオゲーム処理装置に記憶される遮蔽オブジェクト情報を作成する作業に要する負担が軽減されることとなる。
【0077】
また、トンネル形状は実際に映像的に構成されるトンネルの形状に近いものであり、ボックスその他の代替遮蔽手段を用いるよりも実際に即した音響体験をプレイヤに与えることができるようになる。また、トンネル形状は種々のゲームにおいて頻繁に現れるので、作業を効率化した場合に期待できる効果が大きく、実用性が高い。
【0078】
また、上述した実施の形態では、ビデオゲーム処理装置100が、音源位置(例えば、音源A1,A2,A3,A4の位置)と聴取位置Pそれぞれの状況として、遮蔽オブジェクト(例えば、トンネルO1,O2)の内部に位置しているか否かを判定し、音源位置と聴取位置との状況が同一である場合に(例えば、同一の遮蔽オブジェクトの内部に位置している場合や、音源位置も聴取位位置も遮蔽オブジェクトの内部に位置していない場合に)、遮蔽オブジェクトが音を遮蔽しないと判定する構成としているので、簡単な処理で音響環境に対応した遮蔽判定を行うことができるようになる。
【0079】
また、上述した実施の形態では、遮蔽オブジェクト情報は、遮蔽オブジェクトの少なくとも一方の端部の位置を示す端部座標(例えば、遮蔽オブジェクト情報における基準軸の端部)と、該端部以外の部分である中間部の位置を示す中間部座標(例えば、遮蔽オブジェクト情報における基準軸の端部以外の座標と基準形状とで示される領域を示す座標)とを有し、ビデオゲーム処理装置100は、音源位置(例えば、音源A1,A2,A3,A4の位置)と聴取位置Pとの状況が同一でない場合に、音源位置と聴取位置Pとを結ぶ線分を特定し、特定した線分が遮蔽オブジェクトの中間部と端部のどちらを跨ぐかを判定し、判定結果に応じて、遮蔽オブジェクトが音源位置から聴取位置Pへ向かう音を遮蔽するか否かを判定する構成としているので、より実際の音響に即した音響体験をユーザに与える事ができるようになる。
【0080】
また、上述した実施の形態では、ビデオゲーム処理装置100が、線分(例えば、線分PA3)が中間部(例えば、トンネルO2の側面の表示領域)を跨ぐと判定した場合に、遮蔽オブジェクト(例えば、トンネルO2)が音を遮蔽すると判定し、線分(例えば、線分PA1)が中間部を跨がずに端部(例えば、トンネルO1の開口面)を跨ぐと判定した場合に、遮蔽オブジェクト(例えば、トンネルO1)が音を遮蔽しないと判定する構成としているので、遮蔽オブジェクト情報の作成者が遮蔽オブジェクトの端部を指示することなく、遮蔽オブジェクトの端部に対して遮蔽無視の効果を与えることができるようになる。特に、トンネル形状のオブジェクトを遮蔽オブジェクトとして作成する場合に、開口部に対して容易に遮蔽無視の効果を与えることができるようになる。
【0081】
なお、上述した実施の形態では、遮蔽オブジェクトは、同一断面形状が非分岐で連続するトンネル形状(図3(C)参照)であるものとして説明していたが、例えば図9に示すように、同一断面形状が連続途中で複数に分岐してそれぞれの分岐先が同一断面形状で連続するトンネル形状についても同様に適用可能である。すなわち、いずれのトンネル形状についても、上述した各処理と同様に処理することができる。例えば、音響位置状況及び聴取位置状況の判定処理については、図9に示す遮蔽オブジェクトにおけるポリラインから該当位置A5までの距離が、その遮蔽オブジェクトの断面円の半径の長さ以下であるか否かを判定することとすることができ、同一断面形状が非分岐で連続するトンネル形状の場合と同様の処理によって判定することができる。なお、図9に示す例では、2つに分岐するものが明示されているが、3つ以上に分岐するものであってもよいし、複数個所に分岐があるものであってもよい。
【0082】
なお、上述した実施の形態における音響位置状況及び聴取位置状況の判定処理方法は一例であり、例えば、遮蔽オブジェクトの内部の位置を示す座標群と、判定対象とされている該当位置の座標とを比較することにより判定するなど、他の処理方法であってもよい。
【0083】
なお、上述した実施形態では、ビデオゲーム処理装置100がゲームカートリッジ20から読み取ったゲームプログラムに基づいて上述したゲーム処理などの各種の処理を実行する構成としていたが、ゲームサーバからインターネットなどの通信ネットワークを介してゲームプログラムを取得するようにしてもよい。また、ビデオゲーム処理装置100がゲームサーバとして機能し、通信ネットワークを介してゲームプログラムをゲーム端末に提供するようにしてもよい。
【0084】
なお、上述した実施の形態では、ビデオゲーム処理装置100は、自己が備える記憶装置(記憶部12)に記憶されている制御プログラム(ビデオゲーム処理プログラム)に従って、上述した各種の処理を実行する。
【産業上の利用可能性】
【0085】
本発明によれば、音響シミュレーションに要する処理負荷を軽減させたビデオゲームを提供するのに有用である。
【符号の説明】
【0086】
10 ゲームプログラム読取部
11 制御部
12 記憶部
13 表示部
14 音声出力部
15 プレイヤ操作受付部
100 ビデオゲーム処理装置

【特許請求の範囲】
【請求項1】
プレイヤが操作するプレイヤキャラクタが存在する仮想空間を表示画面上に表示してビデオゲームの進行を制御するビデオゲーム処理装置であって、
前記仮想空間において音を遮蔽する三次元オブジェクトである遮蔽オブジェクトに関して、同一断面形状が連続するトンネル形状の遮蔽オブジェクトの軸を示すポリラインの座標と、該ポリラインに対する垂直方向の断面形状とを含む遮蔽オブジェクト情報を記憶する遮蔽オブジェクト情報記憶手段と、
前記仮想空間における前記遮蔽オブジェクトに対する音源位置の状況を判定する音源位置状況判定手段と、
前記仮想空間における前記遮蔽オブジェクトに対する聴取位置の状況を判定する聴取位置状況判定手段と、
前記音源位置状況判定手段と前記聴取位置状況判定手段とによる判定結果に基づいて、前記遮蔽オブジェクトが前記音源位置から前記聴取位置へ向かう音を遮蔽するか否かを判定する遮蔽判定手段とを含む
ことを特徴とするビデオゲーム処理装置。
【請求項2】
前記音源位置状況判定手段と前記聴取位置状況判定手段は、前記音源位置と前記聴取位置それぞれの状況として、前記遮蔽オブジェクトの内部に位置しているか否かを判定し、
前記遮蔽判定手段は、前記音源位置と前記聴取位置との状況が同一である場合に、前記遮蔽オブジェクトが前記音を遮蔽しないと判定する
請求項1または請求項2記載のビデオゲーム処理装置。
【請求項3】
前記遮蔽オブジェクト情報は、前記遮蔽オブジェクトの少なくとも一方の端部の位置を示す端部座標と、該端部以外の部分である中間部の位置を示す中間部座標とを有し、
前記遮蔽判定手段は、
前記音源位置と前記聴取位置との状況が同一でない場合に、前記音源位置と前記聴取位置とを結ぶ線分を特定する線分特定手段と、
該線分特定手段により特定された線分が前記遮蔽オブジェクトの中間部と端部のどちらを跨ぐかを判定する交差判定手段とを有し、
該交差判定手段による判定結果に応じて、前記遮蔽オブジェクトが前記音源位置から前記聴取位置へ向かう音を遮蔽するか否かを判定する
請求項2記載のビデオゲーム処理装置。
【請求項4】
前記遮蔽判定手段は、
前記交差判定手段により前記線分が前記中間部を跨ぐと判定された場合に、前記遮蔽オブジェクトが前記音を遮蔽すると判定し、
前記交差判定手段により前記線分が前記中間部を跨がずに前記端部を跨ぐと判定された場合に、前記遮蔽オブジェクトが前記音を遮蔽しないと判定する
請求項3記載のビデオゲーム処理装置。
【請求項5】
前記遮蔽オブジェクトは、同一断面形状が非分岐で連続するトンネル形状、または同一断面形状が連続途中で複数に分岐してそれぞれの分岐先が同一断面形状で連続するトンネル形状に形成される
請求項1から請求項4のうちいずれかに記載のビデオゲーム処理装置。
【請求項6】
プレイヤが操作するプレイヤキャラクタが存在する仮想空間を表示画面上に表示してビデオゲームの進行を制御するようにビデオゲーム処理装置に動作制御させるためのビデオゲーム処理プログラムであって、
前記ビデオゲーム処理装置に、
前記仮想空間における、前記仮想空間において音を遮蔽する三次元オブジェクトである遮蔽オブジェクトに関して、同一断面形状が連続するトンネル形状の遮蔽オブジェクトの軸を示すポリラインの座標と、該ポリラインに対する垂直方向の断面形状とを含む遮蔽オブジェクト情報を記憶する遮蔽オブジェクト情報記憶手段に記憶された遮蔽オブジェクト情報が示す遮蔽オブジェクトに対する音源位置の状況を判定する音源位置状況判定処理と、
前記仮想空間における前記遮蔽オブジェクトに対する聴取位置の状況を判定する聴取位置状況判定処理と、
前記音源位置状況判定処理と前記聴取位置状況判定処理とによる判定結果に基づいて、前記遮蔽オブジェクトが前記音源位置から前記聴取位置へ向かう音を遮蔽するか否かを判定する遮蔽判定処理とを
実行させるためのビデオゲーム処理プログラム。

【図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


【公開番号】特開2012−45201(P2012−45201A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−190756(P2010−190756)
【出願日】平成22年8月27日(2010.8.27)
【出願人】(308033283)株式会社スクウェア・エニックス (173)
【Fターム(参考)】