(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0019】
図1を参照して、本発明の一実施形態に係るゲームシステムについて説明する。
【0020】
図1において、ゲームシステム1は、表示手段の一例である家庭用テレビジョン受像機(以下、モニタと記載する)2と、モニタ2に接続コードを介して接続する据置型のゲーム装置3とから構成される。モニタ2は、2chのステレオスピーカであるスピーカ2L、2Rを備える。また、ゲーム装置3は、ゲーム装置本体5と、端末装置6とを含む。
【0021】
モニタ2は、ゲーム装置本体5から出力されるゲーム画像を表示する。モニタ2は左スピーカ2Lおよび右スピーカ2Rを有している。スピーカ2Lおよび2Rは、ゲーム装置本体5から出力されるゲーム音声を出力する。なお、この例ではモニタ2がこれらスピーカを有する例を示したが、この他、モニタ2に別途外部のスピーカを接続するような形態であってもよい。
【0022】
ゲーム装置本体5は、当該ゲーム装置本体5で読み取り可能な光ディスクに記憶されたゲームプログラム等に基づいてゲーム処理等を実行する。
【0023】
端末装置6は、ユーザが把持可能な入力装置である。ユーザは端末装置6を手に持って動かしたり、あるいは、端末装置6を自由な位置に配置したりして使用することが可能である。端末装置6は、表示手段であるLCD(Liquid Crystal Display:液晶表示装置)21、2chのステレオスピーカであるスピーカ23Lおよび23R(以降では総称してスピーカ23と示すこともある)、ヘッドホン端子、および入力手段(アナログスティックや押下型のボタン、タッチパネル等)等を備える。端末装置6とゲーム装置本体5とは無線(有線であってもよい)によって通信可能である。端末装置6は、ゲーム装置本体5で生成された画像(例えばゲーム画像)のデータをゲーム装置本体5から受信し、当該データが示す画像をLCD61に表示する。また、端末装置6は、ゲーム装置本体5で生成された音声(例えばゲームの効果音やBGM)のデータをゲーム装置本体5から受信し、当該データが示す音声をスピーカ23、あるいは、ヘッドホンが接続されている場合は当該ヘッドホンから出力する。また、端末装置6は、ゲーム装置本体5へ、自機に対して行われた操作の内容を表す操作データを送信する。
【0024】
図2は、ゲーム装置本体5のブロック図である。
図2において、ゲーム装置本体5は、情報処理装置の一例である。本実施形態においては、ゲーム装置本体5はCPU(制御部)11およびメモリ12、システムLSI13、無線通信部14およびAV−IC(Audio Video−Integrated Circuit)15等を有する。
【0025】
CPU11は、メモリ12やシステムLSI13等を用いて所定の情報処理プログラムを実行する。これにより、ゲーム装置3における各種機能(例えば、ゲーム処理)が実現される。
【0026】
システムLSI13には、GPU(Graphics Processor Unit)16、DSP(Digital Signal Processor)17、入出力プロセッサ18、等が含まれる。
【0027】
GPU16は、CPU11からのグラフィクスコマンド(作画命令)に従って画像を生成する。なお、本実施形態においては、ゲーム装置本体5は、モニタ2に表示するゲーム画像と、端末装置6に表示するゲーム画像との両方を生成することがある。以下では、モニタ2に表示されるゲーム画像を「モニタ用ゲーム画像」と呼び、端末装置6に表示されるゲーム画像を「端末用ゲーム画像」と呼ぶことがある。
【0028】
DSP17は、オーディオプロセッサとして機能し、メモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。なお、本実施形態においては、ゲーム音声についてもゲーム画像と同様、モニタ2のスピーカ2aから出力するゲーム音声と、端末装置6のスピーカ23(あるいは端末装置6に接続されたヘッドホン)から出力するゲーム音声との両方が生成されることがある。以下では、モニタ2から出力されるゲーム音声を「モニタ用ゲーム音声」と呼び、端末装置6から出力されるゲーム音声を「端末用ゲーム音声」と呼ぶことがある。
【0029】
入出力プロセッサ31は、無線通信部14を介して、端末装置6との間でデータの送受信を実行したりする。本実施形態では、入出力プロセッサ18は、GPU16が生成したゲーム画像(端末用ゲーム画像)、および、DSP17が生成したゲーム音声(端末用ゲーム音声)のデータを、無線通信部14を経由して端末装置6に送信する。この際、端末用ゲーム画像については、表示画像の遅延が生じないように圧縮して送信するようにしても良い。また、入出力プロセッサ18は、上記無線通信部14を介して、端末装置6から送信される操作データ等を受信し、メモリ12のバッファ領域に記憶(一時記憶)する。
【0030】
また、ゲーム装置本体5において生成される画像および音声のうち、モニタ2に出力される画像データおよび音声データは、AV−IC15によって読み出される。AV−IC15は、図示しないAVコネクタを介して、読み出した画像データをモニタ2に出力するとともに、読み出した音声データをモニタ2に内蔵されるスピーカ2aに出力する。これによって、モニタ2に画像が表示されるとともにスピーカ2aから音声が出力される。
【0031】
図3は、端末装置6の外観構成の一例を示す図である。
図3に示すように、端末装置6は略板状のハウジング20を備える。ハウジング20は、ユーザが両手または片手で把持可能な大きさ(形状)である。また、端末装置6は、表示部の一例であるLCD21を備える。LCD21には、上記端末用ゲーム画像が表示される。
【0032】
また、端末装置6は、スピーカ23を備える。当該スピーカ23はステレオスピーカである。スピーカ23からは、上記端末用ゲーム音声が出力される。また、端末装置6は、所定のヘッドホンが着脱可能なヘッドホン端子24を備える。ここで、端末装置6は、当該ヘッドホン端子にヘッドホンが接続されていないときはスピーカ23からの音声出力を行うが、当該ヘッドホン端子にヘッドホンが接続されているときは、スピーカ23からの音声出力は行わない。つまり、本実施形態では、両者の同時出力は行われず、スピーカ23からの出力とヘッドホンからの出力とは排他的な関係になっている(但し、他の実施例においては同時出力可能としてもよい)。
【0033】
また、端末装置6はタッチパネル22を備える。タッチパネル22は、ハウジング20に設けられる所定の入力面(表示部の画面)に対して入力された位置を検出する位置検出部の一例である。さらに、端末装置6は、操作部(
図4に示す操作部31)として、アナログスティック25、十字キー26、およびボタン27等を備える。
【0034】
図4は、端末装置6の電気的な構成を示すブロック図である。
図4に示すように、端末装置6は、上述のLCD21、タッチパネル22、スピーカ23、および操作部31を備える。また、ヘッドホン端子24を介してヘッドホンが接続可能である。また、端末装置6の姿勢を検出するためのモーションセンサ32を備える。本実施形態では、当該モーションセンサ32として、加速度センサおよびジャイロセンサが備えられている。加速度センサは、xyzの3軸の加速度が検出可能である。ジャイロセンサは、xyzの3軸の角速度が検出可能である。
【0035】
また、端末装置6は、ゲーム装置本体5との無線通信が可能な無線通信部34を備える。本実施形態においては、端末装置6とゲーム装置本体5との間では無線通信が行われるが、他の実施形態においては有線で通信が行われてもよい。
【0036】
また、端末装置6は、端末装置6における動作を制御する制御部33を備える。具体的には、制御部33は、各入力部(タッチパネル22、操作部31、モーションセンサ32)からの出力データを受け取り、操作データとして無線通信部34を介してゲーム装置本体5へ送信する。また、制御部33は、ヘッドホン端子24の接続状態を検知し、その接続状態(接続/未接続)を示すデータ(検知結果)も上記操作データに含めてゲーム装置本体5に送信する。また、制御部33は、ゲーム装置本体5からの端末用ゲーム画像が無線通信部34において受信されると、必要に応じて適宜の処理(例えば、画像データが圧縮されている場合には伸張処理)を行い、ゲーム装置本体5からの画像をLCD21に表示させる。更に、ゲーム装置本体5からの端末用ゲーム音声が無線通信部34において受信されると、制御部33は、ヘッドホンが接続されていない場合はスピーカ23に当該端末用ゲーム音声を出力し、ヘッドホンが接続されているときは当該ヘッドホンに当該端末用ゲーム音声を出力する。
【0037】
次に、
図5〜
図12を参照して、本実施形態のシステムにおいて実行される処理の概要を説明する。
【0038】
本実施形態で行う処理は、仮想3次元空間(以下、単に仮想空間と称す)内に存在する音源オブジェクトが発する音声を複数のスピーカ、例えばステレオスピーカ(左右2つのスピーカで1組のステレオスピーカ)から出力するときの出力制御にかかるものである。具体的には、このような音声出力に際して、実空間における各スピーカの位置関係を考慮した音声出力制御を行うものである。なお、音源オブジェクトとは、所定の音声を発することが可能なオブジェクトとして定義されたオブジェクトである。
【0039】
本実施形態の処理の一例として、次のようなゲーム処理を想定する。本ゲーム処理で実現されるゲームは、仮想空間内をプレイヤキャラクタが自由に移動できるゲームである。このゲームでは、端末装置6のLCD21にこの仮想空間の様子、および、プレイヤキャラクタ等が表示される。
図5は、当該端末装置6に表示されるゲーム画面の一例である。
図5では、プレイヤキャラクタ101、および、音源オブジェクト102が表示されている。
図5では、音源オブジェクト102はロケットの外観を有している。
【0040】
ここで、本ゲームでは、ゲーム画面の表示に関して、実空間の座標系と仮想空間の座標系とを常に一致させて表示している。換言すれば、重力方向と仮想空間内の地面が常に垂直交差しているようにしている。また、端末装置6には、上記のようにモーションセンサ32が備えられている。これを利用することで、端末装置6自体の姿勢が検出可能である。そして、本ゲームでは、端末装置6の姿勢にあわせて仮想カメラも同時に傾けることで、端末装置6を、あたかも仮想空間を覗く「覗き窓」のように扱うことができる。例えば、端末装置6のLCD21がプレイヤの顔の正面に対面するように把持した姿勢を想定する。このとき、当該LCD21には、仮想空間内のZ軸正方向の様子が表示されているとする。この状態から、プレイヤが180度回転して真後ろを向いたとする。すると、当該LCD21には、仮想空間内のZ軸負方向の様子が表示されていることになる。
【0041】
このような仮想空間の表示システムの下で、例えば、端末装置6の姿勢が、
図5で示すように、端末装置座標系と実空間座標系が一致している状態の姿勢である場合を想定する。以下では、この姿勢を「横向き姿勢」と呼ぶ。そして、この姿勢であるときに、
図5の音源オブジェクト102(ロケット)が飛び立つ場合を想定する。当該音源オブジェクト102が飛び立つ動きに伴って、端末側ゲーム音声として所定の効果音(例えばロケットの移動音)が再生される。つまり、音源オブジェクト102は、音声を発しながら移動する。このときの音声の聞こえ方(出力のされ方)に関して、
図5の状態(ロケットの飛び立ち初めの状況であるとする)では、音源オブジェクト102がLCD21のほぼ中央に表示されている。そのため、スピーカ23Lからの音量とスピーカ23Rからの音量とは、ほぼ同じ大きさで出力される。音量を1〜10の10段階で示すと、例えば、スピーカ23L=6:スピーカ23R=6の音量で出力される。
【0042】
その後、
図6に示すように、音源オブジェクト102が仮想空間における上方向(y軸正方向)に移動していくに連れて、音源オブジェクト102とプレイヤキャラクタ101との距離が離れていく。このような、飛び立ったロケットが徐々に遠ざかっていく様子を音声に反映するために、ロケットの移動音が徐々に小さくなっていくように音量調整は行われる。ここで、この音量調整は、スピーカ23Lおよび23Rとで同じように行われる。換言すれば、左右のスピーカの音量バランス自体には変化はないまま、全体として、ロケットの移動音の音量が小さくなっていく。つまり、音源オブジェクトの上下方向の移動については、左右のスピーカの音量バランス自体は変化させずに音声出力制御が行われる。
【0043】
なお、この「横向き姿勢」のときに、仮に左右方向への音源オブジェクトの移動があった場合は、その移動に伴ってスピーカ23Lおよび23Rの音量バランスが調整される。例えば、プレイヤキャラクタ101の目の前を横切るように右から左へと音源オブジェクトが移動すれば、スピーカ23からの音声が右から左へ変化するように聞こえる。すなわち、スピーカ23Rの音量が徐々に小さくなっていくと共に、スピーカ23Lの音量が徐々に大きくなっていくように音量バランスが制御される。
【0044】
次に、上記
図5の状態から、端末装置6を左に90度回転させたような場合を想定する。
図7は、このような状態の端末装置6とそのときのゲーム画面を示した図である。端末装置6の回転に伴って、スピーカ23の位置関係も左に90度回転した状態となっている。すなわち、スピーカ23Lがプレイヤから見て下側、スピーカ23Rがプレイヤから見て上側に位置するような関係となっている。以下では、この状態を「縦向き姿勢」と呼ぶ。そして、この状態で音源オブジェクト102が音声を発しながら上方向に移動すると、スピーカ23Lと23Rの音量バランス自体が変化しながらロケットの移動音が出力される。
【0045】
例えば、
図7において、音源オブジェクト102は、画面の中央よりやや下に表示されている状態である。この状態では、ロケットの移動音は、スピーカ23Lのほうがスピーカ23Rのよりもやや大きい音量で出力される。例えば、この時点では、スピーカ23L=6:スピーカ23R=5の音量で出力されるとする。その後、
図8に示すように、音源オブジェクト102が上方向に移動していくに連れて、ロケットの移動音について、スピーカ23Lの音量は徐々に小さくなっていき、スピーカ23Rの音量が徐々に大きくなっていく。例えば、スピーカ23Lの音量は6→0のように徐々に小さくなっていくと共に、スピーカ23Rの音量は、5→10のように徐々に大きくなっていく。
【0046】
このように、本実施形態では、仮想空間内に存在する音源オブジェクト102から発せられる音声のスピーカ23への出力制御に際して、スピーカ23Lおよび23Rの実空間における位置関係を反映させた制御を行う。これにより、例えば、上記ロケットが飛び立つときに、プレイヤが端末装置6を「横向き姿勢」から「縦向き姿勢」にすることで、臨場感の高い音響効果が得られる。
【0047】
本実施形態では、上記のような音声制御を概ね次のような処理で実現している。まず、仮想空間内の所定の位置、典型的には、プレイヤキャラクタ101の位置に仮想マイクが配置されている。本実施形態では、この仮想マイクで音源オブジェクト102の発する音声を拾い、ゲーム音声として出力する。当該仮想マイクには、ローカル座標系としてのマイク座標系が設定されている。
図9は、仮想空間と仮想マイクとの関係を示す模式図である。
図9では、仮想空間の空間座標系の各軸の向きとマイク座標系の各軸の向きとが一致している状態である(ゲーム開始時の初期状態は、このような状態である)。そして、このマイク座標系における仮想マイクと音源オブジェクト102との位置関係を見れば、音源オブジェクト102が仮想マイクから見て右側に位置するか左側に位置するかが認識できる。具体的には、音源オブジェクトの位置が仮想マイク座標系におけるx軸方向について正方向か負方向かによって、仮想マイクから見て右か左かを判断でき、この位置関係によって左右スピーカの音量バランスを決定することができる。また、仮想マイクから音源オブジェクトまでの仮想空間内における距離も認識できる。これにより、スピーカ23Lおよび23Rそれぞれの音量(左右の音量バランス)を調整することは可能である。そして、本実施形態では、端末装置6の姿勢に合わせて、仮想マイクの姿勢も変化させる。例えば、上記
図5のような「横向き姿勢」から
図7のような「縦向き姿勢」に端末装置6の姿勢が変化したとする。すると、これに併せて、仮想マイクの姿勢もZ軸回りに90度左に回転する。その結果、
図10に示すように、マイク座標系のx軸方向が仮想空間座標系のy軸方向に対応するような関係となる。この状態で、マイク座標系を基準に音声出力制御処理を行うことで、上述したような制御が実現できる。つまり、スピーカ23Lおよび23Rは端末装置6(ハウジング20)に固定的に設けられているため、端末装置6の姿勢が判れば、スピーカ23の位置関係も認識できる。そのため、端末装置6の姿勢を仮想マイクの姿勢に反映させることで、スピーカ23の位置関係の変化も反映することができる。
【0048】
ここで、本実施形態では、端末用ゲーム音声の生成のための仮想マイク(以下、端末用仮想マイク)と、モニタ用ゲーム音声の生成のための仮想マイク(以下、モニタ用仮想マイク)との2つの仮想マイクを利用する。但し、本実施形態にかかる処理は主に端末装置6のスピーカ23Lおよび23Rを対象にする。そのため、以下の説明において、単に「仮想マイク」、あるいは「マイク座標系」と示した場合は、基本的には端末用仮想マイクのことを指すものとする。
【0049】
なお、端末装置6にヘッドホンが接続されているときは、端末装置6の姿勢に関わらず、常にスピーカが左右に配置されているものとして処理される。具体的には、ヘッドホン接続時は、マイク座標系のx軸方向を仮想3次元空間の空間座標系におけるx軸方向に常に一致させる。
図11および
図12は、ヘッドホン接続時における音声出力の様子を示す模式図である。
図11では、端末装置6は「横向き姿勢」である。また、
図12では、端末装置6は「縦向き姿勢」である。いずれの場合も、仮想マイクの姿勢は変化されずに音声出力処理が行われる。その結果、端末装置6が「縦向き姿勢」のときであっても、「横向き姿勢」のときと同様に音声出力処理が行われることになる。つまり、ヘッドホン接続時は、音声出力処理に関しては、端末装置6が「横向き姿勢」であるものとして上記のような処理が行われる。
【0050】
次に、
図13〜
図17を参照して、上記のようなゲーム処理を実現するためのシステム1の動作について詳細に説明する。
【0051】
図13は、上記ゲームを実行するときにゲーム装置本体5のメモリ12に記憶される各種データの一例を示している。
【0052】
ゲーム処理プログラム81は、ゲーム装置本体5のCPU11に、上記ゲームを実現するためのゲーム処理を実行させるためのプログラムである。ゲーム処理プログラム81は、例えば、光ディスクからメモリ12にロードされる。
【0053】
処理用データ82は、CPU11において実行されるゲーム処理において用いられるデータである。処理用データ82は、端末操作データ83、端末送信用データ84、ゲーム音声データ85、端末装置姿勢データ86、仮想マイク姿勢データ87、オブジェクトデータ88等を含む。
【0054】
端末操作データ83は、端末装置6から周期的に送信される操作データである。
図14は、端末操作データ83の構成の一例を示す図である。端末操作データ83には、操作ボタンデータ91、タッチ位置データ92、モーションセンサデータ93、ヘッドホン接続状態データ94等が含まれる。操作ボタンデータ91は、操作部31(アナログスティック25、十字キー26、およびボタン27)に対する入力状態を示すデータである。また、モーションセンサ32に対する入力内容も操作ボタンデータ91に含まれる。タッチ位置データ92は、タッチパネル22の入力面において入力が行われた位置(タッチ位置)を示すデータである。モーションセンサデータ93は、上記モーションセンサに含まれる加速度センサおよび角速度センサで検出された加速度および角速度を示すデータである。ヘッドホン接続状態データ94は、ヘッドホン端子24にヘッドホンが接続されているか否かを示すためのデータである。
【0055】
図13に戻り、端末送信用データ84は、端末装置6へ周期的に送信するデータである。端末送信用データ84には、上記端末用ゲーム画像や端末用ゲーム音声が含まれる。
【0056】
ゲーム音声データ85は、上記端末用ゲーム音声およびモニタ用ゲーム音声の素になるデータである。ゲーム音声データ85には、例えば、上記
図5等で示したような音源オブジェクト102が発する音声としてのロケットの移動音、等の音声が含まれる。
【0057】
端末装置姿勢データ86は、端末装置6の姿勢を示すデータである。仮想マイク姿勢データ87は、上記仮想マイクの姿勢を示すデータである。これらの姿勢データは、例えば、3軸のベクトルデータの組み合わせとして示される。なお、仮想マイク姿勢データ87には、端末用仮想マイクの姿勢データとモニタ用仮想マイクの姿勢データのそれぞれが含まれる。但し、以下の説明では、単に「仮想マイク姿勢データ87」と示した場合は端末用仮想マイクの姿勢データを指すものとする。
【0058】
オブジェクトデータ88は、プレイヤキャラクタ101や上記音源オブジェクト102等のデータである。特に、音源オブジェクト102を示すデータについては、当該音源オブジェクトが発する音声として定義されている音声データを示す情報が含まれている。当該音声データは、上記ゲーム音声データ85に含まれている音声データのいずれかである。また、その他、当該音源オブジェクト102が音声発生中か否かを示す情報や、当該音源オブジェクトが発する音声の音量値やその音の指向性等を定義した情報等、音源オブジェクトが発する音声に関する情報も適宜含まれている
【0059】
次に、
図15〜
図16のフローチャートを参照し、ゲーム処理プログラム81に基づいてゲーム装置本体5のCPU11によって実行されるゲーム処理の流れを説明する。
【0060】
図15において、ゲーム処理プログラム81の実行が開始されると、ステップS1において、CPU11は、初期化処理を行う。この初期化処理では、仮想マイクの姿勢(仮想マイク姿勢データ87)が初期値に設定される(端末用、モニタ用の双方ともに)。この初期値とは、マイク座標系の各軸の向きを仮想3次元空間の空間座標系の各軸の向きに一致させた状態である。
【0061】
次に、ステップS2において、CPU11は、端末操作データ83の取得を行う。
【0062】
次に、ステップS3において、CPU11は、モーションセンサデータ93(加速度データおよび角速度データ)に基づいて、端末装置6の現在の姿勢を算出する。算出された姿勢を示すデータは、端末装置姿勢データ86としてメモリ12に格納される。
【0063】
次に、ステップS4において、CPU11は、端末装置6の現在の姿勢を仮想マイク(端末用仮想マイク)の姿勢に反映する。具体的には、端末装置姿勢データ86で示される姿勢を仮想マイク姿勢データ87に反映させる。但し、端末装置6にヘッドホンが接続されているときは、CPU11は、端末装置6の現在の姿勢を反映させる代わりに、仮想マイクのマイク座標系におけるx軸の向きが仮想空間の空間座標系のx軸の向きに一致するように仮想マイクの姿勢を調整する。換言すれば、スピーカ23Lおよび23Rの位置関係が、左右に配置されている位置関係となるような姿勢に調整する。なお、ヘッドホンが端末装置6に接続されているか否かは、ヘッドホン接続状態データ94を参照することで判定できる。また、ここでは、モニタ用仮想マイクの姿勢については変化させないものとする。
【0064】
次に、ステップS5において、CPU11は、端末操作データ83で示される操作内容(主に操作ボタンデータ91やタッチ位置データ92で示される操作内容)に基づき、所定のゲーム処理を実行する。例えば、プレイヤキャラクタ等の各種キャラクタや上記音源オブジェクトを移動させる処理等が行われる。
【0065】
次に、ステップS6において、CPU11は、上記ゲーム処理の結果が反映されたゲーム画像を生成する処理を実行する。例えば、上記操作内容に基づいてプレイヤキャラクタが移動した後の仮想ゲーム空間を仮想カメラで撮影することでゲーム画像が生成される。また、このとき、CPU11は、ゲーム内容に応じて、適宜、モニタ用ゲーム画像と端末用ゲーム画像の2つの画像を生成する。例えば、2つの仮想カメラを用いることでそれぞれの画像が生成される。
【0066】
次に、ステップS7において、CPU11は、モニタ用ゲーム音声および端末用ゲーム音声を生成するためのゲーム音声生成処理を実行する。
図16は、上記ステップS7で示したゲーム音声生成処理の詳細を示すフローチャートである。
図16において、まず、ステップS21で、CPU11は、処理対象とする音源オブジェクトを一つ選択する。音源オブジェクトが仮想空間内に複数存在する場合に、これらを一つずつ順番に処理していくためである。また、処理対象となる音源オブジェクトは、例えば、現在音声発生中の状態にある音源オブジェクトである。
【0067】
次に、ステップS22において、CPU11は、上記処理対象の音源オブジェクトのマイク座標系における位置を算出する。これにより、マイク座標系において、音源オブジェクトが仮想マイクの右側に位置するか左側に位置するかを認識することができる。
【0068】
次に、ステップS23で、CPU11は、マイク座標系における仮想マイクから音源オブジェクトまでの直線距離を算出する。続くステップS24において、CPU11は、上記算出したマイク座標系における音源オブジェクトの位置および距離に基づいて、スピーカ23Lおよび23Rのそれぞれの音量値を決定する。つまり、スピーカ23Lおよび23Rの左右の音量バランスが決定される。
【0069】
次に、ステップS25において、CPU11は、当該音源オブジェクトに対応付けられているゲーム音声データ85を再生する。その再生音量は、上記ステップS24で決定された音量に従う。
【0070】
次に、ステップS26において、CPU11は、処理対象となる音源オブジェクトの全てについて上記のような処理を行ったか否かを判定する。そして、まだ未処理の音源オブジェクトが残っていれば(ステップS26でNO)、CPU11は、上記ステップS21に戻り処理を繰り返す。一方、全て処理が終わっていれば(ステップS26でYES)、ステップS27において、CPU11は、上記処理を行った各音源オブジェクトにかかる音声を含む端末用ゲーム音声を生成する。
【0071】
続くステップS27で、CPU11は、モニタ用仮想マイクを用いて、ゲーム処理の結果に応じたモニタ用ゲーム音声を適宜生成する。ここでは、当該モニタ用ゲーム音声も、その対象をスピーカ2Lおよび2Rとして、基本的には上記端末用ゲーム音声と同様の処理で生成されるものとする。以上で、ゲーム音声生成処理は終了する。
【0072】
図15に戻り、ゲーム音声生成処理の次に、ステップS8において、CPU11は、上記ステップS3で生成された端末用ゲーム画像およびステップS7で生成された端末用ゲーム音声を端末送信用データ84に格納し、当該端末送信用データ84を端末装置6に送信する。なお、ここでは説明の便宜上、端末用ゲーム音声の送信周期を端末用ゲーム画像の送信周期を合わせている例を挙げているが、他の実施形態では、端末用ゲーム音声の送信周期については端末用ゲーム画像の送信周期よりも短くしてもよい。例えば、端末用ゲーム画像については1/60秒周期で送信するようにし、端末用ゲーム音声については1/180秒周期で送信するようにしてもよい。
【0073】
次に、ステップS9において、CPU11は、上記ステップS6で生成されたモニタ用ゲーム画像をモニタ2に出力する。続くステップS10において、CPU11は、上記ステップS7で生成されたモニタ用ゲーム音声をスピーカ2Lおよび2Rに出力する。
【0074】
次に、ステップS11で、CPU11は、ゲーム処理を終了するための所定の条件が満たされたか否かを判定する。その結果、所定の条件が満たされていないときは(ステップS11でNO)、上記ステップS2に戻り、上述の処理を繰り返す。所定の条件が満たされたときは(ステップS11でYES)、CPU11は当該ゲーム処理を終了する。
【0075】
次に、
図17のフローチャートを参照して、端末装置6の制御部33が実行する制御処理の流れを説明する。まず、ステップS41において、制御部33は、ゲーム装置本体5から送信された端末送信用データ84を受信する。
【0076】
次に、ステップS42において、制御部33は、上記受信した端末送信用データ84に含まれている端末用ゲーム画像をLCD21に出力する。
【0077】
次に、ステップS43において、制御部33は、上記受信した端末送信用データ84に含まれている端末用ゲーム音声を出力する。出力先は、ヘッドホンが接続されていないときはスピーカ23Lおよび23Rに出力し、ヘッドホンが接続されている場合は、当該ヘッドホンに出力する。また、スピーカ23Lおよび23Rに出力される場合、その音量バランスは、上記ステップS24で決定された音量に従う。
【0078】
次に、ステップS44において、制御部33は、操作部31やモーションセンサ32、タッチパネル22に対する入力(操作内容)を検出し、操作ボタンデータ91、タッチ位置データ92、および、モーションセンサデータ93を生成する。
【0079】
次に、ステップS45において、制御部33は、ヘッドホン端子24にヘッドホンが接続されているか否かを検出する。そして、ヘッドホンが接続されているか未接続であるかを示すデータをヘッドホン接続状態データ94として生成する。
【0080】
次に、ステップS46において、制御部33は、上記ステップS44およびS45で生成した操作ボタンデータ91、タッチ位置データ92、およびヘッドホン接続状態データ93を含む端末操作データ83を生成し、ゲーム装置本体5に送信する。
【0081】
次に、ステップS47において、制御部33は、端末装置6の制御処理を終了するための所定の条件が満たされたか否かを判定する(例えば、電源オフ操作が行われたか否か等)。その結果、所定の条件が満たされていないときは(ステップS47でNO)、上記ステップS41に戻り、上述の処理を繰り返す。所定の条件が満たされたときは(ステップS47でYES)、制御部33は当該端末装置6の制御処理を終了する。
【0082】
上記のように、本実施形態では、スピーカ23Lおよび23Rの実空間における位置関係を考慮して、仮想空間内に存在する音源オブジェクトから発せられる音声の出力制御を行う。これにより、上記のような仮想空間の表示システムを利用するゲーム処理等において、より臨場感の高いユーザ体験を提供できる。
【0083】
なお、上記実施形態では、端末装置6の姿勢の変化の例として、「横向き姿勢」「縦向き姿勢」の例を挙げていた。つまり、端末装置6の座標系におけるxy平面上の姿勢の変化(z軸回りの回転)の例を挙げていた。姿勢の変化態様はこれに限るものではなく、x軸回りやy軸回りに回転させるような姿勢変化の場合にも上記の処理は適用可能である。例えば、仮想空間内において、z軸正方向に向けて移動する音源オブジェクトが存在している場合を想定する(つまり、プレイヤから見て、奥行き方向に遠ざかっていくように移動する音源オブジェクト)。この場合、上記
図5の「横向き姿勢」や
図7のような「縦向き姿勢」の状態のときであれば、当該音源オブジェクトが発する音声に関してはスピーカ23L、23Rの左右の音量バランスは変化しない。しかし、例えば、プレイヤが
図7の状態からLCD21が上を向くように、端末装置座標系におけるy軸回りに端末装置6を回転させたとする。このような場合は、当該音源オブジェクトの奥行き方向の移動に応じて、スピーカ23Lと23Rの音量バランスが変化する。すなわち、スピーカ23Lの音量が徐々に小さくなると共に、スピーカ23Rの音量が徐々に大きくなっていくような音声出力制御が行われる。
【0084】
また、上記実施形態では、モニタ2および端末装置6という、2つの画面と2セットのステレオスピーカ(4つのスピーカ)を有するゲームシステムを例に挙げた。このような構成に限らず、例えば、携帯型ゲーム装置のように、画面およびステレオスピーカがハウジングに一体化するよう設けられている情報処理装置にも上記の処理は適用可能である。また、このような情報処理装置は、モーションセンサを内蔵しており、自身の姿勢が検知可能な情報処理装置であることが好ましい。そして、このような情報処理装置で、上述したような仮想空間の表示システムを利用する処理を行う場合に好適である。この場合は、仮想カメラや仮想マイクを一つだけにして上記と同様の処理を行えばよい。
【0085】
また、上記端末装置6で示されるような画面およびスピーカを有するゲームコントローラを用いない据置型のゲーム装置にも上記処理は適用可能である。例えば、モニタ2に別途外付けのステレオスピーカを接続してゲームをプレイするような構成の場合である。
図18および
図19は、このような構成のモニタおよび外付けスピーカの位置関係を示す模式図である。
図18では、モニタ2の左右にそれぞれ外付けスピーカ(右側スピーカおよび左側スピーカ)を配置している例である。また、
図19は、モニタ2の上下にそれぞれ外付けスピーカを配置している例である。そして、このような外付けスピーカの位置関係をゲーム装置が認識できるように構成することで、上記のような処理は適用可能となる。例えば、ゲーム処理の実行に際して、外付けスピーカの配置関係が「上下配置」であるか「左右配置」であるかをプレイヤがゲーム装置に設定すること(所定の設定画面を表示しプレイヤに入力させる等)で、外付けスピーカの位置関係を認識させるようにしてもよい。また、外付けスピーカの位置関係が認識できるような所定のセンサ(例えば加速度センサ等)を当該スピーカ内部に搭載してもよい。そして、このセンサの出力結果に基づいて、ゲーム装置が外付けスピーカの位置関係を自動的に認識できるようにしてもよい。また、外付けスピーカとして例えば5.1chサラウンドシステムのスピーカを用いるような場合も、同様の処理が適用できる。当該5.1chのスピーカの配置を基本となる配置から変化させたような場合、例えば、フロントスピーカのLおよびRを上下方向に配置したような場合を想定する。このような場合も、各スピーカの位置関係(の変化)をゲーム装置に認識させ、音源オブジェクトと各スピーカの位置関係を反映してそれぞれのスピーカの音量を調整すればよい。
【0086】
また、その他、モニタ2のスピーカ2Lおよび2Rと、端末装置6のスピーカ23Lおよび23Rの、合計2セットのステレオスピーカ(計4つのスピーカ)を用いて上記の処理を適用しても良い。特に、端末装置6を主に「縦向き姿勢」で利用する場合に好適である。
図20は、このような構成における音声出力の様子を模式的に示す図である。例えば、仮想空間内の左右方向についての音源オブジェクトの移動に関してはモニタ2のスピーカ23Lおよび23Rからの出力に反映させる。そして、上下方向についての音源オブジェクトの移動については、端末装置6のスピーカ23Lおよび23Rからの出力に反映させる。これにより、上下左右の4方向について、音源オブジェクトに移動にかかる音量変化が反映でき、より臨場感を高めることができる。
【0087】
また、上述の実施例にかかる処理を実行するためのゲーム処理プログラムは、任意のコンピュータ読み取り可能な記憶媒体(例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、半導体メモリカード、ROM、RAMなど)に格納され得る。
【0088】
また、上記実施例ではゲーム処理を一例に説明しているが、情報処理の内容はゲーム処理に限るものではなく、上記のような仮想空間の表示システムを利用する他の情報処理においても上記実施例の処理は適用可能である。
【0089】
また、上記実施形態においては、実空間におけるスピーカの位置関係を考慮して音声出力制御を行うための一連の処理が単一の装置(ゲーム装置本体5)において実行される場合を説明したが、他の実施形態においては、上記一連の処理が複数の情報処理装置からなる情報処理システムにおいて実行されてもよい。例えば、ゲーム装置本体5と、当該ゲーム装置本体5とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの一部の処理がサーバ側装置によって実行されてもよい。また、上記情報処理システムにおいて、サーバ側のシステムは、複数の情報処理装置によって構成され、サーバ側で実行するべき処理を複数の情報処理装置が分担して実行してもよい。