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