(58)【調査した分野】(Int.Cl.,DB名)
キャラクタが存在する仮想空間を表示画面上に表示してビデオゲームの進行を制御するようにビデオゲーム処理装置に動作制御させるためのビデオゲーム処理プログラムであって、
前記仮想空間における所定の聴取位置にて聴き取られる聴取音を音声出力手段により出力する音響情報として管理する音響管理テーブルと、前記仮想空間に存在する仮想オブジェクトのうち当該仮想空間における音を遮蔽する仮想オブジェクトを示す遮蔽オブジェクトが前記仮想空間における音を遮蔽する割合を示す遮蔽率と当該遮蔽オブジェクトの仮想空間における配置位置とを含む遮蔽オブジェクト情報を管理する遮蔽オブジェクト管理テーブルとを備えた前記ビデオゲーム処理装置に、
前記仮想空間における音源位置と、聴取位置と、前記遮蔽オブジェクト情報とに基づいて聴取音を導出する聴取音導出処理と、
該聴取音導出処理にて聴取音を導出したことに応じて前記音響情報を更新する音響情報更新処理とを実行させ、
前記遮蔽オブジェクトには、多角形状の基礎遮蔽板が複数連結された形状を成す連結遮蔽板により構成される連結遮蔽板形状オブジェクトが含まれており、
前記遮蔽オブジェクト情報は、音源から発せられた音が連結遮蔽板形状オブジェクトを迂回するか否かを示す迂回情報を含み、
前記聴取音導出処理では、前記迂回情報を加味して聴取音を導出し、
迂回情報は、連結遮蔽板形状オブジェクトの上側を音が迂回するか否かを示す上側迂回情報、連結遮蔽板形状オブジェクトの下側を音が迂回するか否かを示す下側迂回情報、連結遮蔽板形状オブジェクトの右側を音が迂回するか否かを示す右側迂回情報、および連結遮蔽板形状オブジェクトの左側を音が迂回するか否かを示す左側迂回情報を含む
ことを特徴とするビデオゲーム処理プログラム。
【発明を実施するための形態】
【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により実行される音響処理のために用いられる遮蔽オブジェクトについて説明する。
【0026】
図2は、仮想空間において音を遮蔽する機能を有する仮想オブジェクトである遮蔽オブジェクト101の例を示す説明図である。
図3は、遮蔽オブジェクト101を構成する基礎遮蔽板101a,101b、101cの例を示す説明図である。
図4は、遮蔽オブジェクト101内における基礎遮蔽板101a,101b、101cの配置状態の例を示す説明図である。
図5は、遮蔽オブジェクト101内における基礎遮蔽板101a,101b、101cの配置状態を遮蔽オブジェクト101の上方から見た場合の例を示す説明図である。
【0027】
遮蔽オブジェクト101は、四角形状の3個の基礎遮蔽板101a,101b、101cが連結され2箇所の連結箇所で互いに逆方向に折れ曲がった屏風形状を成し、仮想空間内に配置される例えばブロックで形成された壁であるものとする。なお、遮蔽オブジェクトの形成に用いられる基礎遮蔽板は2個あるいは4個以上であってもよい。
【0028】
遮蔽オブジェクト101として、本例では、四角形状の3個の基礎遮蔽板101a,101b、101cが連結された屏風形状を成す屏風形状遮蔽板110により構成される屏風形状オブジェクトが用いられる。各基礎遮蔽板101a,101b、101cは、連結箇所における互いの辺が同一の長さとされているものであればよく、それぞれ異なる形状であってもよい。
【0029】
図4に示す例では、屏風形状遮蔽板110が遮蔽オブジェクト101の内部に配置されることとしているが、屏風形状遮蔽板110は、遮蔽オブジェクト101の表面側または裏面側に配置されるようにしてもよい。また、
図4に示す例では、遮蔽オブジェクト101は、屏風形状遮蔽板110に厚みを増した形状としているが、厚みを増すことなく屏風形状遮蔽板110と同一形状とするようにしてもよい。
【0030】
なお、
図2〜
図5に示す例では、基礎遮蔽板が連結されて形成される連結遮蔽板の例として屏風形状遮蔽板110を挙げているが、基礎遮蔽板が連結されて形成されるものであればどのようなものであってもよい。また、基礎遮蔽板の例として、四角形状の基礎遮蔽板としているが、3角形状や5角形状などの他の多角形状のものであってもよい。具体的には、屏風形状遮蔽板110は、例えばポリゴンメッシュにより構成される。この場合、屏風形状遮蔽板110は、例えば、3角形状のポリゴンの集合により、あるいは4角形状のポリゴンの集合により構成されることになる。
【0031】
次に、ビデオゲーム処理装置100の記憶部12に格納される各種情報について説明する。
【0032】
図6は、音響管理テーブル12aにて管理される音響情報の格納状態の例を示す説明図である。ここで、「音響情報」とは、予め聴取位置として決められた位置において、仮想空間に存在する発音物体(音源)で発音される音がどのように聴こえるかを示す情報である。本例においては、
図6に示すように、音響情報は、キャラクタを一意に特定するためのキャラクタIDと、聴取音と、プレイヤの操作対象であるキャラクタ(プレイヤキャラクタ)を示す操作フラグとを含む。
【0033】
ここで、「聴取音」とは、仮想空間においてプレイヤキャラクタが聴き取る音を示す情報である。本例においては、プレイヤキャラクタの「耳」に対応して互いに異なる2チャンネルの音を出力するための情報を管理する場合を例に説明を行なう。なお、公知のサラウンドシステムに対応するために、聴取音として3つ以上のチャンネルが設定される構成としてもよい。
【0034】
また、操作フラグとは、複数のキャラクタのうち、プレイヤの操作対象となっているキャラクタを特定するためのフラグである。本例においては、操作フラグが「1」に設定されたキャラクタを「プレイヤキャラクタ」とし、プレイヤキャラクタの位置を聴取位置とする。
【0035】
なお、プレイヤキャラクタが変更した場合に、出力する聴取音を素早く変更するために、制御部11は、後述する音響情報更新処理(
図9参照)において、プレイヤキャラクタ以外の音響情報を適宜更新する構成としてもよい。また、この場合、例えばプレイヤキャラクタになる頻度が低いキャラクタの音響情報を更新する優先度を、他のキャラクタに比べて低くする構成としてもよい。
【0036】
図7は、仮想オブジェクト管理テーブル12bにて管理される仮想オブジェクト情報の格納状態の例を示す説明図である。ここで、「仮想オブジェクト情報」とは、仮想空間に存在するオブジェクト(仮想オブジェクト)が有する形状や特性などを示す情報である。本例においては、
図7に示すように、仮想オブジェクト情報は、仮想オブジェクトを一意に特定するための仮想オブジェクトIDと、仮想オブジェクトの種類と、仮想空間における仮想オブジェクトの存在位置と、仮想オブジェクトの形状を示す形状情報と、仮想オブジェクトの遮蔽率と、上下左右方向それぞれの迂回フラグとを含む。
【0037】
ここで、本例における仮想オブジェクトの種類には、非遮蔽物と遮蔽物とが含まれるものとする。仮想オブジェクトの種類が遮蔽物である場合には、その仮想オブジェクトは遮蔽オブジェクトであることを意味する。なお、種類が非遮蔽物である仮想オブジェクトは、音源となる仮想オブジェクトを意味する。よって、仮想オブジェクトの種類が非遮蔽物である場合には、遮蔽率や迂回フラグは設定されない。なお、音源となる仮想オブジェクトについては、別のテーブルで管理するようにしてもよい。
【0038】
また、「遮蔽率」とは、各仮想オブジェクトが音を遮蔽する割合を示す値である。なお、本例においては、遮蔽率が低いほど音を遮蔽する割合が低くなり、遮蔽率が0%になると、仮想オブジェクトは音源から発生する音に影響を与えないものとして取り扱われるようになる。なお、遮蔽率がマイナスとなる場合、音量を増幅させるものとして取り扱われる構成とされていてもよい。
【0039】
ここで、「形状情報」とは、仮想オブジェクトの形状を示す情報である。この形状情報に基づいて、仮想空間に配置された際の仮想オブジェクトが配置されているエリア(座標群)が導出される。
【0040】
「迂回フラグ」は、遮蔽オブジェクトの上側を音が迂回するか否かを示す上側迂回フラグ、遮蔽オブジェクトの下側を音が迂回するか否かを示す下側迂回フラグ、遮蔽オブジェクトの右側を音が迂回するか否かを示す右側迂回フラグ、遮蔽オブジェクトの左側を音が迂回するか否かを示す左側迂回フラグを含む。この迂回フラグにより、連結遮蔽板により構成される例えば屏風形状の遮蔽オブジェクトであっても、上下左右の4個のフラグにより迂回の有無を示すことができる。
【0041】
図8は、遮蔽判定管理テーブル12cにおける遮蔽判定情報の格納状態の例を示す説明図である。ここで、「遮蔽判定情報」とは、音源で発生した音が遮蔽オブジェクトにより遮蔽されるか否かを判定するために用いる情報を示す情報である。
図8に示すように、本例においては、遮蔽判定情報は、音源を一意に特定するための音源IDと、音源位置と、可聴領域フラグと、プレイヤキャラクタの位置を示す聴取位置と、遮蔽フラグとを含む。
【0042】
ここで、「可聴領域フラグ」とは、音響処理の対象とする範囲内に位置する音源を示すフラグである。本例においては、プレイヤキャラクタに予め設定された可聴領域の範囲内に位置する音源に対して「1」が設定され、その他の音源には「0」が設定される。
【0043】
また、「遮蔽フラグ」とは、可聴領域フラグに「1」が設定された音源のうち、発生された音が聴取位置に到達するまでに遮蔽される音源を示すフラグである。本例においては、発生した音が遮蔽される音源に対して「1」が設定され、その他の音源には「0」が設定される。
【0044】
次に、本例のビデオゲーム処理装置100の動作について説明する。
【0045】
図9は、音響処理の1つとして、ビデオゲーム処理装置100が実行する音響情報更新処理の例を示すフローチャートである。音響情報更新処理では、ゲームの進行に応じて、音源位置と聴取位置それぞれの状況に応じて行う遮蔽判定(具体的には、遮蔽オブジェクトが音源位置から聴取位置へ向かう音を遮蔽するか否かの判定)を行い、その判定結果に応じて音響管理テーブル12aに格納される音響情報を更新するための処理が実行される。音響管理テーブル12aに格納される音響情報を更新するための処理が実行される。なお、本発明に特に関係しない処理については、その内容を省略している場合がある。
【0046】
音響情報更新処理は、例えば、ゲームの進行中、制御部11が、聴取位置から所定範囲内に音源位置と仮想オブジェクトとが存在すると判定した場合に開始され、聴取位置から所定範囲内に音源位置と仮想オブジェクトとが存在している間は例えば所定期間毎(16ms毎、1秒ごとなど)に繰り返し実行される。
【0047】
音響情報更新処理において、制御部11は、先ず、音源位置を確認する(ステップS101)。本例においては、制御部11は、遮蔽判定管理テーブル12cにおいて可聴領域フラグが「1」に設定された各音源の位置(音源が位置している座標)を確認する。
【0048】
音源位置を確認すると、制御部11は、聴取位置(聴取位置の座標)を確認する(ステップS102)。本例では、聴取主体となるプレイヤキャラクタの位置を聴取位置として確認する。
【0049】
聴取位置を確認すると、制御部11は、音源位置と聴取位置とを結ぶ線分が、遮蔽オブジェクトを通るか否かを判定する(ステップS103)。ここでの判定は、例えば、遮蔽オブジェクトの形状情報と存在位置から特定可能な遮蔽オブジェクトの配置エリアを示す座標群と、遮蔽判定情報における音源位置と聴取位置とを示す座標を結ぶことにより特定可能な線分の位置を示す座標群とを比較することにより実現可能である。
【0050】
遮蔽オブジェクトを通らないと判定した線分を構成する音源に関しては(ステップS103のN)、制御部11は、「非遮蔽」と判定し、遮蔽判定管理テーブル12cにおける遮蔽フラグを「0」に設定する(ステップS104)。
【0051】
一方、遮蔽オブジェクトを通ると判定した線分を構成する音源に関しては(ステップS103のY)、制御部11は、「遮蔽」と判定し、遮蔽判定管理テーブル12cにおける遮蔽フラグを「1」に設定する(ステップS105)。
【0052】
遮蔽フラグの設定を実行すると(ステップS104、S105)、制御部11は、可聴領域フラグが「1」に設定された全ての音源に関して遮蔽判定(すなわち、遮蔽フラグの設定)を終えたか否かを判定する(ステップS106)。本例においては、制御部11は、遮蔽判定の履歴を保存しておくことにより、必要な遮蔽判定を全て終えたか否かを判定する。
【0053】
ここで、全ての遮蔽判定を終えていないと判定すると(ステップS106のN)、制御部11は、ステップS103の処理に移行する。一方、全ての遮蔽判定を終えたと判定すると(ステップS106のY)、制御部11は、遮蔽フラグが「1」に設定された音源で発生する音は遮蔽オブジェクトにより遮蔽されるものとして音響シミュレーションを行い、聴取音を導出する(ステップS107)。
【0054】
ステップS107では、制御部11は、仮想オブジェクト情報を参照し、音源で発生する音を遮蔽する遮蔽オブジェクトの迂回フラグにより上下左右方向についてそれぞれ音が迂回するか否かを判定し、迂回フラグが示す迂回の有無を加味して音響シミュレーションを行い、聴取音を導出する。
【0055】
聴取音を導出すると、制御部11は、音響情報を更新し(ステップS108)、ここでの処理を終了する。なお、音響情報を更新すると、制御部11は、更新した音響情報に応じた音を、音声出力部14を用いて出力するための処理を行う。
【0056】
なお、音響情報を更新するとき、制御部11が、プレイヤキャラクタの向きに応じて、音響情報における各チャンネルに割り当てる聴取音を調整する処理を行う構成とされることが好ましい。
【0057】
なお、音響情報更新処理は、聴取位置や音源位置の変化、または所定の時間間隔の経過などに応じて開始される構成とされていてもよい。音響情報更新処理の開始判定は、例えばゲームの終了に応じて終了する。
【0058】
以上に説明したように、上述した一実施の形態では、キャラクタが存在する仮想空間を表示画面上に表示してビデオゲームの進行を制御するビデオゲーム処理装置100が、仮想空間における所定の聴取位置(例えば、プレイヤキャラクタの位置)にて聴き取られる聴取音を音声出力手段(音声出力部14)により出力する音響情報として管理する音響管理テーブル(
図6参照)と、仮想空間に存在する仮想オブジェクトのうちその仮想空間における音を遮蔽する仮想オブジェクトを示す遮蔽オブジェクトが仮想空間における音を遮蔽する割合を示す遮蔽率と、その遮蔽オブジェクトの仮想空間における配置位置とを含む遮蔽オブジェクト情報を管理する遮蔽オブジェクト管理テーブル(
図7参照)とを備え、仮想空間における音源位置と、聴取位置と、遮蔽オブジェクト情報とに基づいて聴取音を導出し、聴取音が導出されたことに応じて音響情報を更新し、遮蔽オブジェクトには、多角形状の基礎遮蔽板が複数連結された形状を成す連結遮蔽板により構成される連結遮蔽板形状オブジェクトが含まれている構成としているので、仮想三次元空間(仮想空間)内への複雑な形状の音響遮蔽物の配置に関わる作業負担を軽減することができるようになる。
【0059】
すなわち、多角形状の基礎遮蔽板が複数連結された形状を成す連結遮蔽板により構成される連結遮蔽板形状オブジェクトが仮想空間に配置され、連結遮蔽板形状オブジェクトにより音を遮蔽する構成としているので、基礎遮蔽板に相当する多数の遮蔽板を個別に配置する必要を無くすことができ、仮想空間への音響遮蔽物の配置に関わる作業負担を軽減することができるようになる。
【0060】
また、上述した実施の形態では、遮蔽オブジェクト情報は、音源から発せられた音が連結遮蔽板形状オブジェクトを迂回するか否かを示す迂回情報(迂回フラグ)を含み、ビデオゲーム処理装置100が、迂回情報を加味して聴取音を導出する構成としているので、迂回の有無を加味した聴取音を出力することができるようになる。
【0061】
また、上述した実施の形態では、迂回情報は、連結遮蔽板形状オブジェクトの上側を音が迂回するか否かを示す上側迂回情報、連結遮蔽板形状オブジェクトの下側を音が迂回するか否かを示す下側迂回情報、連結遮蔽板形状オブジェクトの右側を音が迂回するか否かを示す右側迂回情報、および連結遮蔽板形状オブジェクトの左側を音が迂回するか否かを示す左側迂回情報を含む構成としているので、複雑な形状である連結遮蔽板形状オブジェクトについて各方向での迂回の有無を簡単に判定することが可能となる。複雑な形状の音響遮蔽物を仮想三次元空間内に配置する場合には、単純形状の音響遮蔽物を複数配置することによって実現することが考えられるが、各音響遮蔽物の上下左右の各方向について音が迂回するか否かを示す迂回フラグを設定する必要が生じるため、仮想三次元空間内への音響遮蔽物の配置に関わる作業負担が多大なものとなってしまうという問題があった。上述した実施の形態における迂回情報を用いることにより、複雑な形状の音響遮蔽物であっても4方向に対応する4個の迂回フラグを設定するだけで迂回の有無を設定することができるようになり、仮想三次元空間内への音響遮蔽物の配置に関わる作業負担を大幅に軽減することができるようになる。
【0062】
また、多角形状の基礎遮蔽板が複数連結された形状を成す連結遮蔽板により構成される連結遮蔽板形状オブジェクトが仮想空間に配置され、連結遮蔽板形状オブジェクトにより音を遮蔽する構成とし、遮蔽オブジェクト情報は、音源から発せられた音が連結遮蔽板形状オブジェクトを迂回するか否かを示す迂回情報(迂回フラグ)を含み、ビデオゲーム処理装置100が、迂回情報を加味して聴取音を導出する構成とし、迂回情報は、連結遮蔽板形状オブジェクトの上側を音が迂回するか否かを示す上側迂回情報、連結遮蔽板形状オブジェクトの下側を音が迂回するか否かを示す下側迂回情報、連結遮蔽板形状オブジェクトの右側を音が迂回するか否かを示す右側迂回情報、および連結遮蔽板形状オブジェクトの左側を音が迂回するか否かを示す左側迂回情報を含む構成としているので、遮蔽に関するビデオゲーム処理装置100の処理負荷を軽減することが可能となり、遮蔽に関する処理を高速化することができるようになる。例えば、基礎遮蔽板に相当する多数の遮蔽板を個別に配置して連結遮蔽板と同じような形状を実現した場合には、各遮蔽板の接合状態をそれぞれ確認し、接合状態に応じてそれぞれの迂回情報を確認する必要が生じるため処理負荷が多大なものとなるが、連結遮蔽板形状オブジェクトにより音を遮蔽する構成としているので、各遮蔽板の接合状態をそれぞれ確認する処理や接合状態に応じてそれぞれの迂回情報を確認する処理を省略することが可能となり、遮蔽に関する処理を高速化することができるようになるのである。
【0063】
なお、上述した実施形態では、ビデオゲーム処理装置100がゲームカートリッジ20から読み取ったゲームプログラムに基づいて上述したゲーム処理などの各種の処理を実行する構成としていたが、ゲームサーバからインターネットなどの通信ネットワークを介してゲームプログラムを取得するようにしてもよい。また、ビデオゲーム処理装置100がゲームサーバとして機能し、通信ネットワークを介してゲームプログラムをゲーム端末に提供するようにしてもよい。
【0064】
なお、上述した実施の形態では、ビデオゲーム処理装置100は、自己が備える記憶装置(記憶部12)に記憶されている制御プログラム(ビデオゲーム処理プログラム)に従って、上述した各種の処理を実行する。