(57)【要約】【課題】コントローラの指示位置を基準としつつも、面白みや意外性のある操作結果を得ること。【解決手段】操作子の操作入力に応じて判定される標的と仮想移動体との位置関係は、コントローラの指示位置そのものではなく、表示部に対するコントローラの指示位置情報と、仮想移動体の軌道情報とに基づいて判定される。【選択図】図３
2008067853.tif 000002
【特許請求の範囲】
【請求項１】
コントローラの操作に応じた画像を生成するためのプログラムであって、
前記コントローラの動きに応じて変化する情報を検出する検出部の検出結果に基づいて、表示部に対する前記コントローラの指示位置情報を取得する情報取得部と、
前記表示部に標的を表示させる標的表示制御処理を行う表示制御部と、
前記コントローラに設けられた操作子の操作入力を受け付ける入力受付部と、
前記操作入力に応じて、前記指示位置情報と仮想移動体の軌道情報とに基づいて前記標的と前記仮想移動体との位置関係を判定する判定部としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記情報取得部が、
前記表示部に対する前記コントローラの距離情報を取得し、
前記判定部が、
前記操作入力に応じて、前記指示位置情報と前記距離情報と仮想移動体の軌道情報とに基づいて前記標的と前記仮想移動体との位置関係を判定することを特徴とするプログラム。
【請求項３】
請求項１、２のいずれかにおいて、
前記表示制御部が、
前記指示位置情報に基づいて前記表示部に基準マークを表示させる基準マーク表示制御処理を更に行うことを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
複数の軌道情報を記憶した記憶部としてコンピュータを更に機能させ、
前記判定部が、
前記記憶部に記憶された複数の軌道情報のいずれかに基づいて前記位置関係を判定することを特徴とするプログラム。
【請求項５】
請求項４において、
前記表示制御部が、
前記表示部に複数の軌道情報のいずれかに対応する識別表示を表示させる識別表示制御処理を更に行い、
前記判定部が、
前記表示させた識別表示に対応する軌道情報に基づいて前記位置関係を判定することを特徴とするプログラム。
【請求項６】
請求項１〜５のいずれかにおいて、
前記表示制御部が、
前記表示部に前記軌道情報に対応する前記仮想移動体の軌道を示す軌道表示を表示させる軌道表示制御処理を更に行うことを特徴とするプログラム。
【請求項７】
請求項１〜６のいずれかにおいて、
前記標的に設定された状態パラメータを前記判定結果に対応させて更新する標的状態更新部としてコンピュータを更に機能させ、
前記判定部が、
前記標的と前記仮想移動体とが前記標的に設定された複数の判定領域のいずれにおいて交差したか判定し、
前記標的状態更新部が、
前記標的と前記仮想移動体とが交差した判定領域に対応させて前記標的の状態パラメータを更新することを特徴とするプログラム。
【請求項８】
請求項１〜７のいずれかにおいて、
前記表示制御部が、
前記表示部に対する前記コントローラの距離が第１の距離よりも近づいた場合に、前記表示部に所与の警告表示を表示させる警告表示制御処理を更に行うことを特徴とするプログラム。
【請求項９】
請求項１〜８のいずれかにおいて、
前記入力受付部が、
前記表示部に対する前記コントローラの距離が第２の距離よりも近づいた場合に、前記操作入力を受付けないことを特徴とするプログラム。
【請求項１０】
請求項１〜９のいずれかにおいて、
前記表示制御部が、
前記指示位置情報と前記距離情報とに基づいて、前記仮想移動体の移動始点となる始点オブジェクトを前記表示部に表示させる始点オブジェクト表示制御処理を更に行い、
前記判定部が、
前記表示部に対する前記コントローラの距離が第３の距離よりも近づいた場合に、前記標的と前記始点オブジェクトとの交差判定を行うことを特徴とするプログラム。
【請求項１１】
請求項１〜１０のいずれかにおいて、
前記交差判定の結果に基づいて前記コントローラの操作を評価する評価部としてコンピュータを更に機能させることを特徴とするプログラム。
【請求項１２】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１〜１１のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１３】
コントローラの操作に応じた画像を生成するための画像生成システムであって、
前記コントローラの動きに応じて変化する情報を検出する検出部の検出結果に基づいて、表示部に対する前記コントローラの指示位置情報を取得する情報取得部と、
前記表示部に標的を表示させる標的表示制御処理を行う表示制御部と、
前記コントローラに設けられた操作子の操作入力を受け付ける入力受付部と、
前記操作入力に応じて、前記指示位置情報と仮想移動体の軌道情報とに基づいて前記標的と前記仮想移動体との位置関係を判定する判定部と、
を含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、銃型コントローラを用いたシューティングゲームシステムなどのように、銃型コントローラを操作して標的を狙い撃つゲームを行う画像生成システムが知られている。このような画像生成システムでは、銃型コントローラが指示している表示画面上の位置が仮想弾の着弾点となるように制御している。かかる制御を行う技術として、例えば特開平２００１−１１３０４６号公報に開示される従来技術がある。
【特許文献１】特開平２００１−１１３０４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら従来の画像生成システムでは、銃型コントローラが指示している表示画面上の位置に仮想弾が着弾するためリアリティは高いが、面白みや意外性に欠けていた。
【０００４】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、コントローラの指示位置を基準としつつも、面白みや意外性のある操作結果を得ることができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００５】
（１）本発明は、
コントローラの操作に応じた画像を生成するための画像生成システムであって、
前記コントローラの動きに応じて変化する情報を検出する検出部の検出結果に基づいて、表示部に対する前記コントローラの指示位置情報を取得する情報取得部と、
前記表示部に標的を表示させる標的表示制御処理を行う表示制御部と、
前記コントローラに設けられた操作子の操作入力を受け付ける入力受付部と、
前記操作入力に応じて、前記指示位置情報と仮想移動体の軌道情報とに基づいて前記標的と前記仮想移動体との位置関係を判定する判定部と、
を含むことを特徴とする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００６】
本発明において、「仮想移動体」とは、標的との位置関係を判定するための基準となるものであって、画像として表示されてもよいし、表示されなくてもよい。そして「仮想移動体」とは、標的との位置関係を判定するための、仮想３次元ボリュームや、面、線、点などの位置情報とすることができる。
【０００７】
本発明では、操作子の操作入力に応じて判定される標的と仮想移動体との位置関係は、表示された指示位置そのものではなく、表示部に対するコントローラの指示位置情報と、表示部に対するコントローラの距離情報と、仮想移動体の軌道情報とに基づいて判定される。従って本発明では、必ずしもコントローラの指示位置が仮想移動体の到達点等になるとは限らず、コントローラの指示位置情報と仮想移動体の軌道情報に応じて到達点等が変化する。こうして本発明によれば、コントローラの指示位置と到達点等にずれが発生する軌道を表現することができるとともに、面白みや意外性のある操作結果を得ることができる画像生成システムを実現することができる。
【０００８】
（２）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記情報取得部が、
前記表示部に対する前記コントローラの距離情報を取得し、
前記判定部が、
前記操作入力に応じて、前記指示位置情報と前記距離情報と仮想移動体の軌道情報とに基づいて前記標的と前記仮想移動体との位置関係を判定するようにしてもよい。
【０００９】
本発明では、必ずしもコントローラの指示位置が到達点等になるとは限らず、コントローラの指示位置情報と仮想移動体の軌道情報に加え、コントローラの距離情報に応じて到達点等が変化する。従って本発明によれば、表示部に対するコントローラの距離情報に応じて到達点等が変化する軌道を表現することができるとともに、面白みや意外性のある操作結果を得ることができる画像生成システムを実現することができる。
【００１０】
（３）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記表示制御部が、
前記指示位置情報に基づいて前記表示部に基準マークを表示させる基準マーク表示制御処理を更に行うようにしてもよい。
【００１１】
本発明によれば、基準マークと到達点等にずれが発生する軌道を表現することができ、面白みや意外性のある操作結果を得ることができる画像生成システムを実現することができるとともに、基準マークを表示させることにより、仮想移動体の軌道や到達点等の予測を補助することができる。
【００１２】
（４）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
複数の軌道情報を記憶した記憶部を更に含み、
前記判定部が、
前記記憶部に記憶された複数の軌道情報のいずれかに基づいて前記位置関係を判定するようにしてもよい。
【００１３】
本発明によれば、表示部に対するコントローラの距離情報の変化に加え、軌道情報を変化させることによっても到達点等が変化する。従って本発明によれば、より面白みや意外性のある操作結果を得ることができる画像生成システムを実現することができる。
【００１４】
（５）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記表示制御部が、
前記表示部に複数の軌道情報のいずれかに対応する識別表示を表示させる識別表示制御処理を更に行い、
前記判定部が、
前記表示させた識別表示に対応する軌道情報に基づいて前記位置関係を判定するようにしてもよい。
【００１５】
本発明によれば、位置関係の判定に用いる軌道情報がいずれの軌道情報であるかを、識別表示により操作者に認識させることができる。従って本発明によれば、操作者に対して例えば表示された識別表示から仮想移動体の軌道や到達点等を予測させ、表示部に対するコントローラの指示位置と距離とを調節させるようにすることができる。
【００１６】
（６）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記表示制御部が、
前記表示部に前記軌道情報に対応する前記仮想移動体の軌道を示す軌道表示を表示させる軌道表示制御処理を更に行うようにしてもよい。
【００１７】
本発明によれば、軌道情報に対応する軌道表示を表示させることにより、仮想移動体の軌道や到達点等の予測を補助することができるとともに、視覚的効果を高めることができる。
【００１８】
（７）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記標的に設定された状態パラメータを前記判定結果に対応させて更新する標的状態更新部を更に含み、
前記判定部が、
前記標的と前記仮想移動体とが前記標的に設定された複数の判定領域のいずれにおいて交差したか判定し、
前記標的状態更新部が、
前記標的と前記仮想移動体とが交差した判定領域に対応させて前記標的の状態パラメータを更新するようにしてもよい。
【００１９】
本発明によれば、例えば仮想移動体が標的に当たったか否かだけでなく、仮想移動体が交差した判定領域に応じて標的の状態が異なるようにパラメータを更新する。従って本発明によれば、必ずしも基準マークの位置が到達点等になるとは限らないこととあわせて、より面白みや意外性のある操作結果を得ることができる画像生成システムを実現することができる。
【００２０】
（８）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記表示制御部が、
前記表示部に対する前記コントローラの距離が第１の距離よりも近づいた場合に、前記表示部に所与の警告表示を表示させる警告表示制御処理を更に行うようにしてもよい。
【００２１】
本発明によれば、表示部に対するコントローラの距離情報基づいて標的と仮想移動体との位置関係を判定するが、例えばコントローラの距離が近すぎる場合には、正確な距離情報を取得できなくなる、或いは操作に面白みがなくなってしまうなどのハードウェア的、ソフトウェア的な不具合が発生する場合がある。従って本発明によれば、警告表示を表示させることによりかかる不具合を防止することができる。
【００２２】
（９）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記入力受付部が、
前記表示部に対する前記コントローラの距離が第２の距離よりも近づいた場合に、前記操作入力を受付けないようにしてもよい。
【００２３】
本発明によれば、例えばコントローラの距離が近すぎる場合には、正確な距離情報を取得できなくなる、或いは操作に面白みがなくなってしまうなどのハードウェア的、ソフトウェア的な不具合を、操作入力を受け付けないことにより防止することができる。
【００２４】
（１０）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記表示制御部が、
前記指示位置情報と前記距離情報とに基づいて、前記仮想移動体の移動始点となる始点オブジェクトを前記表示部に表示させる始点オブジェクト表示制御処理を更に行い、
前記判定部が、
前記表示部に対する前記コントローラの距離が第３の距離よりも近づいた場合に、前記標的と前記始点オブジェクトとの交差判定を行うようにしてもよい。
【００２５】
本発明によれば、仮想移動体と標的との交差だけでなく、仮想移動体の移動始点となる始点オブジェクトと標的との交差も判定される。例えば、仮想弾を発射する銃オブジェクトと標的との交差判定が行われる。従って本発明によれば、例えば仮想移動体によって離れた位置の標的を狙うだけでなく、始点オブジェクトによって近くの標的を狙うというゲーム性を付加することができる。しかも本発明によれば、表示部に対するコントローラの距離が第３の距離よりも近づいた場合に標的と始点オブジェクトとの交差判定を行うので、例えば操作者がコントローラを把持した手を伸ばすことにより標的を倒すなどのゲーム性を実現することができる。
【００２６】
（１１）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記交差判定の結果に基づいて前記コントローラの操作を評価する評価部を更に含むようにしてもよい。
【００２７】
本発明によれば、例えば交差判定に応じた表示や得点演算、アイテムの獲得などにより、コントローラの操作に対する目的意識や、緊張感を与えることができる。
【発明を実施するための最良の形態】
【００２８】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２９】
１．システム概略
図１は、本実施形態の画像生成システムを適用したゲームシステム１０の概略外観図である。本実施形態のゲームシステム１０は、表示画面１１にゲーム画像を表示させる表示部１２と、ゲーム処理等を行うゲーム機１４と、プレーヤＰが把持して所定範囲内での位置、向きを任意に変更可能なコントローラ１６とを含む。本実施形態のコントローラ１６は、コントローラ１６の動きに応じて変化する情報を検出する検出部を内蔵しており、コントローラ１６自体の位置や向き等の動きに関する情報を取得できるようになっている。なお図１の例では、ゲーム機１４とコントローラ１６とがケーブルにより接続されているが、ゲーム機１４とコントローラ１６との間で無線通信により情報を送受信するようにしてもよい。
【００３０】
本実施形態ではコントローラ１６は、その先端にＣＭＯＳセンサ等の撮像素子（受光素子）が設けられており、コントローラ１６の先端を向けた方向の画像を取得することができる。また本実施形態の表示部１２の表示画面１１の上方には、２個の赤外線ＬＥＤ等からなる赤外光原１８、２０が設けられている。そして予め設定された基準位置情報と、撮像素子が取得した２つの赤外光原１８、２０の位置情報とから、表示画面１１上におけるコントローラ１６の指示位置の情報が演算できるようになっている。
【００３１】
従って図１に示すように、プレーヤＰがコントローラ１６を把持しながら手を動かしてコントローラ１６自体の位置、向きを変化させると、かかる位置、向きの変化に応じて、表示部１２に表示される操作対象ＣＯの位置、向きを変化させることができる。即ちコントローラ１６自体の動きにより、操作対象ＣＯを操作することができる。
【００３２】
図２は、表示画面１１におけるコントローラ１６の指示位置の情報を演算する手法を説明するための図である。図２に示す矩形の領域は、ＣＭＯＳセンサが取得した画像データが格納される画像データ領域ＰＡである。本実施形態ではこの画像データ領域ＰＡには、１／６０秒ごとにコントローラ１６の位置、向きに応じた画像データが格納される。そして画像データ領域ＰＡに格納された画像データのうち、赤外光原１８、２０を撮像した領域である赤外光原領域ＩｒＡ１、ＩｒＡ２を用いて、表示画面１１におけるコントローラ１６の指示位置の情報を演算する。本実施形態では、画像データ領域ＰＡの原点Ｏをコントローラ１６が指示する点とし、原点Ｏと、画像データ領域ＰＡにおける赤外光原領域ＩｒＡ１、ＩｒＡ２の位置座標と、画像データ領域ＰＡにおける表示画面１１に対応する領域である表示画面領域ＤｐＡとの相対的な位置関係から、表示画面１１上におけるコントローラ１６の指示位置の情報を演算する。
【００３３】
図２の例では、赤外光原領域ＩｒＡ１、ＩｒＡ２が、画像データ領域ＰＡの中央よりもやや上方において、画像データ領域ＰＡの基準線Ｌ（Ｘ軸）に対して時計回りにθ°回転された状態で形成されている。従って図２の例では、原点Ｏは表示画面領域ＤｐＡの右下部の所定位置に対応させることができ、表示画面１１上におけるコントローラ１６の指示位置の座標を求めることができる。そして、赤外光原領域ＩｒＡ１、ＩｒＡ２を結ぶ直線ｌの基準線Ｌに対する回転角度θから、表示画面１１に対するコントローラ１６の指示方向軸回りの回転角度を求めることができる。また、コントローラ１６が表示画面１１と所定距離にあるときの赤外光原領域ＩｒＡ１とＩｒＡ２との基準距離Ｄを予め設定しておくことにより、基準距離Ｄと、図２の例における赤外光原領域ＩｒＡ１とＩｒＡ２との距離ｄとの比に基づき、図２の例における表示画面１１に対するコントローラ１６の距離を求めることができる。
【００３４】
また本実施形態ではコントローラ１６は、その内部に加速度センサ等を内蔵している。この加速度センサは、コントローラ１６自体の動きに応じてコントローラ１６の位置、向きが一定時間にどの位変化したか、コントローラ１６自体の動きをコントローラ１６にかかる加速度ベクトルとして検出することができる。本実施形態では、ゲーム空間としての仮想３次元空間（ワールド座標系）における３軸（Ｘ軸、Ｙ軸、Ｚ軸）それぞれの加速度ベクトルとして検出することができる。
【００３５】
従って本実施形態では、コントローラ１６自体の動きの大きさ、方向、速度を検出することができる。また本実施形態では、予め設定されたコントローラ１６の現実空間における基準位置（例えばコントローラ１６の指示方向が表示画面１１の中心と、直交する状態でのコントローラ１６位置、向き）と、検出した３軸の加速度ベクトルとを比較することにより、表示画面１１（基準位置）に対するコントローラ１６の位置、向き、及び表示画面１１上におけるコントローラ１６の指示位置、及び表示画面１１に対するコントローラ１６の回転角度等を求めることができる。
【００３６】
こうして本実施形態では、コントローラ１６に内蔵されたＣＭＯＳセンサ、加速度センサ等により、コントローラ１６の動きに応じて変化する情報を検出し、コントローラ１６自体の現実空間における位置、指示位置、向きの変化や、コントローラ１６自体の動きの大きさ、方向、速度等、コントローラ１６自体の動きに関する情報を取得することができる。
【００３７】
２．ゲーム概略
図３は、コルク製の弾を空気銃で飛ばして標的を倒すなどする射的ゲームを、本実施形態のゲームシステム１０に適用した例を説明するための図である。図３の例では、表示画面１１に、プレーヤがコントローラ１６を動かすことにより移動する操作対象としての銃オブジェクトＧＯと基準マークＳＭとが表示される。そして、銃オブジェクトＧＯが移動可能な銃移動領域ＧＡの奥側にある標的領域ＴＡには、仮想３次元空間における奥行き値が異なる複数の標的オブジェクトＴＯが配置されている。
【００３８】
そしてプレーヤは、コントローラ１６を動かすことにより銃オブジェクトＧＯと基準マークＳＭとを移動させて、複数の標的オブジェクトＴＯのいずれかについて狙いを定め、コントローラ１６に設けられたボタン１７を押下する。すると銃オブジェクトＧＯの先端に装着されていたコルク弾オブジェクトＢＯが標的領域ＴＡに向けて発射される。そしてコルク弾オブジェクトＢＯが標的オブジェクトＴＯに当たった場合には、標的オブジェクトＴＯが倒れ、これを獲得することができる。すると獲得した標的オブジェクトＴＯの数が、表示画面１１の左上部に得点表示ＰＧとして表示される。
【００３９】
そして本実施形態では、現実の射的ゲームでは弾がコルク等のように質量が軽く空気抵抗が大きい素材でできているため、空気抵抗等に応じて弾道（軌道）が変化して狙ったところに着弾しないのと同様に、コントローラ１６の指示位置に応じた基準マークＳＭの位置が必ずしも着弾点とならないように制御する。図３の例では、表示画面１１の中央付近から発射されたコルク弾オブジェクトＢＯが、基準マークＳＭの方向にまっすぐ飛ばず、次第に右方向にそれるように飛んでいる。
【００４０】
ここで本実施形態では図３に示すように、表示画面１１の左下部には、複数種類の色に色分けされた複数のコルク弾オブジェクトＢＯが表示されている。これら色分けされた複数のコルク弾オブジェクトＢＯは、色に応じてどのような弾道を描いて飛ぶものであるか予め定められている。そしてコルク弾オブジェクトＢＯを発射する前の銃オブジェクトＧＯの先端には、ボタン１７の操作に応じて発射されるコルク弾オブジェクトＢＯが、いずれの色のコルク弾オブジェクトＢＯであるか識別可能な状態で装着される。従ってプレーヤは、銃オブジェクトＧＯの先端に装着されたコルク弾オブジェクトＢＯの色を見て、当該コルク弾オブジェクトＢＯがどのような弾道を描いて飛んでいくか予測することができるようになっている。
【００４１】
こうして本実施形態の射的ゲームシステム１０では、表示画面１１に対するコントローラ１６の距離と、コルク弾オブジェクトＢＯの色とから、基準マークＳＭの位置とコルク弾オブジェクトＢＯの着弾点とのずれを予測し、コントローラ１６を適切に操作してコルク弾オブジェクトＢＯを標的オブジェクトＴＯに当てるというゲームを楽しむ。
【００４２】
３．構成
次に、図４を用いて本実施形態における画像生成システム（ゲームシステム）の構成について説明する。図４は、本実施形態における画像生成システムの機能ブロック図の一例である。なお、本実施形態の画像生成システムは、図４の構成要素（各部）の一部を省略した構成としてもよい。
【００４３】
操作部１６０は、プレーヤが操作データを入力するためのものであり、特に本実施形態では、プレーヤが操作部１６０を把持して操作部１６０自体の位置、向きを任意に変更可能なものである。そして操作部１６０は、操作部１６０自体の動きに応じて変化する情報を検出する検出部１６２を内蔵する。従って本実施形態の操作部１６０では、操作部１６０自体の動きを操作データとして入力することができる。
【００４４】
検出部１６２は、例えばＣＭＯＳセンサやＣＣＤカメラなど、撮像素子（受光素子）により撮像側の基準位置と撮像対象の受光位置との相対関係を取得して、操作部１６０自体の動きを検出する第1の検出部と、加速度センサや姿勢方位センサやジャイロなど、加速度、角速度、速度により基準位置、基準向き（基準軸）からの位置、向きの変位を検出する第２の検出部とを含む。例えば加速度センサとしては、圧電型や動電式、歪みケージ式等のハードウェアにより実現できる。これにより検出部１６２は、操作部１６０自体の動きを連続的な値として検出することができる。
【００４５】
また操作部１６０は、プレーヤがＯＮ／ＯＦＦ入力を行うための操作子としてのボタンがもうけられている。なおボタンの他に、レバー（アナログパッド）、十字キー、ステアリング、マイク、タッチパネル型ディスプレイなどを備えるようにして、種々の操作データを入力できるようにしてもよい。
【００４６】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。そして、本実施形態の記憶部１７０は、ワーク領域として使用される主記憶部１７１と、最終的な表示画像等が記憶されるフレームバッファ１７２と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部１７３と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部１７４と、オブジェクトの画像の生成処理時にＺ値が記憶されるＺバッファ１７６と、を含む。なお、これらの一部を省略する構成としてもよい。
【００４７】
特に本実施形態では記憶部１７０は、複数の弾道情報（軌道情報）を記憶し、コルク弾オブジェクトＢＯの種類に応じた弾道情報を規定する弾道情報テーブル１７８を含む。ここで弾道情報とは、仮想３次元空間におけるコルク弾オブジェクトＢＯの移動経路を定めるための情報であって、例えば仮想３次元空間における曲線を示す方程式や直線を示す方程式などとすることができる。そして本実施形態ではコルク弾オブジェクトＢＯの色に応じて異なる弾道情報が対応付けられている。
【００４８】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。
【００４９】
この情報記憶媒体１８０には、処理部１００において本実施形態の種々の処理を行うためのプログラム（データ）が記憶されている。即ち、この情報記録媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶されている。
【００５０】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイなどにより実現できる。特に本実施形態では、表示部１９０の表示画面の中や、その周辺に、操作部１６０と表示部１９０の表示画面の相対位置を演算するための光源が設けられている。本実施形態ではこの光源は、不可視光を射出する赤外線ＬＥＤを用いている。
【００５１】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００５２】
携帯型情報記憶装置１９４には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。
【００５３】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００５４】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００５５】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００５６】
特に、本実施形態の処理部１００は、情報取得部１０８と、入力受付部１０９と、オブジェクト空間設定部１１０と、移動・動作処理部１１２と、表示制御部１１３と、判定部１２２と、標的状態設定部１２４と、評価部１２６と、音生成部１３０と、を含む。なお、これらの一部を省略する構成としてもよい。
【００５７】
情報取得部１０８は、操作部１６０の動きに応じて変化する情報を検出する検出部１６２の検出結果に基づいて、操作部１６０の動き情報を取得する。本実施形態では、操作部１６０に内蔵された検出部１６２の検出結果を１／６０秒ごとに取得し、操作部１６０自体の動きに関する情報を演算しこれを取得する。
【００５８】
具体的には情報取得部１０８は、操作部１６０の先端に設けられたＣＭＯＳセンサ（第１の検出部）が検出した画像情報に基づいて、表示部１９０の表示画面上における操作部１６０の指示位置の座標、及び、表示部１９０の表示画面に対する操作部１６０の回転角度、及び、表示部１９０の表示画面に対する操作部１６０の距離を求め、これを取得することができる。
【００５９】
また情報取得部１０８は、操作部１６０に内蔵された加速度センサ（第２の検出部）が検出した３軸（Ｘ軸、Ｙ軸、Ｚ軸）方向の加速度ベクトルに基づいて、操作部１６０自体の動きの大きさ、方向、速度を取得することができる。また表示部１９０の表示画面（基準位置、基準向き）に対する操作部１６０の位置、向き、及び、表示部１９０の表示画面上における操作部１６０の指示位置、及び、表示部１９０の表示画面（基準角度）に対する操作部１６０の回転角度等を求め、これを取得することができる。
【００６０】
入力受付部１０９は、操作部１６０に設けられた操作子の操作入力を受け付ける。具体的には入力受付部１０９は、操作部１６０からの操作入力信号を１／６０秒ごとに監視して、検出する。本実施形態では入力受付部１０９は、表示部１９０に対する操作部１６０の距離が第２の距離よりも近づいた場合に、操作入力を受付けないようにしている。
【００６１】
オブジェクト空間設定部１１０は、銃オブジェクトＧＯやコルク弾オブジェクトＢＯなどの移動体オブジェクトや、標的オブジェクトＴＯ、キャラクタオブジェクト、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ち、オブジェクト空間設定部１１０は、ワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００６２】
なお、標的オブジェクトＴＯも移動体オブジェクトとして移動させるように配置してもよく、また、基準マークＳＭを移動体オブジェクトとして３次元的に表示させるようにしてもよい。
【００６３】
移動・動作処理部１１２は、銃オブジェクトＧＯやコルク弾オブジェクトＢＯなどの移動体オブジェクトの移動・動作演算（移動・動作シミュレーション）を行う。即ち、この移動・動作処理部１１２は、操作部１６０によりプレーヤが入力した操作データ、設定されたパラメータや属性又はプログラム（移動・動作アルゴリズム）や各種データ（モーションデータ）などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作（モーション、アニメーション）を制御するための処理を行う。
【００６４】
具体的には、本実施形態の移動・動作処理部１１２は、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（例えば１／６０秒）毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは毎フレーム固定としてもよいし、処理負荷に応じて可変としてもよい。
【００６５】
特に、本実施形態の移動・動作処理部１１２は、操作部１６０の動き情報に基づいて、オブジェクト空間（仮想空間）における銃オブジェクトＧＯの位置、向きを制御する。具体的には移動・動作処理部１１２は、操作部１６０自体の連続的な動きに関する情報に基づいて、操作対象オブジェクトが操作部１６０自体の動きに連動した動きをするように、銃オブジェクトＧＯの位置、向きを制御する。
【００６６】
表示制御部１１３は、表示部１９０に標的オブジェクトＴＯを表示させる標的表示制御処理と、操作部１６０の動き情報に基づいて、表示部１９０に基準マークＳＭを表示させる基準マーク表示制御処理と、移動・動作処理部１１２が求めた銃オブジェクトＧＯの位置、向きに基づいて、表示部１９０に銃オブジェクトＧＯを表示させる発射オブジェクト表示制御処理と、表示部１９０に複数の弾道情報のいずれかに対応する識別表示を表示させる識別表示制御処理と、表示部１９０に弾道情報に対応するコルク弾オブジェクトＢＯの弾道を示す弾道表示を表示させる弾道表示制御処理と、を行う。また表示部１９０に対する操作部１６０の距離が第１の距離よりも近づいた場合に、表示部１９０に所与の警告表示を表示させる警告表示制御処理を行う。ここで基準マーク表示制御処理、識別表示制御処理、弾道表示制御処理、警告表示制御処理については、３次元画像演算、２次元画像演算のいずれによっても実現することができる。そしてより詳細には表示制御部１１３は、仮想カメラ制御部１１４と描画部１２０とを含む。
【００６７】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。なお本実施形態では、仮想カメラは固定とされている。
【００６８】
例えば仮想カメラにより移動体オブジェクトを追従して撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００６９】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、本実施形態の描画部１２０は、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００７０】
また、頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。
【００７１】
ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色をフレームバッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
【００７２】
これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００７３】
なお、描画部１２０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００７４】
そして、描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００７５】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）を記憶部１７０に記憶する。
【００７６】
テクスチャマッピングでは、記憶部１７０のテクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７４からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出し、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００７７】
隠面消去処理では、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照するとともに、当該参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００７８】
αブレンディング（α合成）では、描画部１２０は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）を行う。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００７９】
判定部１２２は、操作部１６０に設けられた操作子の操作入力に応じて、表示部１９０の表示画面上における操作部１６０の指示位置情報と、表示部１９０の表示画面に対する操作部１６０の距離情報と、コルク弾オブジェクトＢＯの弾道情報とに基づいて、標的オブジェクトＴＯとコルク弾オブジェクトＢＯとの位置関係を判定する。
【００８０】
具体的には判定部１２２は、操作子の操作入力を受け付けた時点での指示位置情報と距離情報とに基づいて、銃オブジェクトＧＯの位置、向きを特定する。即ちコルク弾オブジェクトＢＯの発射位置と発射方向とを特定する。すると、発射されるコルク弾オブジェクトＢＯに対応する弾道情報（曲線を示す方程式）を、銃オブジェクトＧＯの位置、向きに応じて変換し、銃オブジェクトＧＯの位置、向きに応じた弾道情報（曲線を示す方程式）を求める。そして、変換後の弾道情報（曲線を示す方程式）に基づいてコルク弾オブジェクトＢＯを移動させ、コルク弾オブジェクトＢＯと標的オブジェクトＴＯとが交差したか否かを判定する。
【００８１】
ここで判定部１２２は、変換後の曲線を示す方程式と、標的オブジェクトＴＯに対応する領域との交差判定を行なうようにしてもよいし、コルク弾オブジェクトＢＯに対応する領域と、標的オブジェクトＴＯに対応する領域との交差判定を行なうようにしてもよい。具体的にはヒットポリゴンによるヒットチェック等により交差判定を行うことができる。
【００８２】
また判定部１２２は、表示部１９０の表示画面に対する操作部１６０の距離が第３の距離よりも近づいた場合に、標的オブジェクトＴＯと銃オブジェクトＧＯとの交差判定を行う。例えば、操作部１６０の動き情報により銃オブジェクトＧＯが、図３に示す銃移動領域ＧＡから奥側にある標的領域ＴＡに侵入した場合には、標的オブジェクトＴＯと銃オブジェクトＧＯとのヒットチェックを行う。
【００８３】
また判定部１２２は、標的オブジェクトＴＯとコルク弾オブジェクトＢＯとが、標的オブジェクトＴＯに設定された複数の判定領域のいずれにおいて交差したか判定するようにしてもよい。
【００８４】
標的状態更新部１２４は、標的オブジェクトＴＯとコルク弾オブジェクトＢＯとが交差した判定領域に対応させて、標的オブジェクトＴＯに設定された状態パラメータを更新する。具体的には標的状態更新部１２４は、判定部１２２の判定結果に基づき、標的オブジェクトＴＯが倒れていないものとする立ち状態と、倒れたものとする倒れ状態と、立ち状態と倒れ状態の中間である不安定状態と、のいずれかの状態に標的オブジェクトＴＯの状態パラメータを設定する。
【００８５】
評価部１２６は、交差判定の結果に基づいて、操作部１６０の操作に関する評価を行う。具体的には本実施形態では、標的オブジェクトＴＯを倒した場合に、倒した標的オブジェクトＴＯの数を得点表示ＰＧとして表示したり、「うまい！」などの表示を行うなどして、操作者の操作を評価する処理を行う。
【００８６】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００８７】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００８８】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００８９】
４．処理の詳細
図５は、本実施形態のコルク弾オブジェクトＢＯの発射処理の一例の詳細を示すフローチャート図である。本実施形態では、まず複数種類のコルク弾オブジェクトＢＯから１のコルク弾オブジェクトＢＯを、ランダムに或いはプレーヤの選択操作により、銃オブジェクトＧＯの先端に装着する表示を行う（ステップＳ１０）。本実施形態では、茶色、青色、赤色、金色のコルク弾オブジェクトＢＯが用意されており、各色のコルク弾オブジェクトＢＯと、その弾道情報の曲線を示す方程式とは、図６に示すような弾道情報テーブル１７８として記憶されている。そして、プレーヤがコントローラ１６を動かすことにより動き情報が入力されると（ステップＳ１２のＹ）、動き情報に基づいて、基準マークＳＭの位置と、銃オブジェクトＧＯの位置、向きを制御する（ステップＳ１４）。
【００９０】
図７（Ａ）、（Ｂ）は、コントローラ１６の動きに応じた基準マークＳＭと銃オブジェクトＧＯの動きを説明するための図である。図７（Ａ）に示すように本実施形態では、プレーヤがコントローラ１６を表示部１２の表示画面１１に対して左右方向に移動させると、表示画面１１上におけるコントローラ１６の指示位置に基準マークＳＭが移動するとともに、コントローラ１６の移動量に応じて銃オブジェクトＧＯが、その向きを基準マークＳＭに向けながらオブジェクト空間ＯＳ内でＸ軸左右方向に移動する。図示しないが同様に、プレーヤがコントローラ１６を表示部１２の表示画面１１に対して上下方向に移動させると、表示画面１１上におけるコントローラ１６の指示位置に基準マークＳＭが移動するとともに、コントローラ１６の移動量に応じて銃オブジェクトＧＯが、その向きを基準マークＳＭに向けながらオブジェクト空間ＯＳ内でＹ軸上下方向に移動する。即ち、表示画面１１上におけるコントローラ１６の指示位置情報に基づいて、基準マークＳＭと銃オブジェクトＧＯを移動させる。
【００９１】
また図７（Ｂ）に示すように、プレーヤがコントローラ１６を表示部１２の表示画面１１に近づけると、コントローラ１６の移動量に応じて銃オブジェクトＧＯが、オブジェクト空間ＯＳ内でＺ軸奥方向に移動する。一方、コントローラ１６を表示部１２の表示画面１１から遠ざけると、コントローラ１６の移動量に応じて銃オブジェクトＧＯが、オブジェクト空間ＯＳ内でＺ軸手前方向に移動する。即ち、表示画面１１に対するコントローラ１６の距離情報に基づいて、銃オブジェクトＧＯを移動させる。このとき表示画面１１上におけるコントローラ１６の指示位置が変わらない場合には、銃オブジェクトＧＯが移動しても基準マークＳＭは移動しない。
【００９２】
また本実施形態では、図７（Ａ）のようにコントローラ１６を表示画面１１に対して平行移動させなくとも、図８（Ａ）に示すようにコントローラ１６の指示方向（コントローラ１６の向き）を上下左右させることにより、コントローラ１６の向きの変化量に応じて銃オブジェクトＧＯが、その向きを基準マークＳＭに向けながらＸ軸方向、Ｙ軸方向それぞれに移動するようにしてもよい。
【００９３】
なお図８（Ｂ）に示すように、コントローラ１６の指示方向（コントローラ１６の向き）を上下左右させることにより、表示画面１１上におけるコントローラ１６の指示位置に応じて基準マークＳＭが上下左右に移動するとともに、銃オブジェクトＧＯの向きを基準マークＳＭを向くように変化させるようにしてもよい。例えばコントローラ１６の指示方向（コントローラ１６の向き）を左右させることにより、銃オブジェクトＧＯのＹ軸回りの回転角度を変化させるようにし、コントローラ１６の指示方向（コントローラ１６の向き）を上下させることにより、銃オブジェクトＧＯのＸ軸回りの回転角度を変化させるようにしてもよい。なお、コントローラ１６を指示方向に沿う軸回りに回転させることにより、コントローラ１６の回転角度の変化量に応じて銃オブジェクトＧＯのＺ軸回りの回転角度を変化させるようにしてもよい。
【００９４】
このように本実施形態では、表示画面１１上におけるコントローラ１６の指示位置情報に基づいて、基準マークＳＭの位置を２次元的に制御する。そして前記指示位置情報と、表示画面１１に対するコントローラ１６の距離情報との組合せに基づいて、銃オブジェクトＧＯの位置、向きを３次元的に制御する。なお、コントローラ１６の指示位置情報、距離情報等を取得するセンサは、ＣＭＯＳセンサ（第１の検出部）としてもよいし、加速度センサ（第２の検出部）としてもよい。またそれらの任意の組合せとしてもよい。
【００９５】
こうして基準マークＳＭの位置、及び銃オブジェクトＧＯの位置、向きを制御して（図５のステップＳ１４）、コントローラ１６の操作ボタン１７へのトリガ入力が行われると（ステップＳ１６）、銃オブジェクトＧＯに装着されたコルク弾オブジェクトＢＯの種類に応じた弾道を示す方程式（弾道情報）を、トリガ入力が行われた時点の銃オブジェクトＧＯの位置、向きに応じて変換する（ステップＳ１８）。
【００９６】
図９は、オブジェクト空間に設定された銃オブジェクトＧＯと、弾道を示す方程式と、標的オブジェクトＴＯとの関係を真横から見た概念図である。本実施形態では図９（Ａ）に示すように、トリガ入力が行われた時点における、コルク弾オブジェクトＢＯの発射点である銃オブジェクトＧＯの先端の所定の点ＦＰを方程式Ｅの原点に設定する。そして、基準軸であるＺ軸に対する銃オブジェクトＧＯの向きの変位に応じて方程式を変換する。例えば図９（Ａ）に示すように銃オブジェクトＧＯが基準軸方向（Ｚ軸方向）を向いている場合と、図９（Ｂ）に示すように銃オブジェクトＧＯが基準軸方向（Ｚ軸方向）よりも上方向を向いている場合とでは、弾道を示す方程式Ｅの向きも銃オブジェクトＧＯの向きに応じて変化させる。
【００９７】
すると、図５のフローチャートのステップＳ２０において、変換後の方程式が示す３次元曲線に沿ってコルク弾オブジェクトＢＯを移動させ（ステップＳ２０）、コルク弾オブジェクトＢＯが標的オブジェクトＴＯにヒットしたか否か判定する（ステップＳ２２）。そして、コルク弾オブジェクトＢＯが標的オブジェクトＴＯにヒットした場合には（ステップＳ２２のＹ）、標的オブジェクトＴＯの状態をすぐに倒れ状態に設定し、倒れモーション表示を行う（ステップＳ２４）。そして、倒した標的オブジェクトＴＯの数を得点表示ＰＧとして表示したり、「うまい！」などの表示を行うなどして、操作者の操作を評価する（ステップＳ２６）。
【００９８】
ここで本実施形態では、例えば図９（Ａ）の例では、弾道を示す方程式Ｅは、途中まで銃オブジェクトＧＯの向き（コントローラ１６の指示位置）に向かっているが、標的オブジェクトＴＯに到達する前に下方向にそれてしまう。従って図９（Ａ）のように、基準マークＳＭを標的オブジェクトＴＯに重ねても、標的オブジェクトＴＯにコルク弾オブジェクトＢＯは当たらない。そこで本実施形態では、例えば図９（Ｂ）のように、基準マークＳＭを標的オブジェクトＴＯよりも上方に位置させ、銃オブジェクトの向きを上向きにさせることにより、標的オブジェクトＴＯにコルク弾オブジェクトＢＯを当てることができる。
【００９９】
なお、図９（Ｃ）のように、基準マークＳＭを標的オブジェクトＴＯよりも上方に位置させると、銃オブジェクトの向きは変わらず位置がＹ軸上方に移動する場合であっても、方程式Ｅについても向きは変わらず位置がＹ軸上方に移動するので、標的オブジェクトＴＯにコルク弾オブジェクトＢＯを当てることができる。しかし、図９（Ｄ）のように、図９（Ｃ）の場合と同じ位置に基準マークＳＭが表示されている場合であっても、表示画面１１に対するコントローラ１６の距離が離れることにより、銃オブジェクトＧＯの位置がＺ軸手前方向に移動すると、方程式Ｅについても向きは変わらず位置がＺ軸手前方向に移動するので、標的オブジェクトＴＯにコルク弾オブジェクトＢＯを当てることができなくなる。
【０１００】
このように本実施形態では、銃オブジェクトＧＯに装着されたコルク弾オブジェクトＢＯの色に応じた弾道情報（方程式）が、表示画面１１上におけるコントローラ１６の指示位置情報及び表示画面１１に対するコントローラ１６の距離情報に応じて変換される。従って本実施形態では、プレーヤに対して、装着されたコルク弾オブジェクトＢＯの色からコルク弾オブジェクトＢＯの弾道を予測させ、表示画面１１に対するコントローラ１６の指示位置と距離とを調節させるようにすることができる。こうして本実施形態によれば、表示画面１１に対するコントローラ１６の距離情報に応じて着弾点が変化する弾道を表現することができるとともに、面白みや意外性のある操作結果を得ることができるゲームシステムを実現することができる。
【０１０１】
なおコルク弾オブジェクトＢＯの移動に伴って、コルク弾オブジェクトＢＯの弾道に沿った弾道表示を表示させるようにしてもよい。またコルク弾オブジェクトＢＯが装着された時点で、即ちコルク弾オブジェクトＢＯが発射される前に、装着されたコルク弾オブジェクトＢＯの弾道に沿った弾道表示を表示させるようにしてもよい。これによりコルク弾オブジェクトＢＯの弾道や着弾点等の予測を補助することができるとともに、視覚的効果を高めることができる。
【０１０２】
また本実施形態では、標的オブジェクトＴＯとコルク弾オブジェクトＢＯとが、標的オブジェクトＴＯに設定された複数の判定領域のいずれにおいて交差したか判定する。ここで、図１０（Ａ）に示すように、コルク弾オブジェクトＢＯが標的オブジェクトＴＯの中央付近の第１の領域Ａ１に当たった場合には、標的オブジェクトＴＯの状態をすぐに倒れ状態に設定し、倒れモーション表示を行う。一方、図１０（Ｂ）に示すように、第１の領域Ａ１よりも外側の第２の領域Ａ２において当たった場合には、標的オブジェクトＴＯの状態を所与の期間不安定状態に設定して揺れモーション表示を行った後、倒れ状態に設定し、倒れモーション表示を行う。すると、倒した標的オブジェクトＴＯの数を得点表示ＰＧとして表示したり、「うまい！」などの表示を行うなどして、操作者の操作を評価する。
【０１０３】
一方、図１０（Ｃ）に示すように、第２の領域Ａ２よりも外側の第３の領域Ａ３において当たった場合には、標的オブジェクトＴＯの状態を所与の期間不安定状態に設定して揺れモーション表示を行った後、立ち状態に設定し静止表示させる。ここで状態パラメータが不安定状態である標的オブジェクトＴＯに、２発目のコルク弾オブジェクトＢＯが当たった場合には、いずれの領域に当たった場合であっても、状態パラメータを倒れ状態に設定し、倒れモーション表示を行う。そして操作者の操作を評価する。
【０１０４】
５．近距離処理
上述の通り本実施形態では、表示画面１１に対するコントローラ１６の距離情報に基づいて、銃オブジェクトＧＯの位置を求めるが、例えば表示画面１１に対するコントローラ１６の距離が近すぎる場合には、正確な距離情報を取得できなくなる、或いは操作に面白みがなくなってしまうなどのハードウェア的、ソフトウェア的な不具合が発生する場合がある。そこで本実施形態では、表示画面１１に対するコントローラ１６の距離が第１の距離よりも近づいた場合には、表示画面１１に所与の警告表示を表示させる警告表示制御処理を行う。例えば、図３の表示画面１１の右部にいる店主キャラクタが「おいおい、近すぎるよ。」と言う吹出し表示を表示するようにしてもよい。そして、表示画面１１に対するコントローラ１６の距離が更に近い第２の距離よりも近づいた場合には、操作入力を受付けないようにしている。
【０１０５】
一方で、図３に示す店主キャラクタＭＣにコルク弾オブジェクトＢＯが当たり、店主キャラクタＭＣが目を回すイベントが発生している間であれば、表示部１９０の表示画面に対する操作部１６０の距離が所定の第３の距離よりも近づいた場合には、銃オブジェクトＧＯを銃移動領域ＧＡから標的領域ＴＡにまで移動させ、銃オブジェクトＧＯと標的オブジェクトＴＯとの交差判定を行い、銃オブジェクトＧＯにより標的オブジェクトＴＯを倒すことができるようにしてもよい。即ち、コントローラ１６を表示画面１１に対して通常時よりも近づけることを許可し、あたかも標的領域ＴＡに身を乗り出して銃オブジェクトＧＯにより標的オブジェクトＴＯをなぎ倒すような操作を行わせるようにしてもよい。
【０１０６】
ここで第３の距離は、例えば正確な距離情報を取得することはできないが、指示位置情報は取得できるような距離に設定することができる。なお第１の距離、第２の距離、第３の距離を同じ距離に設定してもよく、それぞれ任意の距離に設定することができる。
【０１０７】
６．ハードウェア構成
図１１に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１０８】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１０９】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１１０】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１１１】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１１２】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１１３】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１１４】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１１５】
また本発明は種々の画像生成システムに適用できる。上述の実施形態では、本発明を射的ゲームシステムに適用した場合を例に挙げて説明したが、本発明は、指示位置情報と距離情報と仮想移動体の軌道情報とに基づいて標的と仮想移動体との位置関係を判定する種々の画像生成システムにも適用することができる。
【０１１６】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１１７】
【図１】本実施形態のシステムの概略外観の一例を示す図。
【図２】本実施形態の指示位置の情報を演算する手法の一例を説明するための図。
【図３】本実施形態で生成される画像の一例を示す図。
【図４】本実施形態の機能ブロックの一例を示す図。
【図５】本実施形態の処理の流れの一例を示すフローチャート図。
【図６】本実施形態のテーブルデータの一例を説明するための図。
【図７】図７（Ａ）（Ｂ）は、本実施形態の操作部と操作対象の動きを説明するための図。
【図８】図８（Ａ）（Ｂ）は、本実施形態の操作部と操作対象の動きを説明するための図。
【図９】図９（Ａ）（Ｂ）（Ｃ）（Ｄ）は、本実施形態の判定処理を説明するための図。
【図１０】本実施形態で生成される画像の一例を示す図。
【図１１】本実施形態を実現できるハードウェアの構成の一例を示す図。
【符号の説明】
【０１１８】
Ｐ  プレーヤ、ＣＯ  操作対象、ＰＡ  画像データ領域、
ＩｒＡ１・ＩｒＡ２  赤外光原領域、ＤｐＡ  表示画面領域、
ＧＯ  銃オブジェクト、ＴＯ  標的オブジェクト、ＢＯ  コルク弾オブジェクト、
ＳＭ  基準マーク、Ｅ  弾道情報、
１００  処理部、１０８  情報取得部、１０９  入力受付部、
１１０  オブジェクト空間設定部、１１２  移動・動作処理部、１１３  表示制御部、
１１４  仮想カメラ制御部、１２０  描画部、１２２  判定部、１２４  標的状態更新部、１２６  評価部、１６０  操作部、１６２  検出部、１７０  記憶部、１９０  表示部
【図１】
2008067853.tif 000003
【図２】
2008067853.tif 000004
【図３】
2008067853.tif 000005
【図４】
2008067853.tif 000006
【図５】
2008067853.tif 000007
【図６】
2008067853.tif 000008
【図７】
2008067853.tif 000009
【図８】
2008067853.tif 000010
【図９】
2008067853.tif 000011
【図１０】
2008067853.tif 000012
【図１１】
2008067853.tif 000013