(57)【特許請求の範囲】
【請求項１】
仮想空間内に標的オブジェクトと視点を配置し、該視点から見た前記標的オブジェクトを含むゲーム画像を生成する画像処理手段と、
前記画像処理手段により生成される前記ゲーム画像を表示する表示部と、
プレーヤーが前記表示部に表示される標的を狙って操作する操作手段と、
前記表示部に対する前記操作手段の実空間での空間的位置及び向きを検出する検出手段と、
前記検出手段からの検出信号に基づいて、前記仮想空間に発射体の発射位置及び発射方向を設定し、前記操作手段からの操作信号に応じて、前記発射位置から発射された発射体と前記標的オブジェクトとの衝突を判定する処理を実行する制御手段と、を備え、
前記画像処理手段は、前記発射体の発射位置及び発射方向に略一致するように前記視点の位置及び視方向を設定して視点座標系を形成し、前記視点座標系に基づき設定される投影面に前記標的オブジェクトを投影変換したゲーム画像を生成するものであり、
前記制御手段は、前記操作手段からの操作信号を受信したときに、前記検出手段から受信した検出信号に基づいて、前記仮想空間内の前記発射位置から水平方向及び／又は垂直方向へずれた位置を算出し、前記発射位置から発射された前記発射体に対応させた軌跡画像を生成するための軌跡の始点位置を前記算出した位置に設定し、且つ、前記検出手段から受信した検出信号に基づいて、前記発射位置から発射される発射体の軌跡を算出し、前記算出結果に基づいて終点位置を設定して、前記始点位置から前記終点位置へ向かう方向に沿って、前記発射位置から発射されて前記終点位置へ向かう発射体に対応させた軌跡画像を配置した前記ゲーム画像を前記画像処理手段により生成させ、前記軌跡画像を含む前記ゲーム画像を前記表示部に表示するように制御する、ことを特徴とする画像生成装置。
【請求項２】
前記制御手段は、前記始点位置から前記終点位置へ向かう仮想線上の一部又は全部に渡って軌跡オブジェクトを前記仮想空間内に配置し、当該軌跡オブジェクトを前記視点の視点座標系の投影面に投影変換することにより、前記軌跡画像を含む前記ゲーム画像を前記画像処理手段により生成させる、請求項１に記載の画像生成装置。
【請求項３】
前記制御手段は、前記仮想空間内に前記仮想線と交わる前記標的オブジェクトが存在する場合に、当該標的オブジェクトと前記仮想線との交点に前記終点位置を設定する、請求項２に記載の画像生成装置。
【請求項４】
前記制御手段は、前記仮想空間内に前記仮想線と交わる前記標的オブジェクトが存在しない場合に、前記仮想線上の略無限遠点を前記終点位置に設定する、請求項２に記載の画像生成装置。
【請求項５】
仮想空間内に標的オブジェクトと視点を配置し、該視点から見た前記標的オブジェクトを含むゲーム画像を生成する画像処理手段と、
前記画像処理手段により生成される前記ゲーム画像を表示する表示部と、
プレーヤーが前記表示部に表示される標的を狙って操作する操作手段と、
前記表示部に対する前記操作手段の実空間での空間的位置及び向きを検出する検出手段と、
前記検出手段からの検出信号に基づいて、前記仮想空間に発射体の発射位置及び発射方向を設定し、前記操作手段からの操作信号に応答して、前記発射位置から発射された発射体と前記標的オブジェクトとの衝突を判定する処理を実行する制御手段と、を備えた画像生成装置の画像表示方法であって、
前記画像処理手段は、前記発射体の発射位置及び発射方向に略一致するように前記視点位置及び視方向を設定して視点座標系を形成し、前記視点座標系に基づき設定される投影面に前記標的オブジェクトを投影変換したゲーム画像を生成するものであり、
前記制御手段は、前記操作手段からの操作信号を受信したときに、前記検出手段から受信した検出信号に基づいて、前記仮想空間内の前記発射位置から水平方向及び／又は垂直方向へずれた位置を算出し、前記発射位置から発射された前記発射体に対応させた軌跡画像を生成するための軌跡の始点位置を前記算出した位置に設定し、且つ、前記検出手段から受信した検出信号に基づいて、前記発射位置から発射される発射体の軌跡を算出し、前記算出結果に基づいて終点位置を設定するステップと、
前記始点位置から前記終点位置へ向かう方向に沿って、前記発射位置から発射されて前記終点位置へ向かう発射体に対応させた軌跡画像を配置した前記ゲーム画像を前記画像処理手段により生成させ、前記軌跡画像を含む前記ゲーム画像を前記表示部に表示するステップと、を実行する、ことを特徴とする画像表示方法。
【請求項６】
前記制御手段は、前記始点位置から前記終点位置へ向かう仮想線上の一部又は全部に渡って軌跡オブジェクトを前記仮想空間内に配置するステップと、当該軌跡オブジェクトを前記視点の視点座標系の投影面に投影変換することにより、前記軌跡画像を含む前記ゲーム画像を前記画像処理手段により生成させるステップとを実行する、請求項５に記載の画像表示方法。
【請求項７】
前記制御手段は、前記仮想空間内に前記仮想線と交わる前記標的オブジェクトが存在するか否かを判定するステップと、前記標的オブジェクトが存在する場合に、当該標的オブジェクトと前記仮想線との交点に前記終点位置を設定するステップとを実行する、請求項６に記載の画像表示方法。
【請求項８】
前記制御手段は、前記仮想空間内に前記仮想線と交わる前記標的オブジェクトが存在するか否かを判定するステップと、前記標的オブジェクトが存在しない場合に、前記仮想線上の略無限遠点を前記終点位置に設定するステップとを実行する、請求項６に記載の画像表示方法。
【請求項９】
仮想空間内に標的オブジェクトと視点を配置し、該視点から見た前記標的オブジェクトを含むゲーム画像を生成する画像処理手段と、前記画像処理手段により生成される前記ゲーム画像を表示する表示部と、プレーヤーが前記表示部に表示される標的を狙って操作する操作手段と、前記表示部に対する前記操作手段の実空間での空間的位置及び向きを検出する検出手段と、前記検出手段からの検出信号に基づいて、前記仮想空間に発射体の発射位置及び発射方向を設定し、前記操作手段からの操作信号に応答して、前記発射位置から発射された発射体と前記標的オブジェクトとの衝突を判定する処理を実行する制御手段と、を有する画像処理システムにより実行されるプログラムであって、
前記画像処理手段に、前記発射体の発射位置及び発射方向に略一致するように前記視点位置及び視方向を設定して視点座標系を形成させ、前記視点座標系に基づき設定される投影面に前記標的オブジェクトを投影変換したゲーム画像を生成させ、
前記制御手段に、前記操作手段からの操作信号を受信したときに、前記検出手段から受信した検出信号に基づいて、前記仮想空間内の前記発射位置から水平方向及び／又は垂直方向へずれた位置を算出し、前記発射位置から発射された前記発射体に対応させた軌跡画像を生成するための軌跡の始点位置を前記算出した位置に設定し、且つ、前記検出手段から受信した検出信号に基づいて、前記発射位置から発射される発射体の軌跡を算出し、前記算出結果に基づいて終点位置を設定する処理と、
前記始点位置から前記終点位置へ向かう方向に沿って、前記発射位置から発射されて前記終点位置へ向かう発射体に対応させた軌跡画像を配置した前記ゲーム画像を前記画像処理手段により生成させ、前記軌跡画像を含む前記ゲーム画像を前記表示部に表示させる処理と、を実行させるためのプログラム。
【請求項１０】
前記制御手段に、前記始点位置から前記終点位置へ向かう仮想線上の一部又は全部に渡って軌跡オブジェクトを前記仮想空間内に配置する処理と、当該軌跡オブジェクトを前記視点の視点座標系の投影面に投影変換することにより、前記軌跡画像を含む前記ゲーム画像を前記画像処理手段により生成させる処理とを実行させる、請求項９に記載のプログラム。
【請求項１１】
前記制御手段に、前記仮想空間内に前記仮想線と交わる前記標的オブジェクトが存在するか否かを判定する処理と、前記標的オブジェクトが存在する場合に、当該オブジェクトと前記仮想線との交点に前記終点位置を設定する処理とを実行させる、請求項１０に記載のプログラム。
【請求項１２】
前記制御手段に、前記仮想空間内に前記仮想線と交わる前記標的オブジェクトが存在するか否かを判定する処理と、前記標的オブジェクトが存在しない場合に、前記仮想線上の略無限遠点を前記終点位置に設定する処理とを実行させる、請求項１０に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元表示（３Ｄ表示）の画像表示を行うゲーム装置や各種のシミュレータ（擬似体験装置）などに好適な画像処理技術に関する。
【背景技術】
【０００２】
従来より、銃を模した形状を有する銃型コントローラを用いて、画面上に現れる射撃対象キャラクタ（例えば、敵となる人物等）を射撃するゲーム装置が知られている。このような射撃ゲーム等では、画面上に表示されるプレーヤーキャラクタを操作するようにしてゲームを行うものの他に、操作者の視点から見た仮想空間（ゲーム空間）内の状態を画面上に表示する、いわゆる一人称視点の画像表示を行うものがある。一人称視点の画像表示がなされることにより、操作者自身が実空間において操作する銃型コントローラの銃口からそのまま仮想空間内の目標物（例えば敵キャラクタ）を狙っているような感覚が得られる。このような一人称視点の画像表示技術は、例えば、特開平８−６９２７４号公報（特許文献１）に記載されている。  
【０００３】
【特許文献１】特開平８−６９２７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
射撃ゲームでは、プレーヤーキャラクタの銃から発射される弾丸の軌跡を表示させる表現手法を採用することにより、ゲーム画像の表現力が増して好ましい。ところが、上述した一人称視点の画像表現を採用する場合には、この弾丸の軌跡を効果的に表現することが難しかった。具体的には、一人称視点の画像表示を採用する場合には、通常、操作者の視点に略一致させた位置或いは当該位置に近い銃口の位置を仮想視点として設定し、この仮想視点に対応してゲーム空間内を所定の投影面に投影変換して二次元画像（ゲーム画像）を生成する。しかしながら、このように仮想視点の位置を操作者の視点又はそれに近い位置に設定した場合には、銃弾の軌跡も仮想視点又はそれに近い位置から狙撃位置へ向かうこととなるので、投影変換を行って得られた二次元画像中では軌跡がほぼ点状に表示されてしまい、弾丸の軌跡が充分に表現されないことになる。
【０００５】
そこで、本発明は、一人称視点を採用するゲーム等の画像表示装置において、操作者側から仮想空間に向かう銃弾の軌跡等をより効果的に表現することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の態様の本発明は、仮想空間内に標的オブジェクトと視点を配置し、該視点から見た前記標的オブジェクトの画像を生成する画像処理手段と、前記画像処理手段により生成される画像を表示する表示部と、プレーヤーが前記表示部に表示される標的を狙って操作する操作手段と、前記表示部に対する前記操作手段の空間的位置または向きの少なくとも一方を検出する検出手段と、前記操作手段からの操作信号に応じて、前記仮想空間に設定された発射位置から発射された発射体と前記標的オブジェクトとの衝突を判定する処理を含むゲームのプログラムを実行する制御手段と、を備え、前記制御手段が、前記操作手段からの操作信号を受信したときに、前記検出手段から受信した検出信号に基づいて、仮想空間内の前記発射位置からずらした始点位置と、前記発射位置から発射される発射体が到達する終点位置とを決定し、前記始点位置から前記終点位置へ向かう発射体の軌跡画像を前記画像処理手段により生成させ、前記軌跡画像を前記表示部に表示するように制御することを特徴とする画像生成装置である。
【０００７】
ここで「操作手段（コントローラ）」とは、操作者が手に持ち、或いは身につけて用い、各種の操作指示を入力するためのものをいいその形状等に限定はないが、本発明の画像生成装置によって生成される画像と関連のある形状を有するように形成することが好ましい。このような操作手段としては、例えば、各種の銃（拳銃、ライフル銃、レーザ銃等）を模した形状を有する銃型コントローラなどが挙げられる。ここで「オブジェクト」とは、仮想的に設定される空間（仮想空間）の中に配置されるべき各種の対象体をいい、その内容に限定はないが、例えば人物や動物などの登場キャラクタ、障害物や建物などの物体、あるいは背景等を構成する要素など種々のものが考えられる。また「標的オブジェクト」とは、上記「オブジェクト」であって、ゲームにおける銃撃等のアクションの標的となるもの（例えば、敵キャラクタとなるオブジェクト等）をいう。また「発射体」としては、例えば銃撃ゲームにおける銃弾などが該当する。
【０００８】
かかる構成では、発射体の発射位置とは異なる位置から始まる区間に軌跡画像を表示しているので、射撃ゲームにおける銃弾の軌跡の表現やその他これに類似する画像表現を行う際に、投影変換後の二次元画像において軌跡が点状となることがない。したがって、例えば一人称視点を採用するゲーム等の画像表示装置において、プレーヤー側から仮想空間に向かう銃弾の軌跡等をより効果的に表現することが可能となる。本発明によれば、銃弾の軌跡以外にも、例えば操作手段としてのレーザポインタで仮想空間内の所望位置を指し示すような画像表現など各種の場合において効果的な画像表現が可能となる。
【０００９】
好ましくは、前記制御手段は、前記始点位置から前記終点位置へ向かう仮想線上の一部又は全部に渡って軌跡オブジェクトを仮想空間内に配置し、当該軌跡オブジェクトを前記視点の視点座標系の投影面に投影変換することにより、前記軌跡画像を前記画像処理手段により生成させ、前記軌跡画像を前記表示部に表示するように制御する。
【００１０】
これにより、軌跡画像を容易に生成し得る。
【００１１】
好ましくは、前記制御手段は、前記仮想空間内に前記仮想線と交わる前記標的オブジェクトが存在する場合に、当該標的オブジェクトと前記仮想線との交点に前記終点位置を設定する。
【００１２】
これにより、手前側（操作者側）の所定位置から標的オブジェクトとの交点までの区間に軌跡画像が表示される。したがって、射撃ゲーム等において敵キャラクタ等のオブジェクトに着弾する際の軌跡の表現や、レーザポインタでオブジェクトの所望位置を指し示すような表現がより的確に行われて好ましい。
【００１３】
好ましくは、前記制御手段は、前記仮想空間内に前記仮想線と交わる前記標的オブジェクトが存在しない場合に、前記仮想線上の略無限遠点を前記終点位置に設定する。
【００１４】
これにより、射撃ゲーム等においては敵キャラクタ等のオブジェクトに着弾しなかった銃弾が遠方へ飛翔していく際の軌跡の表現がより的確に行われて好ましい。
【００１５】
第２の態様の本発明は、仮想空間内に標的オブジェクトと視点を配置し、該視点から見た前記標的オブジェクトの画像を生成する画像処理手段と、前記画像処理手段により生成される画像を表示する表示部と、プレーヤーが前記表示部に表示される標的を狙って操作する操作手段と、前記表示部に対する前記操作手段の空間的位置または向きの少なくとも一方を検出する検出手段と、前記操作手段からの操作信号に応答して、前記仮想空間に設定された発射体の発射位置から発射された発射体と前記標的オブジェクトとの衝突を判定する処理を含むゲームのプログラムを実行する制御手段と、を備えた画像生成装置の画像表示方法であって、前記制御手段が、前記操作手段からの操作信号を受信したときに、前記検出手段から受信した検出信号に基づいて、仮想空間内の前記発射位置からずらした始点位置と、前記発射位置から発射される発射体が到達する終点位置とを決定するステップと、前記始点位置から前記終点位置へ向かう発射体の軌跡画像を前記画像処理手段により生成させ、前記軌跡画像を前記表示部に表示するステップと、を実行することを特徴とする画像表示方法である。すなわち、本発明は上記第１の態様にかかる発明を方法の発明として把握したものである。
【００１６】
これにより、例えば、一人称視点を採用するゲーム装置等の画像処理装置において、プレーヤー側から仮想空間に向かう銃弾の軌跡等をより効果的に表現することが可能となる。
【００１７】
好ましくは、前記制御手段は、前記始点位置から前記終点位置へ向かう仮想線上の一部又は全部に渡って軌跡オブジェクトを仮想空間内に配置するステップと、当該軌跡オブジェクトを前記視点の視点座標系の投影面に投影変換することにより、前記軌跡画像を前記画像処理手段により生成させ、前記軌跡画像を前記表示部に表示するステップとを実行する。
【００１８】
好ましくは、前記制御手段は、前記仮想空間内に前記仮想線と交わる前記標的オブジェクトが存在するか否かを判定するステップと、前記標的オブジェクトが存在する場合に、当該標的オブジェクトと前記仮想線との交点に前記終点位置を設定するステップとを実行する。
【００１９】
好ましくは、前記制御手段は、前記仮想空間内に前記仮想線と交わる前記標的オブジェクトが存在するか否かを判定するステップと、前記標的オブジェクトが存在しない場合に、前記仮想線上の略無限遠点を前記終点位置に設定するステップとを実行する。
【００２０】
第３の態様の本発明は、仮想空間内に標的オブジェクトと視点を配置し、該視点から見た前記標的オブジェクトの画像を生成する画像処理手段と、前記画像処理手段により生成される画像を表示する表示部と、プレーヤーが前記表示部に表示される標的を狙って操作する操作手段と、前記表示部に対する前記操作手段の空間的位置または向きの少なくとも一方を検出する検出手段と、前記操作手段からの操作信号に応答して、前記仮想空間に設定された発射体の発射位置から発射された発射体と前記標的オブジェクトとの衝突を判定する処理を含むプログラムを実行する制御手段と、を有する画像処理システムにより実行されるプログラムであって、前記操作手段からの操作信号を受信したときに、前記検出手段から受信した検出信号に基づいて、仮想空間内の前記発射位置からずらした始点位置と、前記発射位置から発射される発射体が到達する終点位置とを決定するステップと、前記始点位置から前記終点位置へ向かう発射体の軌跡画像を前記画像処理手段により生成させ、前記軌跡画像を前記表示部に表示するステップと、を前記制御手段に実行可能に構成されたプログラムである。すなわち、本発明は上記第２の態様にかかる方法の発明を実行するプログラムに関するものである。
【００２１】
好ましくは、前記プログラムは更に、前記始点位置から前記終点位置へ向かう仮想線上の一部又は全部に渡って軌跡オブジェクトを仮想空間内に配置するステップと、当該軌跡オブジェクトを前記視点の視点座標系の投影面に投影変換することにより、前記軌跡画像を前記画像処理手段により生成させ、前記軌跡画像を前記表示部に表示するステップとを前記制御手段に実行可能に構成される。
【００２２】
好ましくは、前記プログラムは更に、前記仮想空間内に前記仮想線と交わる前記標的オブジェクトが存在するか否かを判定するステップと、前記標的オブジェクトが存在する場合に、当該オブジェクトと前記仮想線との交点に前記終点位置を設定するステップとを前記制御手段に実行可能に構成される。
【００２３】
好ましくは、前記プログラムは更に、前記仮想空間内に前記仮想線と交わる前記標的オブジェクトが存在するか否かを判定するステップと、前記標的オブジェクトが存在しない場合に、前記仮想線上の略無限遠点を前記終点位置に設定するステップとを前記制御手段に実行可能に構成される。
【００２４】
また本発明は、仮想空間内に標的オブジェクトと視点を配置し、該視点から見た前記標的オブジェクトの画像を生成する画像処理手段と、前記画像処理手段により生成される画像を表示する表示部と、プレーヤーが前記表示部に表示される標的を指定し、仮想空間内で標的オブジェクトに対して発射体を発射する操作入力する操作手段と、前記表示部に対する前記操作手段の空間的位置または向きの少なくとも一方を検出する検出手段と、前記操作手段からの操作信号に基づいて、前記仮想空間内に設定された基準位置から発射される発射体が前記標的オブジェクトに到達する終点位置を決定し、該終点位置での前記発射体と前記標的オブジェクトとの衝突を判定することにより行うプログラムを実行する制御手段とを備えた画像処理装置であって、前記制御手段は、前記操作手段から発射体を発射する入力操作信号を受信したときに、前記検出手段から受信した検出信号に基づいて、前記基準位置からずらした始点位置を決定し、該始点位置から前記終点位置へ向かう前記発射体の軌跡画像を前記画像処理手段により生成させ、前記軌跡画像を前記表示部に表示するように制御するものである。    
【発明の効果】
【００２５】
本発明によれば、例えば一人称視点を採用するゲーム装置等の画像表示装置において、操作者側から仮想空間に向かう銃弾の軌跡等をより効果的に表現することが可能となる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態について図面を参照して説明する。
【００２７】
図１は、本発明を適用した一実施形態のゲーム装置の構成について説明する図である。同図に示すゲーム装置１００は、プレーヤー（操作者）がモニタ（表示部）２８の画面上に三次元表示されるゲーム画像を見ながら射撃ゲームを行うものであり、銃型コントローラ１０とゲーム装置本体１２とを含んで構成される。
【００２８】
銃型コントローラ１０は、各種の銃（例えば機関銃、拳銃、ライフル銃、散弾銃或いはレーザ銃など）の外観を模した形状を有する操作手段である。銃型コントローラ１０は、ゲーム装置本体１２との間に接続ケーブルが設けられないワイヤレス状態になっており、プレーヤーが接続ケーブルによる操作範囲の制約を受けずに自在に操作することが可能となっている。ゲーム装置本体１２と銃型コントローラ１０の相互間における信号等の授受は無線通信によって行われる。このために、銃型コントローラ１０は、筐体の前方（銃口付近）に発光部を有し、当該発光部から赤外線信号を送出する。赤外線信号が各センサ２０ａ等による検出対象たる被検出波に対応する。なお、赤外線以外にも、可視光線など様々な波長の電磁波、或いは音波などを用いて被検出波を送出することが可能である。また、本実施形態の銃型コントローラ１０は、発光部から出力する被検出波の状態を操作指示の内容（例えば、トリガを弾いたか否か等）に応じて変化させる制御を行っている。例えば、被検出波をパルス点滅させる制御を行い、この点滅状態を可変させてディジタル信号（シリアル信号）を表現することにより、操作指示の内容を被検出波に重畳させることができる。
【００２９】
ゲーム装置本体１２は、複数のセンサ２０ａ〜２０ｄ、センサ制御部２２、ゲーム制御部２６、モニタ２８を含んで構成されている。
【００３０】
各センサ２０ａ〜２０ｄは、モニタ２８の画面２８ａの四隅近傍にそれぞれ配置されており、銃型コントローラ１０かから送出される被検出波（赤外線信号）の強度を検出し、検出結果をセンサ制御部２２へ出力する。本実施形態における各センサ２０ａ〜２０ｄは、相互に異なる三方向のそれぞれに向けて配置されるセンサ面（検出面）を有している。センサ２０ａ〜２０ｄの配置状態の詳細については後述する。
【００３１】
センサ制御部２２は、複数のセンサ２０ａ〜２０ｄのそれぞれにより検出される被検出波の強度の割合に基づいて、銃型コントローラ１０の実空間内における位置及び方向を算出する。センサ制御部２２による位置及び方向の算出方法の詳細については後述する。
【００３２】
ゲーム制御部２４は、銃型コントローラ１０を用いて行われる操作指示の内容と、銃型コントローラ１０の位置及び／又は向きに対応してゲーム進行を設定し、ゲーム画像を生成するものであり、ゲーム演算部３０、画像生成部３２及び音声生成部３４の各機能ブロックを含んでいる。このゲーム制御部２４は、例えばＣＰＵ、ＲＯＭ、ＲＡＭ等を含んでなるコンピュータと当該プログラムにより実行される所定のプログラムとによって構成される。具体例については後述する。
【００３３】
ゲーム演算部３０は、ゲーム進行に必要な各種の演算を行うものであり、銃型コントローラ１０を用いて行われる操作指示及びセンサ制御部２２により算出される銃型コントローラ１０の位置及び／又は向きを反映させて、仮想空間内の各種オブジェクト（例えば、敵キャラクタ等）の挙動を設定する処理を行う。詳細は後述するが、このゲーム演算部３０が「位置・方向置換手段」、「始点・終点設定手段」或いは「制御手段」に対応している。
【００３４】
画像生成部（画像処理手段）３２は、ゲーム演算部３０による演算結果に対応して、ゲーム空間内を仮想視点から見た二次元画像（ゲーム画像）を生成する。この画像生成部３２によって生成されるゲーム画像がモニタ２８に表示される。
【００３５】
音声生成部３４は、ゲーム演算部３０による演算結果に対応して、ゲーム進行上必要な各種のゲーム音声（例えば、爆破音やＢＧＭ等）を生成する。この音声生成部３４によって生成されるゲーム音声がスピーカ２６によって音声出力される。
【００３６】
図２は、上述したゲーム制御部２４を具現化するハードウェア構成の具体例について説明する図である。同図に示すゲーム制御部２４は、入力インタフェース１００、ＣＰＵ１０１、ＲＯＭ１０２、ワークＲＡＭ１０３、ビデオプロセッサ１０４、ビデオメモリ１０５、デジタル／アナログ（Ｄ／Ａ）変換器１０６、サウンドプロセッサ１０７、サウンドメモリ１０８を含んで構成されている。
【００３７】
入力インタフェース１００は、銃型コントローラ１０の位置及び方向、銃弾発射の有無などの情報をセンサ制御部２２から受け取り、当該情報（データ）をワークＲＡＭ１０３の所定アドレスに書き込む。
【００３８】
ＣＰＵ１０１は、ＲＯＭ１０２から読み出されてワークＲＡＭ１０３に書き込まれたゲームプログラムを実行し、ゲーム進行を設定する等のゲーム演算を行う。またＣＰＵ１０１は、設定したゲーム進行に応じて、ゲーム空間内における各種のキャラクタや構造物等のオブジェクトの座標値（ワールド座標系における座標値）を決定し、所定の変換マトリクスを用いてこの座標値を視野座標系における座標値に投影する処理（投影変換）を行う。
【００３９】
ＲＯＭ１０２は、上記ゲームプログラムや、ゲーム演算に用いられる各種データ（例えば、ポリゴンデータやテクスチャデータ等）を格納する。ワークＲＡＭ１０３は、ＣＰＵ１０１がゲーム演算を行う際に各種データを一時的に格納するためのワークエリアとして機能するランダムアクセスメモリである。
【００４０】
ビデオプロセッサ１０４は、視野座標系に変換された各オブジェクトに対してテクスチャを貼り合わせて、次フレームに表示されるべきゲーム画像に対応する描画データを生成し、ビデオメモリ１０５に書き込む。また、ビデオプロセッサ１０４は、現フレームに表示されるべきゲーム画像に対応する描画データをビデオメモリ１０５から読み出してＤ／Ａ変換器１０６に出力する。当該描画データがＤ／Ａ変換器１０６によってアナログの映像信号に変換され、モニタ２８に出力されることにより、モニタ２８の画面上にゲーム画像が表示される。
【００４１】
サウンドプロセッサ１０７は、ゲーム進行に対応した音響効果を与えるために、音声データを生成してサウンドメモリ１０８に書き込むと共に、当該サウンドメモリ１０８から適宜音声データを読み出してアナログの音声信号に変換し、スピーカ２６に出力する。当該音声信号に基づいてスピーカ２６からゲーム音声が出力される。
【００４２】
次に、銃型コントローラ１０の位置及び方向を算出する方法について詳細に説明する。
【００４３】
図３は、銃型コントローラの位置及び方向の算出方法について説明する図である。図３（Ａ）は銃型コントローラと各センサ等との空間的な位置関係を示しており、図３（Ｂ）は銃型コントローラの方向を示すベクトルの定義を示している。
【００４４】
図３に示すように、各センサ２０ａ〜２０ｄは、モニタ２８の画面２８ａの四隅近傍にそれぞれ配置されている。詳細には、センサ２０ａは画面２８ａの左上、センサ２０ｂは画面２８ａの右上、センサ２０ｃは画面２８ａの左下、センサ２０ｄは画面２８ａの右下にそれぞれ配置されている。本例では、基本的に、これらのセンサ２０ａ〜２０ｄに囲まれた範囲が検出エリアとなる。この検出エリアは、銃型コントローラ１０により狙われるべき範囲をいう。各センサが銃型コントローラ１０から送出される被検出波を検出可能な範囲は、各センサの感度にもよるが上記検出エリアよりも広い範囲となる。
【００４５】
各センサ２０ａ〜２０ｄは、それぞれ、相互に異なる方向に向けて配置される３つのセンサ面を有し、これら３つのセンサ面はそれぞれＸ方向（水平方向）、Ｙ方向（垂直方向）、Ｚ方向（奥行き方向）に向けられている。各センサ２０ａ等は、これら３つのセンサ面によって、銃型コントローラ１０から送出される検出用信号のＸ、Ｙ、Ｚ方向の強度（本例では赤外線信号の入光量）を検出する。
【００４６】
センサ制御部２２は、各センサ２０ａ〜２０ｄにおけるＸ、Ｙ、Ｚ方向の入光量の割合に基づいて、各センサ２０ａ等の配置位置を基点として銃型コントローラ１０の位置を示す３次元の方向ベクトルを求める。図示のように、センサ２０ａに対応する方向ベクトルｖａ、センサ２０ｂに対応する方向ベクトルｖｂ、センサ２０ｃに対応する方向ベクトルｖｃ、センサ２０ｄに対応する方向ベクトルｖｄがそれぞれ求められる。これらの方向ベクトルｖａ、ｖｂ、ｖｃ及びｖｄを合成することによって、コントローラの位置が三次元の座標値（ｘ、ｙ、ｚ）として得られる。また、コントローラの方向については、ＸＺ平面となす角度θと、ＸＹ平面となす角度φの２つの角度として得られる。
【００４７】
このとき、最低限２カ所のセンサを基点とした方向ベクトルが分かれば、銃型コントローラ１０の位置を知ることができる。また、銃型コントローラ１０が任意の位置で任意の方向に向いて発光した場合に、各センサ２０ａ等における入光量の割合は一義的に決まる。したがって、センサ制御部２２は、各センサ２０ａ〜２０ｄに対する入光量の割合に基づいて、銃型コントローラ１０の向きを算出する。なお、銃型コントローラ１０の方向は適宜定義すればよいが、例えば銃身の方向に対応させるようにするとよい。
【００４８】
図４は、画面上における射出点の算出方法について説明する図である。本例は、銃型コントローラの角度に基づいて、モニタ２８の画面２８ａ上における位置（座標）及び当該位置への進入角度を求めるものである。
【００４９】
例えば、画面２８ａの解像度が６４０×４８０ドット（ＶＧＡ相当）であるものとする。画面２８ａの左上を原点のＸ−Ｙ軸として、画面上の各位置を（ｘ，ｙ）座標により表現すると、図示のように、画面中央Ａ（３２０，２４０）、画面中央右端Ｂ（６４０，２４０）、画面中央左端Ｃ（２４０，０）、画面中央下端Ｄ（３２０，４８０）、画面中央上端Ｅ（３２０，０）とそれぞれ表せる。また、銃型コントローラの角度として検出できる範囲を定める。例えば本例では、銃型コントローラの上下角を−３０°〜＋３０°、左右角を−４５°〜＋４５°とする。この条件下で、銃型コントローラの角度と射出点との対応関係を決定する。
【００５０】
銃型コントローラの角度が上下角、左右角ともに０°のときには、銃型コントローラが画面に対して直角な状態となっているので点Ａ（３２０，２４０）を「射出点」と設定する。
【００５１】
銃型コントローラの角度が上下角０°、左右角＋４５°のときには点Ｂ（６４０，２４０）を「射出点」と設定する。
【００５２】
銃型コントローラの角度が上下角０°、左右角−４５°のときには点Ｃ（０，２４０）を「射出点」と設定する。
【００５３】
銃型コントローラの角度が上下角−３０°、左右角０°のときには点Ｄ（３２０，４８０）を「射出点」と設定する。
【００５４】
銃型コントローラの角度が上下角＋３０°、左右角０°のときには点Ｅ（６４０，２４０）を「射出点」と設定する。
【００５５】
以上は、上下角又は左右角の最大値に対応する射出点の画面上での座標を表しているが、これらの中間的な位置については、連続的に変化する上下角又は左右角に応じた座標を算出する。画面上の任意の射出点Ｐ（ｘ，ｙ）に対応する銃型コントローラの上下、左右の角度を（θ，φ）とする。
【００５６】
上述した各方法によって、銃型コントローラ１０の位置及び方向が算出されると、当該銃型コントローラ１０を用いるプレーヤーが画面２８ａ上のどの位置をどのような角度から狙っているかを識別することが可能となり、更に画面に対するプレーヤーの距離（遠近）も判定することが可能となる。したがって、銃型コントローラ１０のモニタ２８に対する空間的位置及び向き（実空間での相対的位置等）を仮想空間内における位置等に置き換え、当該仮想空間内に存在するオブジェクトと銃型コントローラ１０との相対的な位置関係（距離、方向）を判定することが可能となり、当該判定結果を活かして様々なゲーム演出が可能となる。
【００５７】
次に、銃型コントローラにより仮想的に発射される銃弾の軌跡を含むゲーム画像（二次元画像）を生成するための処理について説明する。
【００５８】
図５及び図６は、仮想空間内での銃弾の発射位置と仮想空間内に配置される敵キャラクタ等のオブジェクトとの位置関係を説明する図である。図６は図５に模式的に示す仮想空間を上側から見た平面図を示している。
【００５９】
まず、上記の各方法によって仮想空間内での銃弾の発射位置Ｍが決定される。モニタ２８を基準として検出された射出点がｍであり、この射出点ｍは二次元画像を生成する際の投影面Ｓの面上の点として把握される。この発射位置Ｍ或いは射出点ｍから銃型コントローラ１０により指定される仮想空間内における方向に沿って延在する仮想線Ｌ１を想定し、当該仮想線Ｌ１上の所定位置に着弾点（終点）Ｑを設定する。図示のように、仮想空間内に仮想線Ｌ１と交わるオブジェクトＣＲ（例えば敵キャラクタ）が配置されている場合には、当該オブジェクトＣＲと仮想線Ｌ１との交点が着弾点Ｑとして設定される。また、仮想空間内に仮想線Ｌ１と交わるオブジェクトＣＲが存在しない場合には、適当な場所、例えば仮想線Ｌ１の延長線上であって非常に遠くの位置（略無限遠点）が着弾点Ｑとして設定される。すなわち、本実施形態では、銃型コントローラ１０の位置及び方向を加味して着弾判定がなされる。
【００６０】
次に、銃型コントローラの仮想空間内の発射位置Ｍを所定量だけ水平方向（横方向）にずらした位置に始点位置Ｎを設定する。なお、始点位置Ｎをずらす方向は水平方向だけでなく垂直方向も含めてもよい。このとき、二次元画像を生成するための仮想視点（カメラ視点）については、銃型コントローラ１０の銃口すなわち仮想空間内での銃型コントローラの位置及び方向に略一致させて設定される。すなわち、図５及び図６における点Ｍの位置が仮想視点となる。これにより、仮想空間を投影変換して生成される二次元画像はいわゆる一人称視点のものとなる。その際に、上述した着弾点Ｑと始点位置Ｎとを結ぶ区間Ｋの一部又は全部に渡る軌跡オブジェクトを仮想空間内に配置する。これにより、軌跡オブジェクトが投影変換されて線状画像が得られ、二次元画像に含まれるようになる。
【００６１】
なお、当該点Ｍの位置から一定距離だけ上方にずらして位置に仮想視点を設定し、仮想視点を操作者の視点により近いものとしてもよい。
【００６２】
また、図６に示すように、着弾後の敵オブジェクト（標的オブジェクト）ＣＲの挙動については、仮想線Ｌ２に沿った方向に対応付けることが好ましい。例えば、銃弾を受けた敵オブジェクトＣＲが吹き飛ばされる方向を仮想線Ｌ２に沿った方向にすると、銃弾の軌跡の方向と合致するので視覚上好ましい。
【００６３】
本ゲーム装置１００において、プレーヤーは、銃型コントローラ１０で敵を狙うシューティングゲームを行うために主に２つの操作を行うことができる。当該操作の１つは画面２８ａ上のどの位置を狙っているかを決定すること（役割１）であり、もう１つは仮想視点の位置、視方向を決定すること（役割２）である。以下に詳細に説明する。
【００６４】
プレーヤーが銃型コントローラ１０を移動させると、それに応じてゲーム演算部３０は、銃型コントローラ１０の位置、角度の少なくとも１つの情報を取得し、当該取得した位置情報及び／又は角度情報から、仮想空間内の仮想視点の位置、視方向を決める。
【００６５】
上記処理は所定時間ごと（例えば、１フレームごと、１／６０秒ごと）に行われ、プレーヤーが銃型コントローラ１０を移動させれば、それに応じて仮想視点の位置、視方向が変化する。したがって、仮想空間をその仮想視点からみた擬似３次元映像（投影された二次元映像）がリアルタイムに生成されて、時々刻々と変化する映像がモニタに表示されることになる。
【００６６】
上記のように決定された視点座標系の仮想視点から見える仮想空間内における領域に、敵オブジェクトＣＲが存在する場合（図５参照）には、敵オブジェクトＣＲが投影面Ｓに投影された擬似３次元映像（２次元映像）がモニタに表示される。
【００６７】
次に、プレーヤーは、画面２８ａ上に表示される敵オブジェクトＣＲを狙うべく、画面２８ａに対して銃型コントローラ１０を位置させる。このとき、ゲーム演算部３０は、銃型コントローラ１０の位置情報、角度情報の少なくとも１つの情報をセンサ制御部２２から取得して、プレーヤーが画面２８ａ上のどの位置を狙っているのかを算出する。
【００６８】
ここで、上記処理を行うにあたり、銃型コントローラ１０を使ってシューティングを行う場合には、（１）所定の条件により「視点変更モード（役割１）」と「シューティングモード（役割２）」とを切り替える方法、（２）プレーヤーの操作に応じて「視点変更モード（役割１）」と「シューティングモード（役割２）」とを切り替える方法、（３）モード切替を行わない方法、の各処理を実施できる。
【００６９】
（１）所定の条件によりモード切り替えを行う方法
シューティングモードに切り替えるか否かの条件を予め設定しておき（プログラムしておき）、その条件を満たしたときには、プレーヤーが銃型コントローラ１０を移動させることによる仮想視点の操作を無効とする。すなわち、条件を満たした時点で視点座標系を決定する。これにより、銃型コントローラ１０の移動に応じて視点が変更されることがないため、プレーヤーは視点の安定した画像を見ながら銃型コントローラ１０を移動させて、画面２８ａ上の所定の位置に狙いを定めることができる。モード切り替えの条件とは、例えば、仮想視点から見える仮想空間内における所定領域に敵オブジェクトＣＲが存在するか否かを条件とできる。この場合には、所定領域に敵オブジェクトＣＲが存在するか否かを当該敵オブジェクトＣＲの仮想空間内の座標から判断し、存在する場合にはシューティングモードに切り替える、という処理をゲーム演算部３０が行うとよい。
【００７０】
（２）プレーヤーの操作に応じてモード切り替えを行う方法
シューティングモードに切り替えるか否かは、プレーヤーによる操作信号に基づいてゲーム演算部３０が決定することもできる。具体的には、銃型コントローラ１０に切替ボタン（切替手段）を設ける。ゲーム演算部３０は、プレーヤーにより切替ボタンが押され、銃型コントローラ１０から送られる切替操作信号を受信した場合に、シューティングモードに切り替える。シューティングモードに切り替えた後、プレーヤーの銃型コントローラ１０の移動による仮想視点の操作が無効とされる。すなわち、ゲーム演算部３０は、銃型コントローラ１０の位置および／または角度情報を取得しても、それらの情報に応じて仮想空間の仮想視点の位置・視方向を変更し、当該変更後の仮想視点から見た透視変換画像を生成する、という処理を行わない。この場合には、プレーヤーによって切替ボタンが押され、操作信号が受信されたときに視点座標系が決定されることになる。これにより、銃型コントローラ１０の移動に追随して仮想視点が変更されることがないため、プレーヤーは視点の安定した画像を見ながら銃型コントローラ１０を操作して、画面２８ａ上の所定の位置に狙いを定めることができる。
【００７１】
（２）モード切り替えを行わない方法
プレーヤーが画面２８ａ上に表示される敵オブジェクトＣＲを狙うために、画面２８ａに対して銃型コントローラ１０を位置させてその銃口を所定の角度で画面２８ａに向けるたびに、ゲーム演算部３０は、センサ制御部２２から少なくとも銃型コントローラ１０の位置情報又は角度情報のいずれか一方を取得し、プレーヤーが銃型コントローラ１０で狙っている画面上の位置、および仮想空間内の仮想視点の位置、視方向を決定する。従って、プレーヤーが銃型コントローラ１０を移動させると、それに追随して仮想視点の位置・視方向が変更され、その変更後の視点座標系の透視変換された擬似３次元画像（２次元画像）が画面２８ａに表示される。またこれと同時に、プレーヤーが銃型コントローラ１０で狙っている画面２８ａ上の位置座標も変化するので、その変化後の位置座標に基づいて敵オブジェクトＣＲとの着弾判定処理を行う。この場合、プレーヤーにはより高度な操作技術が必要となってゲームの難易度が上がり、操作技術の高いプレーヤー（上級者）の興味を引くことができる。
【００７２】
次に、上記「シューティングモード」における銃弾の軌跡の表示について説明する。上記のようなシューティングモードでは、プレーヤーが銃型コントローラ１０を移動させた際にもそれに応じて仮想空間内の仮想視点が変更されないので、視点の安定した画面を見ながら銃型コントローラ１０を操作して、画面２８ａ上の所定の位置に狙いを定めてシューティングゲームを行うことができる。ゲーム演算部３０は、センサ制御部２２から少なくとも銃型コントローラ１０の位置情報又は角度情報のいずれかを取得して、仮想空間内の仮想視点Ｍの位置、視方向を決定する。その決定された視点座標系の仮想視点Ｍから見た仮想空間内の可視領域に敵オブジェクトＣＲが存在している状況が図５に示されている。
【００７３】
仮想視点Ｍは、仮想空間にプレーヤーキャラクタオブジェクトが存在していると仮定したときにおける当該プレーヤーキャラクタオブジェクトの目の位置に設定されている。従って、プレーヤーが操作するプレーヤーキャラクタの画像はモニタ２８の画面２８ａには表示されず、いわゆる一人称視点画像が表示される（図８参照）。
【００７４】
このとき、仮想空間の仮想視点Ｍと略同一の位置に、仮想的に銃口位置（銃弾の発射位置）が設定されており、ゲーム演算部３０は、プレーヤーの操作によるトリガ入力信号を銃型コントローラ１０から受け取ると、仮想空間の当該発射位置から発射体（例えば弾丸）が発射されたものとして、敵オブジェクトＣＲとの衝突判定を行う。
【００７５】
ゲーム演算部３０は、センサ制御部２２からその位置情報又は角度情報の少なくともいずれかを取得し、プレーヤーが銃型コントローラ１０で狙っている画面２８ａ上の位置を決定する。次に、その決定された画面２８ａ上の狙っている位置に対応する、仮想空間における仮想視点Ｍの視点座標系の透視投影面Ｓ上の位置ｍを算出する。仮想視点Ｍから投影面Ｓ上の座標ｍへ向かう方向に沿って延在する仮想線Ｌ１を想定し、その仮想線Ｌ１に基づいて敵オブジェクトＣＲとの衝突判定を行う。図示のように、仮想空間内に仮想線Ｌ１と交わる敵オブジェクトＣＲ（例えば敵キャラクタなどの目標体）が配置されている場合には、当該オブジェクＣＲと仮想線Ｌ１との交点が着弾点Ｑとして設定される。また、仮想空間内に仮想線Ｌ１と交わる敵オブジェクトＣＲが存在しない場合には、適切な場所、例えば仮想線Ｌ１の延長線上であって仮想視点から非常に遠くの位置（略無限遠点）が着弾点Ｑとして設定される。すなわち、本実施形態では、銃型コントローラ１０の位置及び／又は方向を加味して着弾判定がなされる。なお、着弾判定処理は、仮想視点Ｍの視点座標系の透視投影面Ｓ上の位置ｍと、その透視投影面Ｓ上に投影された敵オブジェクトＣＲに定められた当たり判定領域との比較によって判定してもよい。
【００７６】
次に、軌跡表示について説明する。ゲーム演算部３０は、プレーヤーの操作によるトリガ入力信号を銃型コントローラ１０から受け取ると、上記の着弾判定処理を行うとともに、銃弾の軌跡をモニタ２８に表示するための画像生成処理を行う。具体的には、ゲーム演算部３０は、プレーヤーの操作によるトリガ入力信号を受け取ると、上記のようにセンサ制御部２２からその位置情報又は角度情報の少なくとも一方を取得することにより、仮想空間内の着弾点Ｑ（終点位置）を決定する。次に、仮想空間の発射位置（または仮想視点Ｍ）からずれた位置（始点位置）を決定する。始点位置は取得した角度情報に応じてずらす量が算出されて求められる。ずらす方向も取得した角度情報に応じて算出される。そして、所定量だけずらした後の始点位置Ｎから上述した着弾点Ｑ（終点位置）に向かう方向へ銃弾の軌跡画像がモニタ２８の画面２８ａに表示されるようにレンダリング等の処理が行われる。例えば、上述した着弾点Ｑと始点Ｎとを結ぶ仮想線Ｌ２上の一部、すなわち区間Ｋの一部又は全部に渡る軌跡オブジェクトを仮想空間内に配置する。これにより、仮想視点Ｍの視点座標系の投影面Ｓに軌跡オブジェクトが透視変換されて軌跡画像を含む二次元画像が生成され、表示される。
【００７７】
ここで、上述した「所定量だけずらした後の始点位置Ｎ」を算出する方法について具体的に説明する。画像生成部３２により仮想空間内のオブジェクトが仮想視点座標系の投影面Ｓに投影されて生成された画像データは、画像生成部３２内のフレームバッファ（ビデオメモリ１０５）に記憶される。そして、フレームバッファに書き込まれた当該画像データは所定のタイミングで読み出されて、画像生成部３２からモニタ２８に送られ、画面２８ａに画像が表示される。例えば、画面２８ａの解像度が６４０×４８０ドット（ＶＧＡ相当）であるものとする。この場合には、画面２８ａの左上を原点のＸ−Ｙ軸として、画面上の各位置を（ｘ，ｙ）座標により表現すると、図示のように、画面中央Ａ（３２０，２４０）、画面中央右端Ｂ（６４０，２４０）、画面中央左端Ｃ（２４０，０）、画面中央下端Ｄ（３２０，４８０）、画面中央上端Ｅ（３２０，０）とそれぞれ表せる。フレームバッファは、これに対応したサイズの画像データを記憶でき、画面上の各座標に対応して設定された各アドレスに各ドットの画像情報が記憶される。
【００７８】
銃型コントローラの角度を検出できる範囲を定める。例えば本例では、銃型コントローラの上下角を−３０°〜＋３０°、左右角を−４５°〜＋４５°とする。銃型コントローラ１０が画面２８ａに対して垂直に位置している場合、すなわち、銃型コントローラの上下角を０°、左右角０°の場合、始点位置Ｎ（図５）が発射位置Ｍ（または視点位置Ｍ）からずれる量が０となるように設定する。すなわち、始点位置と基準位置Ｍとの位置関係は初期設定状態から変わらず維持されることになる。この条件下で、銃型コントローラの角度と、仮想空間内の始点位置Ｎとの対応関係が決定される。
【００７９】
画面上での射出点すなわち軌跡表示が開始される点（表示始点）をＰとする。画面２８ａ上の任意の表示始点Ｐ（ｘ，ｙ）に対応する銃型コントローラ１０の上下、左右の角度を（θ，φ）とする。また、Ａ点は画面の中心位置（３２０，２４０）を示す。銃型コントローラ１０の角度が上下角、左右角ともに０°のときには、銃型コントローラ１０が画面２８ａに対して直角な状態となっているので、仮想空間内に設定される始点位置Ｎ点（図５参照）が視点位置Ｍ点に設定される。なお、銃型コントローラ１０の角度が上下角、左右角ともに０°のときであって、銃型コントローラ１０が画面２８ａの中心位置に対抗する位置に存在するときは、点Ａ（３２０，２４０）が表示始点となるとともに、仮想視点Ｍの視点座標系において透視変換された２次元画像における弾の軌跡は「点」の形状で表示される。すなわち、銃型コントローラ１０の角度が上下角、左右角ともに０°のときは、銃型コントローラ１０と対向する画面２８ａの位置に「点」の画像（銃弾の軌跡）が表示される。
【００８０】
銃型コントローラ１０の角度が上下角０°、左右角＋４５°のときには点Ｂ（６４０，２４０）が表示始点となるようにずらし量が算出されて、始点位置Ｎ点（図５）がＭ点から水平方向右へずらした位置に設定される。
【００８１】
銃型コントローラ１０の角度が上下角０°、左右角−４５°のときには、所定のアルゴリズムによって点Ｃ（０，２４０）が表示始点となるようにずらすべき量が算出されて、始点位置Ｎ点（図５）がＭ点から水平方向へずらした位置に設定される。
【００８２】
銃型コントローラ１０の角度が上下角−３０°、左右角０°のときには点Ｄ（３２０，４８０）が表示始点となるように所定量が算出されて、始点位置Ｎ点（図５）がＭ点から垂直方向へずらした位置に設定される。
【００８３】
銃型コントローラ１０の角度が上下角＋３０°、左右角０°のときには点Ｅ（６４０，２４０）が表示始点となるようにずらし量が算出されて、始点位置Ｎ点（図５）がＭ点から垂直方向上へずらした位置に設定される。
【００８４】
以上の説明は、上下角又は左右角の最大値に対応する表示始点の画面上での座標を表しているが、これらの中間的な位置については、連続的に変化する上下角又は／及び左右角に応じてずらす所定量、方向がゲーム演算部３０により算出される。すなわち、ゲーム演算部３０は、画面２８ａ上の任意の点Ｐ（ｘ，ｙ）が表示始点となるように、仮想空間内のＭ点から水平および／または垂直方向へずれる量を所定のアルゴリズムによって算出し、基準Ｍ点からその所定量ずれた後の始点位置Ｎ点（図５参照）が決定される。したがって、上下角０°、左右角２２．５°のときは、プレーヤーはモニタ画面上のＡ点とＢ点の中間点に表示始点が表示されて見えることになる。
【００８５】
なお、上述のように銃型コントローラ１０の角度情報に基づいて、仮想空間に設定された発射位置Ｍ（または仮想視点Ｍ）の座標から所定量だけずらした軌跡の始点位置Ｎを決定したが、位置情報、または角度情報と位置情報の双方によりずらす量を算出するようにしてもよい。
【００８６】
また、仮想空間に設定された発射位置Ｍ（または仮想視点Ｍ）の座標から所定量だけずらした始点位置Ｎを求めるのに、ゲーム演算部３０が銃型コントローラ１０の少なくとも位置または方向のいずれかの情報を取得してリアルタイムに算出してもよいし、位置または角度の範囲ごとにずらし量を定めたテーブルを予めメモリに記憶しておき、そのテーブルから現在の銃型コントローラ１０の角度又は位置に応じて選択するようにしてもよい。
【００８７】
また、仮想空間において視点位置と弾の発射位置とが一致していない場合であっても、本発明を利用できる。例えば、銃型コントローラ１０の上下角および左右角が０°のときは、仮想空間における弾の発射位置を始点位置の初期位置として設定し、かつ、仮想空間における視点位置と始点位置（発射位置）との位置は一定距離を保ったまま維持するように設定する。そして、上下角又は／及び左右角に応じて、ずらす量、方向をゲーム演算部３０により決定し、始点位置を発射位置（または視点位置）に対してずらし、上述のような軌跡画像を表示するようにする。
【００８８】
上述した方法によって、銃型コントローラ１０を用いるプレーヤーが画面２８ａ上のどの位置をどのような角度から狙っているかを判定することが可能となる。また、画面に対するプレーヤーの距離（遠近）も判定することが可能となる。したがって、当該判定結果を活かして様々なゲーム演出が可能となる。
【００８９】
図６に示すように、着弾後の敵キャラクタ等のオブジェクトの挙動については、仮想線Ｌ２に沿った方向に対応付けることが好ましい。仮想線Ｌ２の求め方は上述の軌跡表示のやり方と同様に、当該銃型コントローラ１０の少なくとも位置または角度情報から基準位置からずらす量を算出して始点位置を定める。例えば、仮想空間内の敵キャラクタと銃弾との当たり判定処理において衝突すると判定したときに、敵オブジェクトＣＲを仮想線Ｌ２に沿った方向に移動するように制御し、仮想視点Ｍの視点座標系の投影面Ｓに透視変換した擬似３次元画像をモニタに表示することで、プレーヤーには、銃弾が飛んでいく方向と合致する方向に敵キャラクタが吹き飛ばされるように見えることになり、視覚上好ましい。\
【００９０】
次に、本実施形態のゲーム装置における画像生成処理の手順について説明する。図７は、画像生成処理の手順を説明するフローチャートである。図７に示す一連の処理は、ゲーム進行中に所定間隔（例えば１／６０秒）ごとに繰り返し行われる。なお、下記に示す各処理ステップは、処理内容に矛盾が生じない限り、適宜順番を入れ替えてもよく、複数のステップを並行して行ってもよい。
【００９１】
銃型コントローラ１０から被検出波が送出され、その強度が各センサ２０ａ〜２０ｄのそれぞれによって検出されると、センサ制御部２２は、各センサ２０ａ等により検出される被検出波の強度に基づいて、銃型コントローラ１０の実空間内での相対的な位置または方向（向き）の少なくとも一方を検出するとともに、被検出波の状態に基づいて当該被検出波に重畳されている操作指示の内容を検出する（ステップＳ１００）。
【００９２】
ゲーム演算部３０は、センサ制御部２２から銃型コントローラ１０の位置または当該銃型操作手段によって指定される方向の少なくとも一方の検出結果を取得する（ステップＳ１０１）。具体的には、センサ制御部２２による算出結果を示すフラグ（データ）がワークＲＡＭ１０３（図２参照）に随時書き込まれており、このフラグを参照することによって銃型コントローラ１０の位置等の情報を取得することができる。
【００９３】
次に、ゲーム演算部３０は、銃型コントローラ１０の実空間内での位置または方向の少なくとも一方から、仮想空間内の仮想視点の位置、視方向を決める。具体的には、銃型コントローラの実空間での位置、水平方向の角度θ及び垂直方向の角度φにより、仮想空間内の仮想視点の位置、視方向が決まる。そして視点座標系が決定されると、制御部は銃型コントローラ１０の実空間内での位置または方向の少なくとも一方の情報からプレーヤーが画面上のどの位置を狙っているかを決定する（ステップＳ１０２）。
【００９４】
また、ゲーム演算部３０は、ステップＳ１０１において取得される操作指示の内容に基づいて、操作者がトリガを引いたか否かを判定する（ステップＳ１０３）。トリガが引かれていない場合には否定判断（ＮＯ）がなされ、後述するステップＳ１０９に移行する。
【００９５】
トリガが引かれた場合には、ステップＳ１０３において肯定判断がなされ、ゲーム演算部３０は、敵キャラクタ等の対象オブジェクトに狙いが合っているか否かを判定する（ステップＳ１０４）。具体的には、ゲーム演算部３０は、仮想空間内における銃口位置（発射位置）からのベクトル方向に延長した仮想線上に対象オブジェクトが存在するか否かを調べることによってステップＳ１０４の判断を行う。
【００９６】
対象オブジェクトに狙いが合っている場合にはステップＳ１０４において肯定判断（ＹＥＳ）がなされ、ゲーム演算部３０は、仮想空間内における銃口位置（発射位置）からのベクトル方向と対象オブジェクトとの交点に着弾点（終点）を設定する（ステップＳ１０５）。このようなゲーム演算がなされた場合には、本例の処理ルーチンが終了した後に、敵キャラクタ等の対象オブジェクトが被弾し、対応するリアクション（例えば、負傷、破壊等）を表現する画像が生成され、表示される。
【００９７】
また、対象オブジェクトに狙いが合っていない場合にはステップＳ１０４において否定判断がなされ、ゲーム演算部３０は、仮想空間内において、仮想空間内における銃口位置（発射位置）からベクトル方向（照準方向）を延長した仮想線上の適当な遠方（例えば、略無限遠方）に着弾点（終点）を設定する（ステップＳ１０６）。このようなゲーム演算がなされた場合には、本例の処理ルーチンが終了した後に、敵キャラクタ等の対象オブジェクトが被弾しない状態を表現する画像が生成され、表示される。
【００９８】
また、ゲーム演算部３０は、銃型コントローラ１０の実空間の位置・角度情報の少なくとも一方に基づいて、仮想空間内の発射位置（または仮想視点）からずらす量を算出し、銃弾の軌跡に対応する軌跡画像を描画する際の始点位置を設定する（ステップＳ１０７）。上述したように本実施形態では始点位置を発射位置から水平方向にいくらかずらす（オフセットさせる）ことによって設定するが、始点位置を垂直方向にずらしてもよく、水平／垂直の各方向へのずらしを組み合わせてもよい。
【００９９】
次に、画像生成部３２は、上述した各ステップにおいて設定される始点と終点とを結ぶ区間の一部又は全部に渡ってポリゴン（軌跡オブジェクト）を配置する（ステップＳ１０８）。そして画像生成部３２は、上述の方法により決定された仮想視点の視点座標系により投影変換を行い、二次元画像を生成する（ステップＳ１０９）。このとき、上記始点と終点とを結ぶ区間に配置されたポリゴンが投影変換することにより、銃弾の軌跡を表現する軌跡画像を含んだ二次元画像が得られる。この画像生成部３４によって生成された二次元画像（ゲーム画像）がモニタ２８に送られ、モニタ２８の画面２８ａにゲーム画像が表示される。図８は、ゲーム画像の表示例を示す図である。図示のように、例えば仮想空間内の敵キャラクタＣＲへ向けて軌跡画像Ｗが表示され、銃弾の軌跡が走るような様子が表現される。
【０１００】
このように、本実施形態のゲーム装置では、仮想視点とは異なる位置から始まる区間の一部又は全部に軌跡画像を表示しているので、銃弾の軌跡を表現する際に投影変換後の二次元画像において軌跡が点状となることがない。したがって、一人称視点を採用する射撃ゲームにおいて、プレーヤー側から仮想空間に向かう銃弾の軌跡をより効果的に表現することが可能となる。
【０１０１】
なお、本発明は上述した実施形態の内容に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。
【０１０２】
例えば、上述した実施形態では、モニタ２８の画面２８ａを基準として、操作手段の相対的な位置及び当該操作手段によって指定される相対的な方向を検出していたが、他の所定箇所を基準としてもよい。
【０１０３】
また、銃型コントローラ１０の角度情報を求める方法として、傾斜センサやジャイロなどを有する銃型コントローラを用いてもよい。これにより、軌跡を発生させる始点位置を傾斜センサやジャイロからの検出信号から求めることができる。この場合には、上述した光学的な原理による各センサの代わりに、モニタ２８の画像を表示するときの走査線を読みとって、プレーヤーが銃型コントローラでモニタ２８の画面２８ａ上のどの位置を狙っているかを算出することもできる。或いは、銃型コントローラに十字キーを設け、その操作信号をゲーム演算部３０が受信することにより、プレーヤーが銃型コントローラで画面２８ａ上のどの位置を狙っているかを算出することもできる。これにより、終点位置を算出することができる。
【０１０４】
また、本発明の適用範囲はゲーム装置のみに限定されるものではなく、仮想空間内の様子を投影変換して二次元画像を生成し、画像表示を行う各種の装置に本発明を適用可能である。例えば、銃弾の軌跡以外にも、操作手段としてのレーザポインタで仮想空間内の所望位置を指し示すような画像表現など各種の場合において効果的な画像表現が可能となる。また、操作者に対して各種の状況を擬似体験させることを可能とする擬似体験装置（シミュレータ）に本発明を適用するのも好ましい。例えば、射撃を擬似体験させるものや消防士による消火活動を擬似体験させるもの等が考えられる。消火活動のシミュレータの場合には、消火ホース型コントローラを用いて、放水の様子を軌跡画像によって表現するとよい。また、刀型コントローラを用いて、刀による切り口を軌跡画像によって表現するようにしてもよい。
【図面の簡単な説明】
【０１０５】
【図１】本発明を適用した一実施形態のゲーム装置の構成について説明する図である。
【図２】ゲーム制御部を具現化するハードウェア構成の具体例について説明する図である。
【図３】銃型コントローラの位置及び方向の算出方法について説明する図である。
【図４】銃型コントローラの位置及び方向の算出方法の他の例について説明する図である。
【図５】仮想空間内での銃弾の発射位置と仮想空間内に配置される敵キャラクタ等のオブジェクトとの位置関係を説明する図である。
【図６】仮想空間内での銃弾の発射位置と仮想空間内に配置される敵キャラクタ等のオブジェクトとの位置関係を説明する図である。
【図７】画像生成処理の手順を説明するフローチャートである。
【図８】ゲーム画像の表示例を示す図である。
【符号の説明】
【０１０６】
１０  銃型コントローラ
１２  ゲーム装置本体
２０ａ〜２０ｄ  複数のセンサ
２２  センサ制御部
２４  ゲーム制御部
２８  モニタ
３０  ゲーム演算部
３２  画像生成部
３４  音声生成部
【図１】
0004673570.tif 000002
【図２】
0004673570.tif 000003
【図３】
0004673570.tif 000004
【図４】
0004673570.tif 000005
【図５】
0004673570.tif 000006
【図６】
0004673570.tif 000007
【図７】
0004673570.tif 000008
【図８】
0004673570.tif 000009