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