(57)【要約】    【課題】  操作者の挙動を的確に反映して臨場感の高い画像を生成することを可能とする技術を提供すること。    【解決手段】  情報処理装置(1)は、操作指示の入力に用いられると共に、自己の位置を検出するために用いられる被検出波を出力する機能を有するコントローラ(12,14)と、当該コントローラから送出される被検出波の強度を互いに異なる位置で検出する複数のセンサ(20a,20b,20c,20d)と、複数のセンサのそれぞれにより検出される被検出波の強度に基づいてコントローラの実空間内での位置及び方向を算出する位置・方位算出手段(22)と、コントローラを用いて行われる操作指示及び位置・方向算出手段により算出されるコントローラの位置及び方向を反映させて画像を生成する画像生成手段(26)と、画像生成手段によって生成される画像を表示する表示手段(28)と、を備える。【選択図】    図１
2005185740.tif 000002
【特許請求の範囲】
【請求項１】
操作指示の入力に用いられると共に、自己の位置及び方向を検出するために用いられる被検出波を出力する機能を有する操作手段と、
前記操作手段から送出される前記被検出波の強度を互いに異なる位置で検出する複数の検出手段と、
前記複数の検出手段のそれぞれにより検出される前記被検出波の強度の割合に基づいて前記操作手段の実空間内での位置及び方向を算出する位置・方向算出手段と、
前記操作手段を用いて行われる前記操作指示と、前記位置・方向算出手段により算出される前記操作手段の位置及び方向とを反映させて画像を生成する画像生成手段と、
前記画像生成手段によって生成される前記画像を表示する表示手段と、
を備える、情報処理装置。
【請求項２】
前記検出手段のそれぞれは、相互に異なる三方向に向けて配置される三つの検出面を有する、請求項１に記載の情報処理装置。
【請求項３】
前記操作手段は、前記被検出波の状態を前記操作指示の内容に応じて変化させる制御を行う被検出波制御手段を備え、
前記位置・方向算出手段は、前記検出手段を用いて検出される前記被検出波の状態に基づいて前記操作指示の内容を判定し、当該操作指示の内容を前記画像生成手段に出力する、請求項１又は２に記載の情報処理装置。
【請求項４】
前記画像生成手段は、仮想空間内にオブジェクトを配置すると共に、前記操作手段の位置及び方向に応じて当該オブジェクトの状態を変化させて、前記仮想空間内を仮想視点から見た二次元画像を生成する、請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
前記画像生成手段は、仮想空間内にオブジェクトを配置して当該仮想空間内を仮想視点から見た二次元画像を生成しており、前記操作手段の位置及び方向に応じて前記仮想視点の位置及び視方向を変更する、請求項１乃至３のいずれかに記載の情報処理装置。
【請求項６】
前記画像生成手段は、前記位置・方向算出手段による算出結果を用いて、前記操作手段から仮想的に発射される銃弾が前記仮想空間内のオブジェクトに着弾するか否かの判定を行い、当該判定結果に応じて前記二次元画像を生成する、請求項１乃至５のいずれかに記載の情報処理装置。
【請求項７】
前記操作手段を複数備え、
前記位置・方向算出手段は、所定のタイミング毎に複数の前記操作手段のうち何れか一を選択して当該選択された操作手段を識別するための識別信号を送出し、
複数の前記操作手段のそれぞれに備わった前記被検出波制御手段は、前記識別信号に基づいて、自己の前記操作手段が選択されているときに前記被検出波を出力する制御を行う、請求項１乃至６のいずれかに記載の情報処理装置。
【請求項８】
前記被検出波制御手段は、自らが送出する前記被検出波と他装置に用いられる被検出波とが相互に識別可能となるように前記被検出波の特性を制御しており、
前記位置・方向算出手段は、前記検出手段による検出結果から前記被検出波の特性を判別することによって自装置に用いられる前記操作手段を識別する、請求項１乃至７のいずれかに記載の情報処理装置。
【請求項９】
請求項１乃至８のいずれかに記載の情報処理装置を含んで構成されるゲーム装置。
【請求項１０】
仮想空間内の仮想視点の位置および方向から見えるゲーム画像を表示する表示手段とプレイヤが操作する操作手段との相対的な位置関係を検出し、当該検出された位置関係に基づいてゲームが進行するゲーム装置であって、
前記表示手段の表示面に対する前記操作手段の縦方向および横方向の位置を検出する位置検出手段と、
前記表示面に対する前記操作手段の向きを検出する向き検出手段と、
前記位置検出手段および前記向き検出手段のそれぞれにより得られる検出情報に基づいて、前記操作手段の操作位置と操作方向を算出する位置・方向算出手段と、
前記位置・方向算出手段によって算出される前記操作位置に基づいて仮想視点の位置を算出するとともに、前記位置・方向算出手段によって算出される前記操作方向に基づいて当該仮想視点の視方向を算出し、前記視点位置と前記視方向とに基づいてゲーム画像を生成する画像生成手段と、
を備えることを特徴とするゲーム装置。
【請求項１１】
仮想空間内の仮想視点の位置および方向から見えるゲーム画像を表示する表示手段とプレイヤが操作する操作手段との相対的な位置関係を検出し、当該検出された位置関係に基づいて画像を生成する画像生成方法であって、
検出手段が、前記操作手段から送出される被検出波の強度を相互に異なる複数の位置で検出する第１ステップと、
位置・方向算出手段が、前記第１ステップにおいて検出される前記被検出波の強度の割合に基づいて前記操作手段の実空間内での位置及び方向を算出する第２ステップと、
画像生成手段が、前記操作手段を用いて行われる操作指示及び前記第２ステップにおいて算出される前記操作手段の位置及び方向を反映させて二次元画像を生成する第３ステップと、
を含む、画像生成方法。
【請求項１２】
前記第１ステップは、前記複数の位置のそれぞれにおいて、相互に異なる三方向における前記被検出波の強度を検出し、
前記第２ステップは、前記複数の位置のそれぞれについて、前記三方向における前記被検出波の強度から方向ベクトルを求め、当該方向ベクトルを合成することによって前記操作手段の位置及び方向を算出する、請求項１１に記載の画像生成方法。
【請求項１３】
被検出波制御手段が、前記操作手段を用いて行われる前記操作指示の内容を含むように前記被検出波の状態を変化させる第４ステップを更に備える、請求項１１又は１２に記載の画像生成方法。
【請求項１４】
前記第３ステップは、仮想空間内にオブジェクトを配置すると共に、前記第２ステップにおける算出結果に応じて当該オブジェクトの状態を変化させ、又は前記仮想視点の位置及び視方向を変更して、前記仮想空間内を仮想視点から見た二次元画像を生成する、請求項１１乃至１３のいずれかに記載の画像生成方法。
【請求項１５】
前記位置・方向算出手段が、所定のタイミング毎に複数の前記操作手段のうち何れか一を選択して当該選択された操作手段を識別するための識別信号を送出する第５ステップと、
前記被検出波制御手段が、前記識別信号に基づいて、前記選択されたコントローラにのみ前記被検出波の送出動作を行わせる第６ステップと、
を更に含む、請求項１１乃至１４のいずれかに記載の画像生成方法。
【請求項１６】
前記被検出波制御手段が、前記位置及び方向の算出対象となるべき前記コントローラとそれ以外の前記コントローラとを識別可能となるように前記被検出波の特性を可変に設定する第７ステップと、
前記位置・方向算出手段が、前記被検出波の特性を判別することによって前記位置及び方向の算出対象となるべき前記コントローラを識別する第８ステップと、
を更に備える、請求項１１乃至１５のいずれかに記載の画像生成方法。
【請求項１７】
仮想空間内の仮想視点の位置および方向から見えるゲーム画像を表示する表示手段とプレイヤが操作する操作手段との相対的な位置関係を検出し、当該検出された位置関係に基づいてゲーム画像を生成するゲーム画像生成方法であって、
位置検出手段が、前記表示手段の表示面に対する前記操作手段の縦方向および横方向の位置を検出する第１ステップと、
向き検出手段が、前記表示面に対する前記操作手段の向きを検出する第２ステップと、
位置・方向算出手段が、前記第１ステップ及び前記第２ステップにおいて得られる検出結果に基づいて、前記操作手段の操作位置と操作方向を算出する第３ステップと、
画像生成手段が、前記第３ステップにおいて算出される前記操作位置に基づいて仮想視点の位置を算出するとともに、前記第３ステップにおいて算出される前記操作方向に基づいて当該仮想視点の視方向を算出し、前記視点位置と前記視方向とに基づいてゲーム画像を生成する第４ステップと、
を含む、ゲーム画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元表示（３Ｄ表示）の画像表示を行うゲーム装置や各種のシミュレータ（擬似体験装置）などに好適な画像処理技術に関する。
【背景技術】
【０００２】
従来より、銃を模した形状を有する銃型コントローラを用いて、画面上に現れる射撃対象キャラクタ（例えば、敵となる人物等）を射撃するゲーム装置が知られている。このような射撃ゲーム装置では、銃型コントローラを用いてプレイヤが画面上のどこを狙ってる射撃しているかを的確に把握することが重要となる。例えば、特開平１１−８６０３８号公報（特許文献１）には、ゲーム画像を表示するモニタの周囲の複数箇所に赤外線発光部を設置すると共に銃型コントローラ側に受光部を設け、上記した各発光部が順番に点灯させてその光量を受光部により順番に検出し、当該検出結果を用いて銃型コントローラの銃口が画面上のどの位置（ＸＹ座標）を狙っているかを算出する技術が開示されている。
【特許文献１】特開平１１−８６０３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述した従来技術では、あくまで画面上の二次元位置を算出しているだけであり、プレイヤ（操作者）が当該画面上の位置をどこからどのようにして狙っているかは考慮されていなかった。このため、三次元の仮想空間（ゲーム空間）に敵キャラクタ等を配置し、この仮想空間内を仮想視点から見た画像（いわゆる三次元表示画像）を表示するような射撃ゲーム等においては、例えば、ゲーム空間内では物陰に隠れており狙撃不可能なはずの敵キャラクタであっても、ゲーム画像中に当該敵キャラクタが見えている場合にはその位置に銃口を向けることにより狙撃できる場合があるなどの不自然な処理がなされ、臨場感を損なう場合があった。
【０００４】
そこで、本発明は、操作者の挙動を的確に反映して臨場感の高い画像を生成することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の情報処理装置は、操作指示の入力に用いられると共に、自己の位置及び方向を検出するために用いられる被検出波を出力する機能を有する操作手段（コントローラ）と、当該操作手段から送出される被検出波の強度を互いに異なる位置で検出する複数の検出手段（センサ）と、これら複数の検出手段のそれぞれにより検出される被検出波の強度の割合に基づいて操作手段の実空間内での位置及び方向を算出する位置・方位算出手段と、操作手段を用いて行われる操作指示と、位置・方向算出手段により算出される操作手段の位置及び方向とを反映させて画像を生成する画像生成手段と、画像生成手段によって生成される画像を表示する表示手段と、を備える。
【０００６】
かかる構成によれば、実空間内における操作手段の位置及び方向を算出してその算出結果を画像生成に反映させているので、操作者が操作手段をどのように操作しているか、すなわち操作者の挙動を的確に反映して臨場感の高い画像を生成することが可能となる。
【０００７】
ここで、本明細書において「操作手段（コントローラ）」とは、操作者が手に持ち、或いは身につけて用いるものをいい、その形状に限定はないが、画像生成手段によって生成される画像と関連のある形状を有するように形成することが好ましい。このような操作手段としては、例えば、各種の銃（拳銃、ライフル銃、レーザ銃等）を模した形状を有する銃型コントローラなどが挙げられる。また、本明細書において「被検出波」とは、操作手段の実空間での配置を検出するために用いられるものであり、その内容に限定はないが、例えば電磁波や音波などが好適に用いられる。
【０００８】
上述した複数の検出手段のそれぞれは、表示手段の画面周辺に配置されることが好ましい。また、表示部の画面が略四角形状である場合に、上記各検出手段は、当該略四角形状の画面の四隅近傍に配置されることが更に好ましい。
【０００９】
多くの場合、操作者は、表示手段の画面に向かって当該画面に表示される画像を見ながら操作手段を用いて操作指示を行うので、画面周辺（特に四隅近傍）に各検出手段を配置することにより、操作手段から送出される被検出波を感度良く検出することが可能となり、位置等の算出精度を向上させることができる。
【００１０】
また、上記検出手段のそれぞれは、相互に異なる三方向に向けて配置される三つの検出面（センサ面）を有することが好ましい。より具体的には、三つの検出面は、相互に直交する三方向（Ｘ、Ｙ、Ｚ方向）に向けて配置されることが好ましい。
【００１１】
これにより、各検出手段のそれぞれから操作手段へ向かう方向ベクトルを求めることができるので、当該方向ベクトルを合成する演算を行うことによって、操作手段の位置及び方向を精度良く算出することが可能となる。
【００１２】
また、上記検出手段のそれぞれは、一の検出面を有するものであってもよい。
【００１３】
この場合には、各検出面における受光量の割合から操作手段の位置及び方向を算出することが可能であり、位置等の算出に要する演算量を削減すると共に、検出手段の構造を簡略化することができる利点がある。
【００１４】
また、操作手段から送出される上記被検出波としては、赤外線を用いることが好ましい。
【００１５】
これにより、周囲の光（可視光）等と被検出波とを確実に識別可能となり、周辺光によるノイズの発生によって検出精度が低下するのを回避することが可能となる。
【００１６】
また、上記操作手段に、被検出波の状態を操作指示の内容に応じて変化させる制御を行う被検出波制御手段を更に備えるようにし、上記位置・方向算出手段は、検出手段を用いて検出される被検出波の状態に基づいて操作指示の内容を判定し、当該操作指示の内容を画像生成手段に出力することが好ましい。
【００１７】
このように、操作指示の内容を被検出波に重畳させることにより、操作手段と画像生成手段の間において他に信号等の授受を行う必要がない場合には、操作手段と画像生成手段の間に接続ケーブル等を設ける必要がなくなり、構成の簡略化が可能となる。また、操作手段をワイヤレス状態とすることが可能となり、操作性を向上させることができる。
【００１８】
上述した画像生成手段は、仮想空間内にオブジェクトを配置すると共に、操作手段の位置及び方向に応じて当該オブジェクトの状態を変化させて、仮想空間内を仮想視点から見た二次元画像を生成することが好ましい。これにより、臨場感の高い三次元表示を行うことが可能となる。
【００１９】
ここで、本明細書において「オブジェクト」とは、仮想的に設定される空間（仮想空間）の中に配置されるべき各種の対象体をいい、その内容に限定はないが、例えば人物や動物などの登場キャラクタ、障害物や建物などの物体、あるいは背景等を構成する要素など種々のものが考えられる。
【００２０】
また、画像生成手段は、仮想空間内にオブジェクトを配置して当該仮想空間内を仮想視点から見た二次元画像を生成しており、コントローラの位置及び方向に応じて仮想視点の位置及び（又は）視方向を変更することが好ましい。
【００２１】
これにより、操作者の挙動により適合した位置に視点を設定した画像を生成することが可能となり、臨場感をより高めることができる。
【００２２】
上述した操作手段としては、例えば、銃を模した形状を有する銃型コントローラが好適に用いられる。
【００２３】
かかる銃型コントローラは、本発明の情報処理装置を用いて射撃ゲーム（シューティングゲーム）や射撃シミュレータなどを構成する場合に特に好適であり、銃を用いた場合に特有の動作を反映した画像表示を行うことが可能となる。
【００２４】
また、操作手段として銃型コントローラを用いる場合等においては、上記画像生成手段は、位置・方向算出手段による算出結果に応じて、操作手段を用いて仮想的に発射される銃弾の軌跡を含む二次元画像を生成することが好ましい。
【００２５】
本発明では、単に銃型コントローラにより狙われている画面上の二次元座標が分かるだけでなく、画面に対してどのような位置からどのような方向に銃型コントローラを向けているかが分かるので、コントローラと仮想空間内のオブジェクト等との相対的な位置と方向とを反映した現実感の高い画像表現を行うことが可能となり、臨場感をより一層高めることができる。
【００２６】
また、銃型コントローラを用いる場合に、上記画像生成手段は、位置・方向算出手段による算出結果に応じて、銃型コントローラを用いて仮想的に発射される銃弾が仮想空間内のオブジェクトに着弾するか否かの判定を行い、当該判定結果に応じて二次元画像を生成することが好ましい。
【００２７】
銃型コントローラの位置及び方向を加味することにより、着弾判定をより精密に（すなわち、現実感のある状態で）行うことが可能となり、表示画像の臨場感をより一層高めることができる。
【００２８】
また、上記操作手段として、各種の剣（刀、サーベル等）を模した形状を有する剣型コントローラを用いることも好適である。また他にも、上記操作手段として、例えば、テニスや卓球等のラケット、野球等のバットなど、表示画像と関連させた各種の形状にすることも好適である。
【００２９】
また、上述した操作手段が複数備わっている場合には、位置・方向算出手段が所定のタイミング毎（例えば、０．０２秒毎など）に複数の操作手段のうち何れか一を選択して当該選択された操作手段を識別するための識別信号を送出するようにし、複数の操作手段のそれぞれに備わった被検出波制御手段は、位置・方向算出手段から送出される識別信号に基づいて、自己の操作手段が選択されているときに被検出波を出力する制御を行うことが好ましい。
【００３０】
これにより、複数の操作手段を用いる場合にも、位置及び方向の算出対象とする一の操作手段を所定のタイミング毎に確実に特定することが可能となる。操作者が操作可能な速さを考慮し、各操作手段に対して割り当てられる時間を適宜設定することにより、各操作手段を用いる複数の操作者のそれぞれに違和感を与えることもない。
【００３１】
上述した識別信号は、無線通信によって被検出波制御手段へ送出されることが好ましい。
【００３２】
これにより、操作手段と位置・方向算出手段の間に当該識別信号を送るための接続ケーブル等を設ける必要がなくなり、構成の簡略化が可能となる。また、他の信号を授受する接続ケーブル等も不要な場合には、操作手段をワイヤレス状態とすることが可能となり、操作性を向上させることができる。
【００３３】
上述した被検出波制御手段は、自らが送出する被検出波が他装置に用いられる被検出波と識別可能となるように当該被検出波の特性を制御し、位置・方向算出手段は、センサによる検出結果から被検出波の特性を判別することによって自装置に用いられる操作手段を識別することが好ましい。また被検出波の特性として、当該被検出波の周波数を制御することがより好適である。
【００３４】
これにより、本発明にかかる情報処理装置が近接した場所に複数設置される場合にも、これら複数の情報処理装置の相互間において、各装置に対応した操作手段の識別を容易に行うことが可能となる。
【００３５】
また、本発明は、上述した情報処理装置を含んで構成されるゲーム装置でもある。例えば、上述した情報処理装置を用いて射撃ゲームなどを構成することが好適である。これにより、臨場感あふれるゲーム装置を提供することができる。
【００３６】
また、本発明は、上述した情報処理装置を含んで構成されるシミュレータでもある。ここで、本明細書において「シミュレータ」とは、操作者に対して各種の状況を擬似体験させることを可能とする擬似体験装置をいい、その内容に限定はないが、例えば、射撃を擬似体験させるもの、刀剣を用いた決闘を擬似体験させるもの、あるいは消防士による消化活動を擬似体験させるもの（この場合には消化ホース型コントローラが好適である）など様々な擬似体験装置が考えられる。
【００３７】
本発明にかかる情報処理装置を用いることにより、より臨場感の高い疑似体験をすることが可能なシミュレータを提供することができる。
【００３８】
また、本発明は、仮想空間内の仮想視点の位置および方向から見えるゲーム画像を表示する表示手段とプレイヤが操作する操作手段との相対的な位置関係を検出し、当該検出された位置関係に基づいてゲームが進行するゲーム装置であって、表示手段の表示面に対する操作手段の縦方向および横方向の位置を検出する位置検出手段と、表示面に対する操作手段の向きを検出する向き検出手段と、位置検出手段および向き検出手段のそれぞれにより得られる検出結果に基づいて、操作手段の操作位置と操作方向を算出する位置・方向算出手段と、位置・方向算出手段によって算出される操作位置に基づいて仮想視点の位置を算出するとともに、位置・方向算出手段によって算出される操作方向に基づいて当該仮想視点の視方向を算出し、視点位置と前記視方向とに基づいてゲーム画像を生成する画像生成手段と、を備える。
【００３９】
かかる構成によれば、実空間内における表示手段と操作手段の相対的な位置及び方向を算出してその算出結果を画像生成に反映させているので、操作者が操作手段をどのように操作しているか、すなわち操作者の挙動を的確に反映して臨場感の高いゲーム画像を生成することが可能となる。
【００４０】
また、本発明は、表示手段と操作手段との相対的な位置関係を検出し、当該検出された位置関係に基づいて画像を生成する画像生成方法であって、検出手段が、操作手段から送出される被検出波の強度を相互に異なる複数の位置で検出する第１ステップと、位置・方向算出手段が、上記第１ステップにおいて検出される被検出波の強度の割合に基づいて操作手段の実空間内での位置及び方向を算出する第２ステップと、画像生成手段が、操作手段を用いて行われる操作指示及び上記第２ステップにおいて算出される操作手段の位置及び方向を反映させて二次元画像を生成する第３ステップと、を含む。
【００４１】
実空間内における操作手段（コントローラ）の位置及び方向を算出してその算出結果を画像生成に反映させているので、操作者が操作手段をどのように操作しているか、すなわち操作者の挙動を的確に反映して臨場感の高い画像を生成することが可能となる。
【００４２】
上述した第１ステップは、複数の位置のそれぞれにおいて、相互に異なる三方向における被検出波の強度を検出し、第２ステップは、複数の位置のそれぞれについて、三方向における被検出波の強度から方向ベクトルを求め、当該方向ベクトルを合成することによって操作手段の位置及び方向を算出することが好ましい。
【００４３】
これにより、操作手段の位置及び方向を精度良く算出することが可能となる。
【００４４】
また、被検出波制御手段が、操作手段を用いて行われる操作指示の内容を含むように被検出波の状態を変化させる第４ステップを更に備えることが好ましい。
【００４５】
これにより、被検出波に操作指示の内容を重畳させることが可能となる。
【００４６】
また、上述した第３ステップは、仮想空間内にオブジェクトを配置すると共に、上記第２ステップにおける算出結果に応じて当該オブジェクトの状態を変化させ、又は仮想視点の位置を変更して、仮想空間内を仮想視点から見た二次元画像を生成することが好ましい。
【００４７】
これにより、臨場感の高い三次元表示を行うことが可能となる。
【００４８】
また、第３ステップは、仮想空間内にオブジェクトを配置して当該仮想空間内を仮想視点から見た二次元画像を生成しており、上記第２ステップにおける算出結果（コントローラの位置及び方向）に応じて仮想視点の位置を変更することが好ましい。
【００４９】
これにより、操作者の挙動により適合した位置に視点を設定した画像を生成することが可能となり、臨場感をより高めることができる。
【００５０】
また、上述した操作手段を複数用いる場合には、位置・方向算出手段が、所定のタイミング毎に複数の操作手段のうち何れか一を選択して当該選択された操作手段を識別するための識別信号を送出する第５ステップと、被検出波制御手段が、この識別信号に基づいて、選択された操作手段にのみ被検出波の送出動作を行わせる第６ステップと、を更に含むことが好ましい。
【００５１】
これにより、複数の操作手段を用いる場合にも、位置及び方向の算出対象とする一の操作手段を所定のタイミング毎に確実に特定することが可能となる。また、操作者が操作可能な速さを考慮し、各操作手段に対して割り当てられる時間を適宜設定することにより、各操作手段を用いる複数の操作者のそれぞれに違和感を与えることもない。
【００５２】
また、被検出波制御手段が、位置及び方向の算出対象となるべき操作手段とそれ以外の操作手段とを識別可能となるように被検出波の特性を可変に設定する第７ステップと、位置・方向算出手段が、被検出波の特性を判別することによって位置及び方向の算出対象となるべき操作手段を識別する第８ステップと、を更に含むことが好ましい。上記被検出波の特性としては、例えば、被検出波の周波数を可変に設定するとよい。
【００５３】
これにより、本発明にかかる画像生成方法が適用される装置が近接した場所に複数設置される場合にも、これら複数装置の相互間において、各装置に対応した操作手段の識別を容易に行うことが可能となる。
【００５４】
また、本発明は、仮想空間内の仮想視点の位置および方向から見えるゲーム画像を表示する表示手段とプレイヤが操作する操作手段との相対的な位置関係を検出し、当該検出された位置関係に基づいてゲーム画像を生成するゲーム画像生成方法であって、位置検出手段が、表示手段の表示面に対する操作手段の縦方向および横方向の位置を検出する第１ステップと、向き検出手段が、表示面に対する操作手段の向きを検出する第２ステップと、位置・方向算出手段が、第１ステップ及び第２ステップにおいて得られる検出結果に基づいて、操作手段の操作位置と操作方向を算出する第３ステップと、画像生成手段が、第３ステップにおいて算出される操作位置に基づいて仮想視点の位置を算出するとともに、第３ステップにおいて算出される操作方向に基づいて当該仮想視点の視方向を算出し、視点位置と視方向とに基づいてゲーム画像を生成する第４ステップと、を含む。
【００５５】
実空間内における操作手段（コントローラ）の位置及び方向を算出してその算出結果を画像生成に反映させているので、操作者が操作手段をどのように操作しているか、すなわち操作者の挙動を的確に反映して臨場感の高いゲーム画像を生成することが可能となる。
【発明の効果】
【００５６】
本発明によれば、実空間内における操作手段の位置及び方向が算出され、その算出結果が画像生成に反映されるので、操作者が操作手段をどのように操作しているか、すなわち操作者の挙動を的確に反映して臨場感の高い画像を生成することが可能となる。
【発明を実施するための最良の形態】
【００５７】
以下、本発明の実施の形態について図面を参照して説明する。
【００５８】
図１は、本発明を適用した一実施形態のゲーム装置の構成について説明する図である。同図に示すゲーム装置１は、二人までのプレイヤ（遊戯者）が同時に、画面上に三次元表示されるゲーム画像を見ながら射撃ゲームを行うものであり、ゲーム装置本体１０と二つの銃型コントローラ１２、１４を含んで構成される。
【００５９】
銃型コントローラ１２、１４は、各種の銃（例えば機関銃、拳銃、ライフル銃、散弾銃或いはレーザ銃など）の外観を模した形状を有する操作手段である。銃型コントローラ１２は第１のプレイヤが入力操作するために用いるものであり、銃型コントローラ１４は第２のプレイヤが入力操作するためのものである。これらの銃型コントローラ１２、１４は、ゲーム装置本体１０との間に接続ケーブルが設けられないワイヤレス状態になっており、プレイヤが接続ケーブルによる操作範囲の制約を受けずに自在に操作することが可能となっている。ゲーム装置本体１０と各銃型コントローラ１２、１４のそれぞれの相互間における信号等の授受は無線通信によって行われる。なお、銃型コントローラ１２、１４の構成の詳細については後述する。
【００６０】
ゲーム装置本体１０は、複数のセンサ２０ａ〜２０ｄ、センサ制御部２２、送信部２４、ゲーム制御部２６、モニタ２８、直流安定化電源３０を含んで構成されている。
【００６１】
各センサ２０ａ〜２０ｄは、モニタ２８の画面の四隅近傍にそれぞれ配置されており、銃型コントローラ１２、１４のいずれかから送出される被検出波の強度を検出し、検出結果をセンサ制御部２２へ出力する。本実施形態における各センサ２０ａ〜２０ｄは、相互に異なる三方向のそれぞれに向けて配置されるセンサ面（検出面）を有している。センサ２０ａ〜２０ｄの配置状態の詳細については後述する。これらのセンサ２０ａ等が「検出手段」に対応する。
【００６２】
センサ制御部２２は、複数のセンサ２０ａ〜２０ｄのそれぞれにより検出される被検出波の強度の割合に基づいて、銃型コントローラ１２又は１４の空間内における位置及び方向を算出する。センサ制御部２２による位置及び方向の算出方法の詳細については後述する。また、センサ制御部２２は、送信部２４を用いて、所定のタイミング毎に各銃型コントローラ１２、１４のうち何れか一を選択し、当該選択された銃型コントローラを示す所定の識別信号を送出する。当該識別信号は、送信部２４を用いて無線通信により送信される。各銃型コントローラ１２、１４のそれぞれは、識別信号に基づいて自己が選択されているときにのみ被検出波の送出動作を行う。このセンサ制御部２２と上述した各センサ２０ａ等とが協働して、「位置検出手段」及び「向き検出手段」として機能する。
【００６３】
ゲーム制御部２６は、銃型コントローラ１２、１４を用いて行われる操作指示の内容と、これらの銃型コントローラ１２等の位置及び方向に対応してゲーム進行を設定し、ゲーム画像を生成するものであり、ゲーム演算部３２、画像生成部３４及び音声生成部３６の各機能ブロックを含んでいる。なお、当該ゲーム制御部２６が「画像生成手段」に対応している。
【００６４】
ゲーム演算部３２は、ゲーム進行に必要な各種の演算を行うものであり、銃型コントローラ１２等を用いて行われる操作指示及びセンサ制御部２２により算出される銃型コントローラ１２等の位置及び方向を反映させて、仮想空間内の各種オブジェクト（例えば、敵キャラクタ等）の挙動を設定する処理を行う。
【００６５】
画像生成部３４は、ゲーム演算部３２による演算結果に対応して、ゲーム空間内を仮想視点から見た二次元画像（ゲーム画像）を生成する。
【００６６】
音声生成部３６は、ゲーム演算部３２による演算結果に対応して、ゲーム進行上必要な各種のゲーム音声（例えば、爆破音やＢＧＭ等）を生成する。
【００６７】
モニタ２８は、画像生成部３４によって生成されるゲーム画像を画面に表示する。当該モニタ２８が「表示手段」に対応している。スピーカ２９は、音声生成部３６によって生成されるゲーム音声を出力する。
【００６８】
直流安定化電源３０は、ゲーム装置本体１０の全体に電力供給を行うと共に、充電端子３８を介して各銃型コントローラ１２、１４の充電を行う。
【００６９】
図２は、上述したゲーム制御部２６を具現化するハードウェア構成の具体例について説明する図である。同図に示すゲーム制御部２６は、入力インタフェース１００、ＣＰＵ１０１、ＲＯＭ１０２、ワークＲＡＭ１０３、ビデオプロセッサ１０４、ビデオメモリ１０５、デジタル／アナログ（Ｄ／Ａ）変換器１０６、サウンドプロセッサ１０７、サウンドメモリ１０８を含んで構成されている。
【００７０】
入力インタフェース１００は、各銃型コントローラ１２、１４の位置及び方向、銃弾発射の有無などの情報をセンサ制御部２２から受け取り、当該情報（データ）をワークＲＡＭ１０３の所定アドレスに書き込む。
【００７１】
ＣＰＵ１０１は、ＲＯＭ１０２から読み出されてワークＲＡＭ１０３に書き込まれたゲームプログラムを実行し、ゲーム進行を設定する等のゲーム演算を行う。またＣＰＵ１０１は、設定したゲーム進行に応じて、ゲーム空間内における各種のキャラクタや構造物等のオブジェクトの座標値（ワールド座標系における座標値）を決定し、所定の変換マトリクスを用いてこの座標値を視野座標系における座標値に投影する処理（投影変換）を行う。
【００７２】
ＲＯＭ１０２は、上記ゲームプログラムや、ゲーム演算に用いられる各種データ（例えば、ポリゴンデータやテクスチャデータ等）を格納する。ワークＲＡＭ１０３は、ＣＰＵ１０１がゲーム演算を行う際に各種データを一時的に格納するためのワークエリアとして機能するランダムアクセスメモリである。
【００７３】
ビデオプロセッサ１０４は、視野座標系に変換された各オブジェクトに対してテクスチャを貼り合わせて、次フレームに表示されるべきゲーム画像に対応する描画データを生成し、ビデオメモリ１０５に書き込む。また、ビデオプロセッサ１０４は、現フレームに表示されるべきゲーム画像に対応する描画データをビデオメモリ１０５から読み出してＤ／Ａ変換器１０６に出力する。当該描画データがＤ／Ａ変換器１０６によってアナログの映像信号に変換され、モニタ２８に出力されることにより、モニタ２８の画面上にゲーム画像が表示される。
【００７４】
サウンドプロセッサ１０７は、ゲーム進行に対応した音響効果を与えるために、音声データを生成してサウンドメモリ１０８に書き込むと共に、当該サウンドメモリ１０８から適宜音声データを読み出してアナログの音声信号に変換し、スピーカ２９に出力する。当該音声信号に基づいてスピーカ２９からゲーム音声が出力される。
【００７５】
図３は、銃型コントローラ１２の詳細構成を説明する図である。なお、銃型コントローラ１４も同様な構成を有しており、ここでは説明を省略する。同図に示すように銃型コントローラ１２は、操作部４０、発光部４２、発光制御部４４、電源／充電回路４６、バッテリ４８を備えている。
【００７６】
操作部４０は、プレイヤが銃弾の発射などを指示するための操作キー（トリガスイッチ）として用いられるものである。なお、操作部４０としては、トリガスイッチとしての操作キー以外にも、武器交換を指示するスイッチ（武器チェンジスイッチ）や弾充填スイッチ（リロードスイッチ）などを含んでいてもよい。
【００７７】
発光部４２は、外部に向けて被検出波を送出可能となるように、銃型コントローラ１２の筐体の前方、具体的には銃口付近に配置されており、発光制御部４４により動作制御がなされ、被検出波を送出する。本実施形態では、赤外線を用いて上記被検出波を送出している。なお、赤外線以外にも、可視光線など様々な波長の電磁波、或いは音波などを用いて被検出波を送出することが可能である。
【００７８】
発光制御部４４は、発光部４２の動作制御を行う。具体的な制御内容については後述する。当該発光制御部４４が「被検出波制御手段」に対応する。
【００７９】
電源／充電回路４６は、バッテリ４８に蓄積された電力を用いて銃型コントローラ１２の全体に電源供給を行うための電源回路と、充電端子５０を介して外部から電力供給を受けてバッテリ４８を充電するための受電回路とを含んでいる。
【００８０】
本実施形態のゲーム装置１はこのような構成を有しており、次にその動作内容について説明を行う。
【００８１】
図４は、銃型コントローラの位置及び方向の算出方法について説明する図である。図４（Ａ）は銃型コントローラと各センサ２０ａ等との空間的な位置関係を示しており、図４（Ｂ）は銃型コントローラの方向を示すベクトルの定義を示している。
【００８２】
同図に示すように、各センサ２０ａ〜２０ｄは、モニタ２８の画面２８ａの四隅近傍にそれぞれ配置されている。詳細には、センサ２０ａは画面２８ａの左上、センサ２０ｂは画面２８ａの右上、センサ２０ｃは画面２８ａの左下、センサ２０ｄは画面２８ａの右下にそれぞれ配置されている。本例では、基本的に、これらのセンサ２０ａ〜２０ｄに囲まれた範囲が検出エリアとなる。この検出エリアは、銃型コントローラ１２により狙われるべき範囲をいう。各センサが銃型コントローラ１２から送出される被検出波を検出可能な範囲は、各センサの感度にもよるが上記検出エリアよりも広い範囲となる。
【００８３】
各センサ２０ａ〜２０ｄは、それぞれ、相互に異なる方向に向けて配置される３つのセンサ面を有し、これら３つのセンサ面はそれぞれＸ方向（水平方向）、Ｙ方向（垂直方向）、Ｚ方向（奥行き方向）に向けられている。各センサ２０ａ等は、これら３つのセンサ面によって、銃型コントローラ１２（又は１４）の発光部４２から送出される検出用信号のＸ、Ｙ、Ｚ方向の強度（本例では赤外線の入光量）を検出する。
【００８４】
センサ制御部２２は、各センサ２０ａ〜２０ｄにおけるＸ、Ｙ、Ｚ方向の入光量の割合に基づいて、各センサ２０ａ等の配置位置を基点として銃型コントローラ１２の位置を示す３次元の方向ベクトルを求める。図示のように、センサ２０ａに対応する方向ベクトルｖａ、センサ２０ｂに対応する方向ベクトルｖｂ、センサ２０ｃに対応する方向ベクトルｖｃ、センサ２０ｄに対応する方向ベクトルｖｄがそれぞれ求められる。これらの方向ベクトルｖａ、ｖｂ、ｖｃ及びｖｄを合成することによって、コントローラの位置が三次元の座標値（ｘ、ｙ、ｚ）として得られる。また、コントローラの方向については、ＸＺ平面となす角度θと、ＸＹ平面となす角度φの２つの角度として得られる。
【００８５】
このとき、最低限２カ所のセンサを基点とした方向ベクトルが分かれば、銃型コントローラ１２（又は１４）の位置を知ることができる。また、銃型コントローラ１２の発光部４２が任意の位置で任意の方向に向いて発光した場合に、各センサ２０ａ等における入光量の割合は一義的に決まる。したがって、センサ制御部２２は、各センサ２０ａ〜２０ｄに対する入光量の割合に基づいて、銃型コントローラ１２の向いている方向を算出する。なお、銃型コントローラ１２の方向は適宜定義すればよいが、例えば銃身の方向に対応させるようにするとよい。
【００８６】
このようにして、銃型コントローラ１２の位置及び方向が算出されると、当該銃型コントローラ１２を用いるプレイヤが画面のどの場所をどのような角度から狙っているかを判定することが可能となり、更に画面に対するプレイヤの距離（遠近）も判定することが可能となる。したがって、銃型コントローラ１２の位置（すなわちプレイヤの位置）をゲーム空間内における位置に換算し、当該ゲーム空間内に存在するオブジェクトとの相対的な位置関係（距離、方向）を判定することが可能となり、当該判定結果を活かして様々なゲーム演出が可能となる。
【００８７】
次に、各銃型コントローラの位置及び方向などを算出する動作手順について説明する。
【００８８】
図５は、各銃型コントローラの位置及び方向を算出すると共に操作指示の内容を判定する動作について説明するフローチャートである。
【００８９】
センサ制御部２２は、所定のタイミング毎（例えば、０．１秒毎）に、各銃型コントローラ１２、１４の中からいずれか一のコントローラを選択し、当該選択されたコントローラを識別するための識別信号を送信部２４を介して送出する（ステップＳ１００）。
【００９０】
各銃型コントローラ１２、１４に備わった発光制御部４４は、受信アンテナ４５を介して識別信号を受信し、当該識別信号に基づいて、自己の銃型コントローラが選択されているか否かを判定し、自己のコントローラが選択されている場合に、発光部４２に被検出波を出力させる制御を行う。この結果、一の選択されている銃型コントローラ（被選択コントローラ）のみが被検出波の送出動作を行う（ステップＳ１０２）。例えば、被選択コントローラが銃型コントローラ１２であるとして以降の説明を行う。このように本実施形態では、各コントローラは常に発光動作を行う必要がなく、被選択コントローラとなったときにのみ発光すればよいので消費電力を抑えることが可能となり、バッテリ４８の保ちがよくなる。また、あるタイミングでは一のコントローラのみが選択されて発光動作を行っているので、ノイズとなる光の発光を抑えることが可能となる。
【００９１】
また、ステップ１０２に示す動作と並行して、被選択コントローラである銃型コントローラ１２の発光制御部４４は、発光部４２から出力される被検出波の状態を操作指示の内容（本例ではトリガスイッチ４０の操作状況）に応じて変化させる制御を行う（ステップＳ１０４）。例えば、本実施形態では、被検出波をパルス点滅させる制御を行っており、この点滅状態を可変させてディジタル信号（シリアル信号）を表現することにより、操作指示の内容を被検出波に重畳させている。
【００９２】
銃型コントローラ１２（被選択コントローラ）から被検出波が送出されると、その強度が各センサ２０ａ〜２０ｄのそれぞれによって検出される（ステップＳ１０６）。センサ制御部２２は、各センサ２０ａ等により検出される被検出波の強度に基づいて、銃型コントローラ１２（被選択コントローラ）の位置及び方向を算出する（ステップＳ１０８）。具体的な算出方法については、上述した通りである（図４参照）。
【００９３】
また、センサ制御部２２は、各センサ２０ａ等により検出される被検出波の状態に基づいて、当該被検出波に重畳されている操作指示の内容を判別する（ステップＳ１１０）。上述したように、本例では被検出波の状態によりディジタル信号を表現しているので、このディジタル信号の内容によって操作指示の内容を判別する。なお、各センサ２０ａ等による検出結果について、例えば、信号強度の強い順に３つを抽出して、これらの検出結果に基づいて判別されるディジタル信号の内容を比較して多数決を取るなどの処理をし、操作指示の内容の判別精度を向上させることも好適である。このようにして得られた銃型コントローラ１２（被選択コントローラ）の位置及び方向の算出結果と操作指示の内容は、センサ制御部２２からゲーム演算部３２に出力される。そして、上述したステップＳ１００に戻り、以降の処理が繰り返される。
【００９４】
次に、上述した図５に示した処理と並行して行われるゲーム制御部２６の動作手順について説明する。
【００９５】
図６は、ゲーム制御部２６の動作手順を示すフローチャートである。図６に示す一連の処理は、ゲーム画像の生成タイミングに対応して、例えば１／６０秒毎に繰り返し行われる。
【００９６】
ゲーム制御部２６内のゲーム演算部３２は、各銃型コントローラ１２、１４の位置及び方向、並びに操作指示の内容についての情報を取得する（ステップＳ２００）。具体的には、センサ制御部２２による算出結果を示すフラグ（データ）がワークＲＡＭ１０３（図２参照）に随時書き込まれており、このフラグを参照することによって各コントローラの位置等の情報を取得することができる。
【００９７】
次に、ゲーム演算部３２は、各銃型コントローラの位置等の情報を用いて、ゲーム空間に配置されている各オブジェクトの状態を設定する等の所定のゲーム演算を行う（ステップＳ２０２）。本実施形態では、各銃型コントローラの位置及び方向が得られることにより、従来にない様々なゲーム演出が可能となる。ゲーム演出の具体例については後述する。
【００９８】
ゲーム演算部３２による所定のゲーム演算がなされると、その演算結果に応じて、画像生成部３４によってゲーム画像が生成されると共に、音声生成部３６によってゲーム音声が生成される（ステップＳ２０４）。これらの生成されたゲーム画像及びゲーム音声がモニタ２８等に送られることにより、ゲーム画像が表示され、ゲーム音声が出力される（ステップＳ２０６）。
【００９９】
また、ゲーム演算部３２は、ゲームを終了する状態となったか否かを判定する（ステップＳ２０８）。ゲーム終了の必要がない場合には、ステップＳ２０８で肯定判断がなされ、上述したステップＳ２００に戻って以後の処理が繰り返される。また、ゲーム終了となった場合には、ゲーム演算部３２は一連の処理を終了する。
【０１００】
図７は、上述したステップ２０２における処理の具体例を示すフローチャートである。例えば、銃型コントローラ１２によって敵オブジェクトを狙撃する場合における処理ルーチンについて例示する。
【０１０１】
まず、ゲーム演算部３２は、モニタ２８を基準として銃型コントローラの実空間内での位置（射出点）及び方向の検出結果に基づいて、銃型コントローラ１２の狙っている画面２８ａ上の位置と、銃型コントローラ１２から当該位置へ向かうベクトルの方向（向き）とを算出する（ステップＳ３００）。具体的には、画面上での射出点は、画面２８ａの所定位置（例えば左上隅）を基準とした２次元座標により算出され、ベクトルの方向は上記ステップＳ２００において得られる角度θ及びφが用いられる。
【０１０２】
次に、ゲーム演算部３２は、画面２８ａ上の射出点を仮想空間内の射出点に変換し、当該変換後の射出点から仮想空間内へ向かうベクトルを算出する（ステップＳ３０２）。このとき、銃型コントローラ１２が画面２８ａに対して真っ直ぐに向いている場合、すなわち略直交する方向に配置されている場合に画面２８ａ上における射出点の位置が画面中心となるようにするとよい。
【０１０３】
次に、ゲーム演算部３２は、ステップＳ２００において取得される操作指示の内容に基づいて、操作者がトリガを引いたか否かを判定する（ステップＳ３０４）。トリガが引かれていない場合には否定判断がなされ、本例の処理ルーチンが終了する。
【０１０４】
また、トリガが引かれた場合にはステップＳ３０４において肯定判断がなされ、ゲーム演算部３２は、敵キャラクタ等の対象オブジェクトに狙いが合っているか否かを判定する（ステップＳ３０６）。具体的には、ゲーム演算部３２は、仮想空間内における射出点からのベクトル方向の延長上に対象オブジェクトが存在するか否かを調べることによってステップＳ３０６の判断を行う。
【０１０５】
対象オブジェクトに狙いが合っている場合にはステップＳ３０６において肯定判断がなされ、ゲーム演算部３２は、仮想空間内において、射出点からのベクトル方向と対象オブジェクトとの交点に着弾点座標をセットする（ステップＳ３０８）。このようなゲーム演算がなされた場合には、本例の処理ルーチンが終了した後に、敵キャラクタ等の対象オブジェクトが被弾し、対応するリアクション（例えば、負傷、破壊等）を表現する画像が生成され、表示される。
【０１０６】
また、対象オブジェクトに狙いが合っていない場合にはステップＳ３０６において否定判断がなされ、ゲーム演算部３２は、仮想空間内において、射出点からの方向（照準方向）を延長した遠方（例えば、略無限遠方）を着弾点座標としてセットする（ステップＳ３１０）。このようなゲーム演算がなされた場合には、本例の処理ルーチンが終了した後に、敵キャラクタ等の対象オブジェクトが被弾しない状態を表現する画像が生成され、表示される。
【０１０７】
このように、本例のゲーム演算では、画面２８ａ上における２次元座標に加えて、当該座標位置に対する方向（向き）をも考慮して着弾判定がなされるので、より現実的であり臨場感の高いゲーム演出が可能となる。
【０１０８】
図８は、上述した図７に示す処理により実現されるゲーム演出の具体例を説明する図である。図８（Ａ）はゲーム画像の表示例を示しており、図８（Ｂ）は図８（Ａ）に示すゲーム画像に対応するゲーム空間（仮想空間）内のオブジェクトと銃型コントローラの位置及び方向との対応関係を示している。
【０１０９】
図８に示すように、ゲーム空間内において、敵キャラクタ２００が物体２０１の陰（奥側）に隠れているとする。銃型コントローラ１２（又は１４）により図８（Ｂ）に示す位置Ｐ１から敵キャラクタ２００が狙われている場合には、敵キャラクタ２００が物体２０１に遮蔽されることから、なかなか狙撃しにくい状態になる。この位置Ｐ１から敵キャラクタ２００を狙撃するには、銃型コントローラ１２を高い位置に持ち上げ、上から大きな角度（主にθに対応）を付けて狙うことになる。また、銃型コントローラ１２により図８（Ｂ）に示すように、位置Ｐ２から敵キャラクタ２００が狙われている場合には、物体２０１の側面側から敵キャラクタ２００を狙撃しうる位置関係になる。この位置Ｐ２から、横方向に大きな角度（主にφに対応）を付けて狙うことにより、敵キャラクタ２００を狙撃することができる。このように、ゲーム空間における各オブジェクトの位置関係を反映したゲーム演出が可能となり、臨場感の高いゲーム演出が可能となる。比較例として画面上の二次元位置のみを検出する従来方法の場合を考えると、図８に示すような状況においては、いかなる位置からいかなる向きで狙っている場合にも、画面上において敵キャラクタ２００の表示位置を狙えば狙撃できてしまい、現実味に欠けるゲーム演出となる。
【０１１０】
また、射撃対象としての敵キャラクタ２００に対して、どちらの方向から着弾したか、更にはどの程度の距離から着弾したかを判断することが可能となるので、着弾表現をする際にもより臨場感のある表現をすることが可能となる。以下、このような表現を行うためのゲーム演算の例を説明する。
【０１１１】
図９は、上述したステップ２０２における処理の他の具体例を示すフローチャートである。例えば、銃型コントローラ１２によって敵オブジェクトを狙撃する場合において、着弾時の方向や距離を考慮して着弾表現を行う場合の処理ルーチンについて例示する。
【０１１２】
まず、ゲーム演算部３２は、銃型コントローラ１２の狙っている画面２８ａ上の位置と、銃型コントローラ１２から当該位置へ向かうベクトルの方向（向き）とを算出する（ステップＳ４００）。次に、ゲーム演算部３２は、画面２８ａ上の射出点を仮想空間内の射出点に変換し、当該変換後の射出点から仮想空間内へ向かうベクトルを算出する（ステップＳ４０２）。これらステップＳ４００、Ｓ４０２における具体的な処理内容は上述した図７におけるステップＳ３００、Ｓ３０２のそれぞれと同様である。
【０１１３】
また、ゲーム演算部３２は、銃型コントローラ１２と画面２８ａとの相対的な距離を算出する（ステップＳ４０４）。
【０１１４】
次に、ゲーム演算部３２は、銃型コントローラ１２により発射された銃弾が敵キャラクタ等の対象オブジェクトに当たったか否かを判定する（ステップＳ４０６）。具体的には、ゲーム演算部３２は、仮想空間内における射出点からのベクトル方向の延長上に対象オブジェクトが存在するか否かを調べることによってステップＳ４０６の判断を行う。
【０１１５】
銃弾が対象オブジェクトに当たった場合にはステップＳ４０６において肯定判断がなされ、ゲーム演算部３２は、仮想空間内において、射出点からのベクトル方向に応じてオブジェクトの挙動を設定する（ステップＳ４０８）。例えば、上記ベクトルの方向にオブジェクトが吹き飛ばされるという挙動が設定される。
【０１１６】
また上記ステップＳ４０８に示した処理と並行して、ゲーム演算部３２は、銃型コントローラ１２と画面２８ａとの距離に応じてオブジェクトの挙動を設定する（ステップＳ４１０）。具体的には、コントローラと画面との距離に所定の倍数を乗算することによって仮想空間内の距離に変換し、当該距離の長短に応じてオブジェクトの挙動が設定される。例えば、当該距離の短い場合にはオブジェクトが激しく破壊されて吹き飛び、当該距離の長い場合にはオブジェクトが部分的に破壊される等の挙動が設定される。或いは、銃型コントローラに暗闇を照らすためのライトが備わっているゲーム設定となっているような場合には、銃型コントローラが近づくと上記ライトによる照射エリアが拡がり、銃型コントローラが遠ざかると上記照射エリアが狭まる等の挙動を設定することも考えられる。
【０１１７】
このようなゲーム演算がなされた場合には、本例の処理ルーチンが終了した後に、敵キャラクタ等の対象オブジェクトが被弾する際に、上述したような挙動を表現する画像が生成され、表示される。
【０１１８】
上記図９に示した処理により、例えば、上述した位置Ｐ２（図８参照）から射撃された場合には、敵キャラクタ２００の右手側（画面上において左側）がより負傷の度合いを激しくしたり、右手側から吹き飛ばされるようにするなど、多彩な表現が可能となる。また、位置Ｐ１から射撃した場合にも、角度の持たせ方によっては、物体２０１の全面側が爆破される場合や上面側が爆破される場合があるなどの多彩な表現が可能となる。また、より近い位置（具体的にはモニタ２８と接近した位置）から狙撃された場合には、敵キャラクタ２００の負傷度合いを大きくし、あるいは物体２０１の壊れ方の度合いを大きくするなどの演出が可能である。
【０１１９】
また、敵キャラクタ２００や物体２０１と銃型コントローラとの相対的な距離の大小を判定することが可能となることから、この相対距離の大小を反映した表現が可能となる。以下、このような表現を行うためのゲーム演算の例を説明する。
【０１２０】
図１０は、上述したステップ２０２における処理の他の具体例を示すフローチャートである。例えば、銃型コントローラ１２によって敵オブジェクトを狙撃する場合において、銃型コントローラ１２と画面との距離に応じてオブジェクトの挙動が変更して設定される場合の処理ルーチンについて例示する。
【０１２１】
まず、ゲーム演算部３２は、銃型コントローラ１２の狙っている画面２８ａ上の位置と、銃型コントローラ１２から当該位置へ向かうベクトルの方向（向き）とを算出する（ステップＳ５００）。次に、ゲーム演算部３２は、画面２８ａ上の射出点を仮想空間内の射出点に変換し、当該変換後の射出点から仮想空間内へ向かうベクトルを算出する（ステップＳ５０２）。これらステップＳ５００、Ｓ５０２における具体的な処理内容は上述した図７におけるステップＳ３００、Ｓ３０２のそれぞれと同様である。また、ゲーム演算部３２は、銃型コントローラ１２と画面２８ａとの相対的な距離を算出する（ステップＳ５０４）。
【０１２２】
次に、ゲーム演算部３２は、銃型コントローラ１２と画面２８ａとの相対的な距離が所定値以下であるか否かを判定する（ステップＳ５０６）。或いは、本ステップにおける処理は、コントローラと画面との距離に所定の倍数を乗算することによって仮想空間内の距離に変換し、当該距離が所定値以下であるか否かを判定する処理であってもよい。
【０１２３】
コントローラと画面との距離が所定値以下である場合にはステップＳ５０６において肯定判断がなされ、ゲーム演算部３２は、オブジェクトに対して所定の挙動を設定する（ステップＳ５０８）。例えば、銃型コントローラが近づけられた場合には敵キャラクタ２００（図８参照）が怯えて逃げる等の挙動が設定される。このようなゲーム演算がなされた場合には、本例の処理ルーチンが終了した後に、敵キャラクタ等の対象オブジェクトが被弾する際に、上述したような挙動を表現する画像が生成され、表示される。
【０１２４】
またコントローラと敵キャラクタ２００との位置関係を考慮して、ゲーム画像を生成する際の仮想視点（カメラ視点）の位置を移動させる処理も可能である。以下、このような表現を行うためのゲーム演算の例を説明する。
【０１２５】
図１１は、上述したステップ２０２における処理の他の具体例を示すフローチャートである。例えば、銃型コントローラ１２によって敵オブジェクトを狙撃する場合において、銃型コントローラ１２とオブジェクトとの位置関係に応じて仮想視点の移動を行う場合の処理ルーチンについて例示する。
【０１２６】
まず、ゲーム演算部３２は、銃型コントローラ１２の狙っている画面２８ａ上の位置と、銃型コントローラ１２から当該位置へ向かうベクトルの方向（向き）とを算出する（ステップＳ６００）。次に、ゲーム演算部３２は、画面２８ａ上の射出点を仮想空間内の射出点に変換し、当該変換後の射出点から仮想空間内へ向かうベクトルを算出する（ステップＳ６０２）。これらステップＳ６００、Ｓ６０２における具体的な処理内容は上述した図７におけるステップＳ３００、Ｓ３０２のそれぞれと同様である。
【０１２７】
次に、ゲーム演算部３２は、操作者によって視点移動が指示されているか否かを判定する（ステップＳ６０４）。当該指示は、例えば銃型コントローラ若しくはゲーム装置本体等に視点移動を指示するためのスイッチ（図示せず）を設けておき、当該スイッチを用いて行うことが好ましい。
【０１２８】
視点移動が指示されている場合にはステップＳ６０４において肯定判断がなされ、ゲーム演算部３２は、コントローラの位置と方向基準位置とのずれを算出する（ステップＳ６０６）。銃型コントローラ１２の発光部４２が任意の位置で任意の方向に向いて発光した場合に、各センサ２０ａ等における入光量の割合は一義的に決まる。したがって、ゲーム演算部３２は、４つのセンサがすべて等しい入光量を得たときのベクトル（画面に対する法線ベクトルにあたる）を方向基準位置とし、当該位置とコントローラの現在の位置とのずれを算出する。
【０１２９】
次に、ゲーム演算部３２は、コントローラ位置の方向基準位置からのずれの割合に応じて仮想空間内における仮想視点の位置（視点位置）を変更する（ステップＳ６０８）。このようなゲーム演算がなされた場合には、本例の処理ルーチンが終了した後に、仮想視点の位置が変更された後のゲーム画像が生成され、表示される。
【０１３０】
図１２は、仮想視点の位置が変更される場合の処理内容についての具体例を説明する図である。図１２（Ａ）はゲーム画像の表示例を示しており、図１２（Ｂ）は図１２（Ａ）に示すゲーム画像に対応するゲーム空間内のオブジェクトと銃型コントローラの位置及び方向との対応関係を示している。図１２（Ｂ）に示すように、銃型コントローラが位置Ｐ２にある場合には、この位置と敵キャラクタ２００との関係を考慮して、ゲーム画像を生成する際の仮想視点の位置を移動させるとよい。これにより、例えば、上述した図８に示したようなゲーム画像から、図１２（Ａ）に示すようなゲーム画像に切り替わる。これにより、プレイヤの挙動を反映した的確な視点位置を設定したゲーム画像を生成し、表示することが可能となり、ゲームの臨場感をより高めることが可能となる。このような演出は、特に、プレイヤが一人のみの場合において有効である。
【０１３１】
なお、図１１に示した処理では視点位置の移動指示がなされた場合に仮想視点の移動を行っていたが、当該指示によらずに視点位置の移動を行うことも可能である。例えば、戦闘モードに設定されている場合にはコントローラの移動に連動して、画面上に表示される照準を移動させる画像表現も可能である。また、移動モード（非戦闘モード）に設定されている場合には、コントローラの移動に連動して視点位置が随時移動されてもよい。
【０１３２】
このように、本実施形態のゲーム装置では、実空間内における銃型コントローラ１２（又は１４）の位置及び方向を算出してその算出結果をゲーム画像の生成に反映させているので、プレイヤが銃型コントローラをどのように操作しているか、すなわち操作者の挙動を的確に反映して臨場感の高い画像を生成することが可能となる。
【０１３３】
ところで、上述した本実施形態にかかるゲーム装置が複数存在し、それらが比較的に近接した位置に設置される場合には、自己のゲーム装置に用いられる銃型コントローラと、それ以外のゲーム装置に用いられる銃型コントローラを識別することが必要となる。以下、各ゲーム装置に対応する銃型コントローラをそれぞれ識別する構成及び方法について説明する。
【０１３４】
図１３は、複数のゲーム装置を近接して配置する場合において、銃型コントローラを識別する手法について説明する図である。図１３において、ゲーム装置本体１０−１に各銃型コントローラ１２−１、１４−１が対応し、ゲーム装置本体１０−２に各銃型コントローラ１２−２、１４−２が対応している。このような場合に、各銃型コントローラに備わった発光制御部は、自らが送出する被検出波が他装置に用いられる被検出波と識別可能となるように被検出波の特性を制御するとよい。本実施形態では、ゲーム装置本体１０−１に対応する各銃型コントローラから送出される被検出波Ｌ１１及びＬ１２の周波数ｆ１と、ゲーム装置本体１０−２に対応する各銃型コントローラから送出される被検出波Ｌ２１及びＬ２２の周波数ｆ２とを異なる値に設定している。そして、各ゲーム装置１０−１又は１０−２に備わったセンサ制御部は、各センサによる検出結果から被検出波の特性（周波数）を判別することによって自装置に用いられる銃型コントローラを識別し、位置等の算出を行う。なお、ゲーム装置が３台以上の場合にも同様にして、各ゲーム装置に対応するコントローラを識別することが可能である。
【０１３５】
なお、本発明は上述した実施形態の内容に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。例えば、上述した実施形態では、２つの銃型コントローラを備え、二人までのプレイヤが同時に遊戯可能な構成を例示していたが、銃型コントローラ等を適宜追加することによって、より多数のプレイヤが同時に遊戯可能に構成することも可能である。
【０１３６】
また、上述した実施形態では、各センサはそれぞれ三方向のセンサ面が備わっていたが、一のセンサ面のみが備わっているセンサを用いるようにすることも可能である。この場合には、構成の簡略化による低コスト化や、位置等を算出する際の処理負担の軽減を図ることが可能になる等の利点がある。
【０１３７】
また、上述した実施形態では、一例として銃型コントローラを用いるゲーム装置について説明を行っていたが、本発明の適用範囲はこれに限定されるものではなく、他にも剣型コントローラやその他各種のコントローラを用いるゲーム装置についても本発明を適用することが可能である。例えば、剣型コントローラを用いるゲームの場合には、当該コントローラの位置及び方向が得られることから、ゲーム空間内に配置される敵キャラクタに斬りつける深さをコントローラの位置によって浅くし或いは深くするという演出や、敵キャラクタのどこからどの方向に斬りつけるかを種々のパターンに設定する等の演出が可能である。以下にこの場合のゲーム演算の例を説明する。
【０１３８】
図１４は、ゲーム演算の他の具体例を示すフローチャートである。本例の処理も上述した図６のステップＳ２０２に示すゲーム演算の具体例の１つである。例えば、剣型コントローラによって敵オブジェクトに斬りつける場合の処理ルーチンについて例示する。
【０１３９】
まず、ゲーム演算部３２は、剣型コントローラの狙っている画面２８ａ上の位置と、剣型コントローラから当該位置へ向かうベクトルの方向（向き）とを算出する（ステップＳ７００）。
【０１４０】
次に、ゲーム演算部３２は、コントローラの位置の方向基準位置からの変化量を算出する（ステップＳ７０２）。当該変化量は、所定の倍数を乗算することによって仮想空間内での移動量に変換してもよい。例えば、移動前のコントローラ位置と、移動後のコントローラの位置との差（単位時間あたりの移動量）から方向ベクトルが算出される。好適な一例としては、コントローラに「攻撃ボタン」が付いていて、プレイヤはそれを押しながら斬りつける。この場合に、攻撃ボタンが押された時点のコントローラの位置を「移動前」の位置とし、１フレーム（１/６０秒）あたりの移動量が算出される。
【０１４１】
次に、ゲーム演算部３２は、上記ステップ７０４において算出した変化量に基づいて、仮想空間内のオブジェクトの挙動を設定する（ステップＳ７０４）。例えば、コントローラの奥行き方向（Ｚ方向）への移動距離に応じて、オブジェクトが斬りつけられる（或いは刺される）際の深さが設定される。このようなゲーム演算がなされた場合には、本例の処理ルーチンが終了した後に、仮想視点の位置が変更された後のゲーム画像が生成され、表示される。
【０１４２】
このように、従来の画一的な処理では実現が困難な臨場感あふれるゲーム演出を行い、画像表示を行うことができる。なお、図１４に示す処理は、例えばボクシングゲームにおいて腕の移動の表示（奥行き方向へ手が伸びる表現等）や腕のスピード、或いはパンチの深さ等を表現する場合など、他のゲーム装置に対しても同様に適用可能である。
【０１４３】
また、本発明の適用範囲はゲーム装置のみに限定されるものではなく、各種の擬似体験を可能とする、いわゆるシミュレータ（擬似体験装置）についても同様にして本発明を適用し、臨場感の高いシミュレータを実現することが可能である。
【図面の簡単な説明】
【０１４４】
【図１】本発明を適用した一実施形態のゲーム装置の構成について説明する図である。
【図２】ゲーム制御部を具現化するハードウェア構成の具体例について説明する図である。
【図３】銃型コントローラの詳細構成を説明する図である。
【図４】銃型コントローラの位置及び方向の算出方法について説明する図である。
【図５】各銃型コントローラの位置及び方向を算出すると共に操作指示の内容を判定する動作について説明するフローチャートである。
【図６】ゲーム制御部の動作手順を示すフローチャートである。
【図７】ゲーム演算の具体例を示すフローチャートである。
【図８】図７に示す処理により実現されるゲーム演出の具体例を説明する図である。
【図９】ゲーム演算の他の具体例を示すフローチャートである。
【図１０】ゲーム演算の他の具体例を示すフローチャートである。
【図１１】ゲーム演算の他の具体例を示すフローチャートである。
【図１２】仮想視点の位置が変更される場合の処理内容についての具体例を説明する図である。
【図１３】複数のゲーム装置を近接して配置する場合において、銃型コントローラを識別する手法について説明する図である。
【図１４】ゲーム演算の他の具体例を示すフローチャートである。
【符号の説明】
【０１４５】
１０  ゲーム装置本体
１２、１４  銃型コントローラ
２０ａ〜２０ｄ  複数のセンサ
２２  センサ制御部
２４  送信部
２６  ゲーム制御部
２８  モニタ
３０  直流安定化電源
３２  ゲーム演算部
３４  画像生成部
３６  音声生成部
４０  トリガスイッチ
４２  発光部
４４  発光制御部
４５  受信アンテナ
４６  電源／充電回路
４８  バッテリ
【図１】
2005185740.tif 000003
【図２】
2005185740.tif 000004
【図３】
2005185740.tif 000005
【図４】
2005185740.tif 000006
【図５】
2005185740.tif 000007
【図６】
2005185740.tif 000008
【図７】
2005185740.tif 000009
【図８】
2005185740.tif 000010
【図９】
2005185740.tif 000011
【図１０】
2005185740.tif 000012
【図１１】
2005185740.tif 000013
【図１２】
2005185740.tif 000014
【図１３】
2005185740.tif 000015
【図１４】
2005185740.tif 000016