(57)【特許請求の範囲】
【請求項１】
仮想３次元空間の画像を生成するプログラムであって、
仮想３次元空間にオブジェクトを配置する仮想３次元空間設定手段と、
入力情報に基づき仮想３次元空間内において捕捉点が配置される捕捉方向を特定する捕捉方向特定手段と、
前記捕捉方向に基づき仮想３次元空間の捕捉対象を特定する捕捉対象特定手段と、
捕捉対象特定結果に基づき捕捉点の奥行き値を設定し、捕捉点にマーカを配置するマーカ配置制御手段と、
前記マーカを含むオブジェクトが配置された前記仮想３次元空間を仮想カメラから見た画を生成する画像生成手段と、してコンピュータを機能させ、
前記捕捉対象特定手段は、
仮想３次元空間において、前記捕捉方向に存在する捕捉対象の有無を判定し、捕捉対象が存在する場合には捕捉対象を特定し、
前記マーカ配置制御手段は、
捕捉対象が存在する場合には、捕捉対象に対応づけられた奥行き値に基づき捕捉点の奥行き値を決定し、
捕捉対象が存在しない場合の捕捉点の奥行き値として、捕捉方向において仮想カメラから最も離れた描画物の奥行き値または予め設定されている所定の奥行き値を設定するよう構成され、
捕捉対象が存在する状態から存在しない状態に変化した場合には、捕捉点の奥行き値を補正する奥行き値補正処理を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記マーカ配置制御手段は、
前記奥行き値補正処理として、捕捉点の奥行き値を所定期間変更しない処理、捕捉点の奥行き値の変化量を制限する処理、捕捉点の奥行き値が前記仮想カメラから最も離れた描画物の奥行き値または予め設定されている所定の奥行き値に瞬時変化しないように補正する処理の少なくとも１つを行うことを特徴とするプログラム。
【請求項３】
請求項１乃至２のいずれかにおいて、
前記マーカ配置制御手段は、
捕捉対象が存在する状態から存在しない状態に変化した場合に、捕捉点に配置されるマーカの移動速度が、時間がたつにつれて大きくなるように捕捉点の奥行き値を設定する制御を行うことを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記マーカ配置制御手段は、
仮想３次元空間のオブジェクトの種類や大きさや配置状態、又は所定のパラメータ、又は所与の条件に基づき、奥行き値の設定条件を変化させることを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記捕捉対象特定手段は、
前記捕捉方向の変化履歴に基づき捕捉方向の変化予測を行い、当該変化予測を加味して捕捉対象を特定することを特徴とするプログラム。
【請求項６】
仮想３次元空間の画像を生成するプログラムであって、
仮想３次元空間にオブジェクトを配置する仮想３次元空間設定手段と、
入力情報に基づき仮想３次元空間内において捕捉点が配置される捕捉方向を特定する捕捉方向特定手段と、
前記捕捉方向に基づき仮想３次元空間の捕捉対象を特定する捕捉対象特定手段と、
捕捉対象特定結果に基づき捕捉点の奥行き値を設定し、捕捉点にマーカを配置するマーカ配置制御手段と、
前記マーカを含むオブジェクトが配置された前記仮想３次元空間を仮想カメラから見た画を生成する画像生成手段と、してコンピュータを機能させ、
前記捕捉対象特定手段は、
前記捕捉方向の変化履歴に基づき捕捉方向の変化予測を行い、当該変化予測を加味して捕捉対象を特定し、
前記マーカ配置制御手段は、
捕捉対象が存在する場合には、捕捉対象に対応づけられた奥行き値に基づき捕捉点の奥行き値を決定し、前記捕捉方向の決定された奥行き値に対応する位置にマーカを配置することを特徴とするプログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記捕捉対象特定手段は、
捕捉対象検出処理として、前記捕捉方向に存在するオブジェクトを検出し、
前記マーカ配置制御手段は、
捕捉対象となるオブジェクトが検出された場合には、捕捉対象のオブジェクトに対応づけられた奥行き値に基づき捕捉点の奥行き値を決定することを特徴とするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記捕捉対象特定手段は、
複数のオブジェクトの集合であるオブジェクト群に対してグループ設定を行い、捕捉対象検出処理として、前記捕捉方向に存在するオブジェクト群を検出し、
前記マーカ配置制御手段は、
捕捉対象となるオブジェクト群が検出された場合には、捕捉対象のオブジェクト群に対応づけられた奥行き値に基づき捕捉点の奥行き値を決定することを特徴とするプログラム。
【請求項９】
仮想３次元空間の画像を生成するプログラムであって、
仮想３次元空間にオブジェクトを配置する仮想３次元空間設定手段と、
入力情報に基づき仮想３次元空間内において捕捉点が配置される捕捉方向を特定する捕捉方向特定手段と、
前記捕捉方向に基づき仮想３次元空間の捕捉対象を特定する捕捉対象特定手段と、
捕捉対象特定結果に基づき捕捉点の奥行き値を設定し、捕捉点にマーカを配置するマーカ配置制御手段と、
前記マーカを含むオブジェクトが配置された前記仮想３次元空間を仮想カメラから見た画を生成する画像生成手段と、してコンピュータを機能させ、
前記捕捉対象特定手段は、
複数のオブジェクトの集合であるオブジェクト群に対してグループ設定を行い、捕捉対象検出処理として、前記捕捉方向に存在するオブジェクト群を検出し、
前記マーカ配置制御手段は、
捕捉対象となるオブジェクト群が検出された場合には、捕捉対象のオブジェクト群に対応づけられた奥行き値に基づき捕捉点の奥行き値を決定することを特徴とするプログラム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記捕捉対象特定手段は、
仮想３次元空間のオブジェクト又はオブジェクト群に対して第１のヒットチェック平面又は第１のヒットチェックボリュームを設定し、第１のヒットチェック平面又は第１のヒットチェックボリュームと、捕捉方向に基づきヒットチェックを行い、ヒットチェック結果に基づき捕捉対象となるオブジェクトを判断することを特徴とするプログラム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記捕捉対象特定手段は、
前記捕捉方向を、コントローラの一部に位置設定された仮想カメラと捕捉点を結ぶ方向として、捕捉方向に存在する捕捉対象を検出することを特徴とするプログラム。
【請求項１２】
請求項１乃至１１のいずれかにおいて、
前記仮想３次元空間の画像は、立体視画像であることを特徴とするプログラム。
【請求項１３】
請求項１２において、
前記画像生成手段は、
前記マーカを含む前記仮想３次元空間を第１の仮想カメラから見た第１の画像を生成する処理と、
前記マーカを含む前記仮想３次元空間を第２の仮想カメラから見た第２の画像を生成する処理と、を行い、
生成された第１の画像と第２の画像に基づき立体視画像を生成することを特徴とするプログラム。
【請求項１４】
請求項１２又は１３において、
前記捕捉対象特定手段は、
前記立体視画像を観察するのに適した位置に設定された、仮想カメラと捕捉点を結ぶ方向を捕捉方向として、捕捉方向に存在する捕捉対象を検出することを特徴とするプログラム。
【請求項１５】
請求項１２乃至１４のいずれかにおいて、
前記捕捉対象特定手段は、
捕捉方向を、第１の仮想カメラと第２の仮想カメラの中間点に配置された第３の仮想カメラと捕捉点を結ぶ方向として、前記捕捉方向に存在する捕捉対象を検出することを特徴
とするプログラム。
【請求項１６】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜１４のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項１７】
仮想３次元空間の画像を生成する画像生成システムであって、
仮想３次元空間にオブジェクトを配置する仮想３次元空間設定手段と、
入力情報に基づき仮想３次元空間内において捕捉点が配置される捕捉方向を特定する捕捉方向特定手段と、
前記捕捉方向に基づき仮想３次元空間の捕捉対象を特定する捕捉対象特定手段と、
捕捉対象特定結果に基づき捕捉点の奥行き値を設定し、捕捉点にマーカを配置するマーカ配置制御手段と、
前記マーカを含むオブジェクトが配置された前記仮想３次元空間を仮想カメラから見た画を生成する画像生成手段と、を含み、
前記捕捉対象特定手段は、
仮想３次元空間において、前記捕捉方向に存在する捕捉対象の有無を判定し、捕捉対象が存在する場合には捕捉対象を特定し、
前記マーカ配置制御手段は、
捕捉対象が存在する場合には、捕捉対象に対応づけられた奥行き値に基づき捕捉点の奥行き値を決定し、
捕捉対象が存在しない場合の捕捉点の奥行き値として、捕捉方向において仮想カメラから最も離れた描画物の奥行き値または予め設定されている所定の奥行き値を設定するよう構成され、
捕捉対象が存在する状態から存在しない状態に変化した場合には、捕捉点の奥行き値を補正する奥行き値補正処理を行うことを特徴とするコンピュータを機能させることを特徴とする画像生成システム。
【請求項１８】
仮想３次元空間の画像を生成する画像生成システムであって、
仮想３次元空間にオブジェクトを配置する仮想３次元空間設定手段と、
入力情報に基づき仮想３次元空間内において捕捉点が配置される捕捉方向を特定する捕捉方向特定手段と、
前記捕捉方向に基づき仮想３次元空間の捕捉対象を特定する捕捉対象特定手段と、
捕捉対象特定結果に基づき捕捉点の奥行き値を設定し、捕捉点にマーカを配置するマーカ配置制御手段と、
前記マーカを含むオブジェクトが配置された前記仮想３次元空間を仮想カメラから見た画を生成する画像生成手段と、を含み、
前記捕捉対象特定手段は、
前記捕捉方向の変化履歴に基づき捕捉方向の変化予測を行い、当該変化予測を加味して捕捉対象を特定し、
前記マーカ配置制御手段は、
捕捉対象が存在する場合には、捕捉対象に対応づけられた奥行き値に基づき捕捉点の奥行き値を決定し、前記捕捉方向の決定された奥行き値に対応する位置にマーカを配置することを特徴とする画像生成システム。
【請求項１９】
仮想３次元空間の画像を生成する画像生成システムであって、
仮想３次元空間にオブジェクトを配置する仮想３次元空間設定手段と、
入力情報に基づき仮想３次元空間内において捕捉点が配置される捕捉方向を特定する捕捉方向特定手段と、
前記捕捉方向に基づき仮想３次元空間の捕捉対象を特定する捕捉対象特定手段と、
捕捉対象特定結果に基づき捕捉点の奥行き値を設定し、捕捉点にマーカを配置するマー
カ配置制御手段と、
前記マーカを含むオブジェクトが配置された前記仮想３次元空間を仮想カメラから見た画を生成する画像生成手段と、を含み、
前記捕捉対象特定手段は、
仮想３次元空間において、前記捕捉方向に存在する捕捉対象の有無を判定し、捕捉対象が存在する場合には捕捉対象を特定し、
前記捕捉対象特定手段は、
複数のオブジェクトの集合であるオブジェクト群に対してグループ設定を行い、捕捉対象検出処理として、前記捕捉方向に存在するオブジェク群を検出し、
前記マーカ配置制御手段は、
捕捉対象となるオブジェクト群が検出された場合には、捕捉対象のオブジェクト群に対応づけられた奥行き値に基づき捕捉点の奥行き値を決定することを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び、画像生成装置に関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成装置（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
例えば、プレーヤが入力部を用いて、オブジェクト空間（３次元空間）において、弾を発射させて敵キャラクタを射撃するシューティングゲームの画像を生成する画像生成装置が存在する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２５９６８６
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このようなシューティングゲームにおいては、標的オブジェクトに狙いを定めるための照準が必要になる。従来のシューティングゲームにおいては、照準は、得点や順位などを表示するための２次元レイヤー上に配置されている場合が多く、透視変換によりスクリーン（投影面）に投影された画像と照準等が配置された２次元レイヤーの画像とを重ね合わせた画像がプレーヤに対して表示されていた。
【０００６】
しかしながら、このように２次元レイヤー上に配置された照準では、ショットのヒット位置を、プレーヤが正確に把握できないことがある。特に、視点とヒット位置との距離が離れている場合に、照準位置とヒット位置との誤差が大きくなってしまう。また２次元レイヤー上に配置された照準では、シューティングデバイスの操作と照準の移動との間の連動感を、今一つ高めることができない。
【０００７】
また例えば立体視画像が表示されるシューティングゲームにおいては、２次元レイヤー上に配置された照準では、ショットのヒット位置を把握することができないばかりか、２次元的に表示された照準によって立体視画像の迫力が興ざめしてしまうことにもなりかねない。
【０００８】
本願の発明者は、正確なシューティングを可能とするために、仮想3次元空間内に照準を配置し、プレーヤの操作に応じて照準マーカを移動させるシューティングゲームを開発中である。かかるシューティングゲームでは照準マーカの位置に標的オブジェクトや背景オブジェクトがあれば、そのオブジェクトの奥行きと同じ位置か若干手前に照準マーカを表示してプレーヤの視認性をよくしているが、標的となるオブジェクトが表示画面上に大量に出てくるような戦闘シーンにおいて、１つの標的を倒すと、標的となっていたオブジェクトが消滅してその空間だけがぽっかりと空き、照準マーカがゲーム空間後方まで一気に移動してしまい、プレーヤの照準位置把握が難しくなるという問題点があった。
【０００９】
本発明は、上記課題に鑑みたものであり、仮想３次元空間のオブジェクトとの位置関係が把握しやすく、視認性及び操作性のよいマークを表示することが可能なプログラム、情報記憶媒体、及び画像生成装置を提供することにある。
【課題を解決するための手段】
【００１０】
（１）本発明は、
仮想３次元空間の画像を生成するプログラムであって、
仮想３次元空間にオブジェクトを配置する仮想３次元空間設定手段と、
入力情報に基づき仮想３次元空間内において捕捉点が配置される捕捉方向を特定する捕捉方向特定手段と、
前記捕捉方向に基づき仮想３次元空間の捕捉対象を特定する捕捉対象特定手段と、
捕捉対象特定結果に基づき捕捉点の奥行き値を設定し、捕捉点にマーカを配置するマーカ配置制御手段と、
前記マーカを含むオブジェクトが配置された前記仮想３次元空間を仮想カメラから見た画を生成する画像生成手段と、してコンピュータを機能させ、
前記捕捉対象特定手段は、
仮想３次元空間において、前記捕捉方向に存在する捕捉対象の有無を判定し、捕捉対象が存在する場合には捕捉対象を特定し、
前記マーカ配置制御手段は、
捕捉対象が存在する場合には、捕捉対象に対応づけられた奥行き値に基づき捕捉点の奥行き値を決定し、
捕捉対象が存在しない場合の捕捉点の奥行き値として、捕捉方向において仮想カメラから最も離れた描画物の奥行き値または予め設定されている所定の奥行き値を設定するよう構成され、
捕捉対象が存在する状態から存在しない状態に変化した場合には、捕捉点の奥行き値を補正する奥行き値補正処理を行うことを特徴とするコンピュータを機能させることを特徴とするプログラムに関する。
【００１１】
本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部として、コンピュータを機能させるプログラムを記憶した情報記憶媒体、上記各部を含む画像生成装置に関する。
【００１２】
捕捉点とは仮想３次元空間内でプレーヤがねらっている点であり、例えばシューティングゲーム等ではシューティングデバイスがねらっている点でもよいし、照準位置でもよい。
【００１３】
捕捉方向とは仮想３次元空間内でプレーヤがねらっている方向であり、仮想３次元空間内に配置された直線（捕捉ライン）で表すことができる。例えばシューティングゲーム等ではシューティングデバイスがねらっている方向でもよいし、照準位置でもよい。
【００１４】
捕捉対象特定結果とは捕捉対象の有無や捕捉対象がある場合には捕捉対象の特定を含む。
【００１５】
本プログラムは、シューティングゲームの画像を生成するプログラムでもよい。生成される画像は、平面視画像（3次元空間を平面に投影した画像）でもよいし、立体視画像でもよい。
【００１６】
入力情報は、入力デバイス（例えばシューティングデバイスやポインティング）や操作部が検出する操作信号でもよい。また入力情報は、入力デバイスの傾き情報や入力デバイスの指示位置を判定するためのカメラの撮影情報等のように、スクリーン上に表示された画像の指示位置が取得できる情報でもよい。
【００１７】
１人称視点の場合の捕捉方向は、プレーヤが何らかの形で指示している指示点（例えばスクリーン上に表示された画像の指示位置に対応する仮想３次元空間内の点）に対応する仮想３次元空間内の点と仮想カメラを結ぶ方向（直線）でもよい。
【００１８】
また３人称視点の場合の捕捉方向は、プレーヤが何らかの形で指示している指示点（例えばスクリーン上に表示された画像の指示位置に対応する仮想３次元空間内の点）に対応する仮想３次元空間内の点と仮想３次元空間内のプレーヤキャラクタやプレーヤキャラクタが保持するシューティングデバイスを結ぶ方向（直線）でもよい。
【００１９】
仮想３次元空間内に配置されるオブジェクトは、移動体オブジェクトでもよいし、静止物オブジェクトでもよい。シューティング対象となる標的オブジェクト（シューティングによるヒット判定が行われるオブジェクト）でもよい。
【００２０】
前記捕捉対象特定手段は、捕捉方向にオブジェクトが複数存在する場合には、仮想カメラに近い奥行き値を有するオブジェクトを優先して捕捉対象としてもよい。
【００２１】
前記マーカ配置制御手段は、捕捉点の奥行き値を捕捉対象であるオブジェクトと同じ又は少し手前の位置に設定してもよい。
【００２２】
捕捉対象特定手段は、捕捉方向に基づき設定したレイを飛ばして仮想３次元空間内のオブジェクトとのと交差判定（ヒットチェック）を行うことにより捕捉対象となるオブジェクトを検出してもよいし、判定用の画像を生成して、捕捉位置（入力情報に基づき判定されるスクリーン上に表示された画像の指示位置）の画素情報に基づき（レンダリングヒット）捕捉対象となるオブジェクトを検出してもよい。
【００２３】
捕捉点の仮想３次元空間内におけるＺ値は捕捉対象に対応づけられた奥行き値に基づき決定され、Ｘ、Ｙ値は、捕捉方向を示すラインとＺ＝決定された奥行き値で定義される平面の交点のＸ、Ｙ座標となる。
【００２４】
ここにおいて捕捉対象に対応づけられた奥行き値とは、捕捉対象のオブジェクト自体の奥行き値でもよいし、捕捉対象となるオブジェクトを含むオブジェクト群に対応づけられた奥行き値でもよい。
【００２５】
捕捉対象となるオブジェクトが存在しない場合には、捕捉点の奥行き値として、例えば捕捉方向において仮想カメラから最も離れた描画物、すなわち背景等の奥行き値や、予め設定されている所定の奥行き値を設定してもよい。
【００２６】
捕捉点に配置されるマーカは例えばシューティングの照準位置を示す照準オブオブジェクトでもよい。照準オブジェクトは、例えば板ポリゴン等で構成し、視線方向に応じて向きが設定されるようにしてもよい。
【００２７】
捕捉対象が存在する状態から存在しない状態に変化した場合とは、例えば捕捉方向の変化又はオブジェクトの移動や消失により捕捉対象が存在しない状態に変化した場合等である。
【００２８】
奥行き値補正処理として、奥行き値を所定期間変化させない処理をおこなってもよいし、捕捉点の奥行き値が前記仮想カメラから最も離れた描画物の奥行き値または予め設定されている所定の奥行き値に瞬時変化しないように補正する処理（例えば仮想カメラから最も離れた描画物の奥行き値または予め設定されている所定の奥行き値に達するまでの時間を遅延させる制御や、奥行き方向への最大移動距離を制限する処理や捕捉点の奥行き方向の位置変化速度を遅くする処理や、捕捉対象が存在している場合の捕捉点の奥行き値の制御とは異なる制御等のいずれかを行うようにしてもよい。
【００２９】
捕捉対象が存在している場合の捕捉点の奥行き値の制御は、捕捉対象のオブジェクトの奥行き値に応じて瞬時または所定のタイムラグを持って変化させる制御をおこなってもよい。この様な場合の捕捉点の変化速度（マーカの移動速度でもよい）は移動前後の捕捉点の距離によって決まることになる。捕捉点の奥行き値の補正を行う場合には、移動前後の捕捉点の距離によって決まる速度よりも遅い速度で捕捉点の奥行き値が変化するように制御してもよい。
【００３０】
本発明によればマーカが仮想３次元空間内に配置されるため、仮想３次元空間内の指示位置（ヒット位置）を、プレーヤが正確に把握できる。しかも単にマーカを仮想３次元空間におく場合には、捕捉対象のロスト（捕捉対象が存在する状態から存在しない状態に変化すること）によるマーカの奥行き方向の移動が煩雑になり、見にくい画像が生成される可能性があるが、本発明によれば、捕捉対象が存在する状態から存在しない状態に変化した場合には、捕捉点の奥行き位置を補正することによりマーカが急激に奥行き方向に移動するのを防止することができるため、視認性及び操作性のよいマークを表示することが可能となる。
【００３１】
（２）また、本発明のプログラム、情報記憶媒体、画像生成装置において、
前記マーカ配置制御手段は、
前記奥行き値補正処理として、捕捉点の奥行き値を所定期間変更しない処理、捕捉点の奥行き値の変化量を制限する処理、捕捉点の奥行き値が前記仮想カメラから最も離れた描画物の奥行き値または予め設定されている所定の奥行き値に瞬時変化しないように補正する処理の少なくとも１つを行ってもよい。
【００３２】
捕捉点の奥行き値が前記仮想カメラから最も離れた描画物の奥行き値または予め設定されている所定の奥行き値に瞬時変化しないように補正する処理とは、例えば仮想カメラから最も離れた描画物の奥行き値または予め設定されている所定の奥行き値に達するまでの時間を遅延させる処理でもよいし、奥行き方向への奥行き値の最大移動距離を短くする処置、奥行き値の変化速度を遅くする処理でもよい。
【００３３】
また例えば捕捉点の奥行き値の変化量を制限する処理として、捕捉対象が存在している状態における捕捉点の奥行き値の制御を通常制御として、捕捉点の奥行き値の変化度合いを通常制御時に比べて小さくする制御や捕捉点の奥行き方向への変化速度を通常制御時に比べて遅くする制御を行ってもよい。
【００３４】
（３）また、本発明のプログラム、情報記憶媒体、画像生成装置において、
前記マーカ配置制御手段は、
捕捉対象が存在する状態から存在しない状態に変化した場合に、捕捉点に配置されるマーカの移動速度が、時間がたつにつれて大きくなるように捕捉点の奥行き値を設定する制御を行ってもよい。
【００３５】
（４）また、本発明のプログラム、情報記憶媒体、画像生成装置において、
前記マーカ配置制御手段は、
仮想３次元空間のオブジェクトの種類や大きさや配置状態、又は所定のパラメータ、又は所与の条件に基づき、奥行き値の設定条件を変化させてもよい。
【００３６】
仮想３次元空間のオブジェクトの配置状態とはオブジェクトの数や密度や分布の状態等も含む。所定のパラメータとは敵オブジェクトの数、難易度、命中率、体力、ステージ等に関するパラメータでもよい。また奥行き値の設定条件とは、例えば、奥行き値を補正する時間（フレーム数）（例えば奥行き値を変化させない時間等）や、奥行きを変える際の変化量の設定値を含む。
【００３７】
奥行き値補正処理を行う場合には、捕捉対象としているオブジェクトや捕捉方向に存在するオブジェクトが大きいほうが、マーカの奥行き方向への移動が速くなるように、捕捉点の奥行き値を補正してもよい。
【００３８】
また現在捕捉対象となっているオブジェクトの所定範囲内に位置するオブジェクトの数が多いほど、マーカの奥行き方向への移動が遅くなるように、捕捉点の奥行き値を補正してもよい。
【００３９】
また例えば仮想３次元空間内に存在する敵オブジェクトの数が多くなるほどマーカの移動速度がより遅くなるようにしてもよいし、マーカの奥行き値の固定期間が長くなるようにしてもよい。またシューティングゲームにおいて命中率が低くなるほど、マーカの移動速度がより遅くなるようにしてもよいし、マーカの奥行き値の固定期間がながくなるようにしてもよい。
【００４０】
また例えば、ゲームのテンポ、ユーザの習熟度、難易度、ステージ、ゲーム開始からのゲーム継続時間等により、マーカの奥行き値の固定期間や移動速度を変化させてもよい。
【００４１】
（５）また、本発明のプログラム、情報記憶媒体、画像生成装置において、
前記捕捉対象特定手段は、
前記捕捉方向の変化履歴に基づき捕捉方向の変化予測を行い、当該変化予測を加味して捕捉対象を特定してもよい。
【００４２】
（６）本発明は、
仮想３次元空間の画像を生成するプログラムであって、
仮想３次元空間にオブジェクトを配置する仮想３次元空間設定手段と、
入力情報に基づき仮想３次元空間内において捕捉点が配置される捕捉方向を特定する捕捉方向特定手段と、
前記捕捉方向に基づき仮想３次元空間の捕捉対象を特定する捕捉対象特定手段と、
捕捉対象特定結果（捕捉対象の有無特定の有無、特定された場合には特定された捕捉対象の位置等）に基づき捕捉点の奥行き値を設定し、捕捉点にマーカを配置するマーカ配置制御手段と、
前記マーカを含むオブジェクトが配置された前記仮想３次元空間を仮想カメラから見た画を生成する画像生成手段と、してコンピュータを機能させ、
前記捕捉対象特定手段は、
前記捕捉方向の変化履歴に基づき捕捉方向の変化予測を行い、当該変化予測を加味して捕捉対象を特定し、
前記マーカ配置制御手段は、
捕捉対象が存在する場合には、捕捉対象に対応づけられた奥行き値に基づき捕捉点の奥行き値を決定し、前記捕捉方向の決定された奥行き値に対応する位置にマーカを配置することを特徴とするプログラムに関する。
【００４３】
本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部として、コンピュータを機能させるプログラムを記憶した情報記憶媒体、上記各部を含む画像生成装置に関する。
【００４４】
（７）また、本発明のプログラム、情報記憶媒体、画像生成装置において、
前記捕捉対象特定手段は、
捕捉対象検出処理として、前記捕捉方向に存在するオブジェクトを検出し、
前記マーカ配置制御手段は、
捕捉対象となるオブジェクトが検出された場合には、捕捉対象のオブジェクトに対応づけられた奥行き値に基づき捕捉点の奥行き値を決定してもよい。
【００４５】
（８）また、本発明のプログラム、情報記憶媒体、画像生成装置において、
前記捕捉対象特定手段は、
複数のオブジェクトの集合であるオブジェクト群に対してグループ設定を行い、捕捉対象検出処理として、前記捕捉方向に存在するオブジェクト群を検出し、
前記マーカ配置制御手段は、
捕捉対象となるオブジェクト群が検出された場合には、捕捉対象のオブジェクト群に対応づけられた奥行き値に基づき捕捉点の奥行き値を決定してもよい。
【００４６】
（９）本発明は、
仮想３次元空間の画像を生成するプログラムであって、
仮想３次元空間にオブジェクトを配置する仮想３次元空間設定手段と、
入力情報に基づき仮想３次元空間内において捕捉点が配置される捕捉方向を特定する捕捉方向特定手段と、
前記捕捉方向に基づき仮想３次元空間の捕捉対象を特定する捕捉対象特定手段と、
捕捉対象特定結果に基づき捕捉点の奥行き値を設定し、捕捉点にマーカを配置するマーカ配置制御手段と、
前記マーカを含むオブジェクトが配置された前記仮想３次元空間を仮想カメラから見た画を生成する画像生成手段と、してコンピュータを機能させ、
前記捕捉対象特定手段は、
複数のオブジェクトの集合であるオブジェクト群に対してグループ設定を行い、捕捉対象検出処理として、前記捕捉方向に存在するオブジェクト群を検出し、
前記マーカ配置制御手段は、
捕捉対象となるオブジェクト群が検出された場合には、捕捉対象のオブジェクト群に対応づけられた奥行き値に基づき捕捉点の奥行き値を決定することを特徴とするプログラムに関する。
【００４７】
本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部として、コンピュータを機能させるプログラムを記憶した情報記憶媒体、上記各部を含む画像生成装置に関する。
【００４８】
（１０）また、本発明のプログラム、情報記憶媒体、画像生成装置において、
前記捕捉対象特定手段は、
仮想３次元空間のオブジェクト又はオブジェクト群に対して第１のヒットチェック平面又は第１のヒットチェックボリュームを設定し、第１のヒットチェック平面又は第１のヒットチェックボリュームと、捕捉方向に基づきヒットチェックを行い、ヒットチェック結果に基づき捕捉対象となるオブジェクトを判断してもよい。
【００４９】
（１１）また、本発明のプログラム、情報記憶媒体、画像生成装置において、
前記捕捉対象特定手段は、
前記捕捉方向を、コントローラの一部に位置設定された仮想カメラと捕捉点を結ぶ方向として、捕捉方向に存在する捕捉対象を検出してもよい。
【００５０】
（１２）また、本発明のプログラム、情報記憶媒体、画像生成装置において、
前記仮想３次元空間の画像は、立体視画像でもよい。
【００５１】
（１３）また、本発明のプログラム、情報記憶媒体、画像生成装置において、
前記画像生成手段は、
前記マーカを含む前記仮想３次元空間を第１の仮想カメラ（右目用仮想カメラ）から見た第１の画像（右目画像）を生成する処理と、
前記マーカを含む前記仮想３次元空間を第２の仮想カメラ（左目用仮想カメラ）から見た第２の画像（左目画像）を生成する処理と、を行い、
生成された第１の画像（右目用画像）と第２の画像（左目画像）に基づき立体視画像を生成してもよい。
【００５２】
（１４）また、本発明のプログラム、情報記憶媒体、画像生成装置において、
前記捕捉対象特定手段は、
前記立体視画像を観察するのに適した位置に設定された、仮想カメラと捕捉点を結ぶ方向を捕捉方向（捕捉ライン）として、捕捉方向に存在する捕捉対象を検出してもよい。
【００５３】
（１５）また、本発明のプログラム、情報記憶媒体、画像生成装置において、
前記注目対象特定手段は、
前記注目方向（注目ライン）を、第１の仮想カメラ（左目用カメラ）と第２の仮想カメラ（右目用カメラ）の中間点に配置された第３の仮想カメラ（センターカメラ）と注目点を結ぶ方向として、注目方向（注目ライン）に存在する注目対象を検出してもよい。
【図面の簡単な説明】
【００５４】
【図１】本実施形態の画像生成装置の機能ブロック図の例。
【図２】本実施形態の画像生成装置の外観図。
【図３】本実施の形態のゲーム画像の一例を示す図。
【図４】仮想３次元空間内の様子をＹ軸方向から見た図。
【図５】本実施の形態のゲーム画像の一例を示す図。
【図６】仮想３次元空間内の様子をＹ軸方向から見た図。
【図７】本実施の形態のゲーム画像の一例を示す図。
【図８】仮想３次元空間内の様子をＹ軸方向から見た図。
【図９】図９（Ａ）〜（Ｃ）は、本実施の形態の捕捉方向の考え方について説明するための図。
【図１０】捕捉対象が同じである場合の照準（マーカ）の奥行き値の制御である通常制御について説明するための図。
【図１１】捕捉対象をロストした場合の通常制御を示す図。
【図１２】捕捉方向が変化して捕捉対象をロストした場合に奥行き値を所定期間変化させない制御例を示す図。
【図１３】捕捉対象が消滅して捕捉対象をロストした場合に奥行き値を所定期間変化させない制御例を示す図。
【図１４】捕捉対象をロストした場合の他の制御例を示す図。
【図１５】捕捉対象をロストした場合の速度変化の制御例を示す図。
【図１６】捕捉対象をロストした場合の速度変化の他の制御例を示す図。
【図１７】図１７（Ａ）（Ｂ）はゲーム画像の一例を示す図。
【図１８】図１８（Ａ）（Ｂ）は、オブジェクト群単位で行う捕捉判定処理について説明するための図。
【図１９】図１９（Ａ）（Ｂ）は捕捉点の変化予測について説明する図。
【図２０】図２０（Ａ）（Ｂ）は、図１９（Ａ）（Ｂ）のケースを仮想３次元空間内で立体的に見た様子を示す図。
【図２１】捕捉対象の特定処理について説明するための図
【図２２】動的にグループ設定を行う例について説明するための図。
【図２３】標的オブジェクトＥ２１、Ｅ２２、Ｅ２３、Ｅ２４をスクリーン上に投影した様子を示す図。
【図２４】本実施の形態の照準位置の補正処理の流れを示すフローチャート図。
【図２５】捕捉対象をロストした場合の他の制御例を示す図。
【図２６】図２６（Ａ）は、表示出力用画像の一例。図２６（Ｂ）は、演算処理用画像の一例。
【図２７】図２７（Ａ）は、表示出力用画像で用いられるオブジェクトの一例。図２７（Ｂ）は、演算処理用画像で用いられるオブジェクトの一例。
【図２８】図２８（Ａ）（Ｂ）は、色情報又は半透明情報によって、複数のオブジェクトそれぞれを識別することを説明するための図。
【図２９】図２９（Ａ）は、表示出力用画像を格納する画像バッファ、Ｚバッファの説明図。図２９（Ｂ）は、演算処理用画像を格納する画像バッファ、Ｚバッファの説明図。
【図３０】図３０（Ａ）（Ｂ）は、指示位置を取得する手法の説明図。
【図３１】図３１（Ａ）〜（Ｃ）は、ヒットエリア、及び、画素を選択する手法の説明図。
【発明を実施するための形態】
【００５５】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００５６】
１．構成
図１に本実施形態の画像生成装置（コンピュータ、端末、ゲーム装置）の機能ブロック図の例を示す。なお本実施形態の画像生成装置は図１の構成要素（各部）の一部を省略した構成としてもよい。
【００５７】
入力部１６０は、プレーヤからの入力情報を入力するための機器であり、プレーヤの入力情報を処理部に出力する。本実施形態の入力部１６０は、プレーヤの入力情報（入力信号）を検出する検出部１６２を備える。入力部１６０は、例えば、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイなどがある。また、入力部１６０は、所定振動信号に基づいて振動させる処理を行う振動部を備えていてもよい。
【００５８】
また、入力部１６０は、３軸の加速度を検出する加速度センサや、角速度を検出するジャイロセンサ、撮像部を備えた入力機器でもよい。例えば、入力機器は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力機器には、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける（プレーヤが手に装着する）グローブ型コントローラなど実際の道具を模して作られたコントローラも含まれる。また入力機器には、入力機器と一体化されている画像生成装置、携帯型画像生成装置、携帯電話なども含まれる。
【００５９】
検出部１６２は、入力部１６０からの入力情報を検出する処理を行う。例えば、検出部１６２は、入力部１６０の引き金（トリガ）が引かれることによって発生する入力信号を、入力情報（攻撃入力情報）として検出してもよい。また例えば、検出部１６２は、入力部１６０から照準（ガンサイト）の位置を指示する入力情報（指示入力情報）を検出してもよい。
【００６０】
例えば、入力部１６０が、液晶ディスプレイと、プレーヤの接触位置を検出するためのタッチパネルとが積層されたタッチパネル型ディスプレイで有る場合には、タッチペンなどの指示入力機器や指先の接触位置情報を入力情報として検出してもよい。
【００６１】
また、入力部１６０が撮像部を備える入力機器である場合には、撮像画像におおける指示位置情報を入力情報として検出してもよい。より具体的に説明すると、撮像部は、赤外線フィルタ、レンズ、撮像素子（イメージセンサ）、画像処理回路を含み、赤外線フィルタは、入力機器の前方に配置され、表示部１９０に関連付けられて配置されている光源（２つの光源）から入射する光から赤外線のみを通過させる。また、レンズは、赤外線フィルタを透過した赤外線を集光して撮像素子へ出射する。また、撮像素子は、例えば、ＣＭＯＳセンサやＣＣＤのような固体撮像素子であり、レンズが集光した赤外線を撮像して撮像画像を生成する。そして、撮像素子で生成された撮像画像は、画像処理回路で処理される。例えば、撮像部を備える入力機器は、撮像素子から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報（指示位置情報）を入力情報として検出してもよい。
【００６２】
記憶部２００は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ、ＶＲＡＭなどにより実現できる。
【００６３】
記憶部２００は、画像を記憶する画像バッファ、画像の各ピクセルの奥行き値（深度値、Ｚ値）を記憶するＺバッファを備えてもよい。画像バッファ２２１は、表示出力用画像の各画素（ピクセル）の（Ｒ，Ｇ，Ｂ，Ａ）（ＲＧＢカラー値、及びα値（Ａ値））が格納される。つまり、表示出力用画像の各画素の色情報（Ｒ、Ｇ、Ｂ）及び半透明情報（α値（Ａ値ともいう））が画像バッファ２２１に格納される。Ｚバッファ２２２は、画像バッファ２２１に描画される各画素の奥行き値が格納される。
【００６４】
また、画像バッファ２３１（描画面Ａ）は、演算処理用画像の各画素の（Ｒ，Ｇ，Ｂ，Ａ）が格納されてもよい。画像バッファ２３１に格納される演算処理用画像は、オブジェクトのＩＤ（ヒットＩＤ）、オブジェクトの部位、オブジェクトのヒットタイプなどの情報を示す（Ｒ，Ｇ，Ｂ，Ａ）が格納される。また、画像バッファ２３２（描画面Ｂ）も、演算処理用画像の各画素の（Ｒ，Ｇ，Ｂ，Ａ）が格納されてもよい。画像バッファ２３２に格納される演算処理用画像は、法線ベクトルや、属性情報（オブジェクトの素材を情報など）を示す（Ｒ，Ｇ，Ｂ，Ａ）が格納される。また、Ｚバッファ２３３（描画面Ｃ）は、画像バッファ２３１、２３２に描画される各画素の奥行き値が格納される。なお、画像バッファ２３１、２３２、Ｚバッファ２３３は、それぞれ縮小用のバッファとして、画像バッファ２２１、Ｚバッファ２２２の１／ｎの大きさとしてもよい。
【００６５】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【００６６】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００６７】
通信部１９６は外部（例えば他の画像生成装置）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００６８】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部２００に記憶してもよい。このようにプログラムやデータを受信して画像生成装置を機能させる場合も本発明の範囲内に含む。
【００６９】
処理部１００（プロセッサ）は、入力部１６０からの入力情報やプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
【００７０】
この処理部１００は記憶部２００内の主記憶部２１０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＧＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００７１】
処理部１００は、オブジェクト空間設定部１１０、取得部１１１、捕捉方向特定部１１２，捕捉対象特定部１１３、マーカ配置制御部１１４、移動・動作処理部１１５、ゲーム演算部１１６、画像生成部（描画部）１２０、音処理部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００７２】
オブジェクト空間設定部１１０は、キャラクタ（敵オブジェクト）の他に、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を、オブジェクト空間に配置設定する処理を行う。
【００７３】
ここでオブジェクト空間とは、仮想的な3次元空間である。３次元空間とは、例えば３次元座標（Ｘ，Ｙ，Ｚ）においてオブジェクトが配置される空間である。
【００７４】
例えば、オブジェクト空間設定部１１０は、オブジェクト空間を３次元空間とした場合には、ワールド座標系にオブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）を配置する。また、例えば、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００７５】
取得部１１１は、入力部１６０からの入力情報に基づいて、画像（演算処理用画像）の指示位置（カーソル位置）を取得する処理を行う。例えば、取得部１１１は、入力部１６０からの入力情報に基づいて、表示出力用画像の指示位置を取得する処理を行ってもよい。例えば、取得部１１１は、入力部１６０で検出された指示位置を、画像（演算処理用画像）の指示位置として取得する処理を行う。
【００７６】
捕捉方向特定部１１２は、入力情報に基づき仮想３次元空間内において捕捉点が配置される捕捉方向を特定し、捕捉対象特定部１１３は、捕捉方向に基づき仮想３次元空間の捕捉対象を特定し、マーカ配置制御部１１４は、捕捉対象特定結果に基づき捕捉点の奥行き値を設定し、捕捉点にマーカを配置する。
【００７７】
ここにおいて捕捉対象特定部１１３は、仮想３次元空間において、前記捕捉方向に存在する捕捉対象の有無を判定し、捕捉対象が存在する場合には捕捉対象を特定し、マーカ配置制御部１１４は、捕捉対象が存在する場合には、捕捉対象に対応づけられた奥行き値に基づき捕捉点の奥行き値を決定し、捕捉対象が存在しない場合の捕捉点の奥行き値として、捕捉方向において仮想カメラから最も離れた描画物の奥行き値または予め設定されている所定の奥行き値を設定するよう構成され、捕捉対象が存在する状態から存在しない状態に変化した場合には、捕捉点の奥行き値を補正する奥行き値補正処理を行う。
【００７８】
マーカ配置制御手部１１４は、前記奥行き値補正処理として、捕捉点の奥行き値を所定期間変更しない処理、捕捉点の奥行き値の変化量を制限する処理、捕捉点の奥行き値が前記仮想カメラから最も離れた描画物の奥行き値または予め設定されている所定の奥行き値に瞬時変化しないように補正する処理の少なくとも１つを行ってもよい。
【００７９】
マーカ配置制御部１１４は、捕捉対象が存在する状態から存在しない状態に変化した場合に、捕捉点に配置されるマーカの移動速度が、時間がたつにつれて大きくなるように捕捉点の奥行き値を設定してもよい。
【００８０】
マーカ配置制御部１１４は、仮想３次元空間のオブジェクトの種類や大きさや配置状態、又は所定のパラメータ、又は所与の条件に基づき、奥行き値の設定条件を変化させてもよい。
【００８１】
捕捉対象特定部１１３は、前記捕捉方向の変化履歴に基づき捕捉方向の変化予測を行い、当該変化予測を加味して捕捉対象を特定してもよい。
【００８２】
捕捉対象特定部１１３は、捕捉対象検出処理として、前記捕捉方向に存在するオブジェクを検出し、マーカ配置制御部１１４は、捕捉対象となるオブジェクトが検出された場合には、捕捉対象のオブジェクトに対応づけられた奥行き値に基づき捕捉点の奥行き値を決定してもよい。
【００８３】
捕捉対象特定部１１３は、複数のオブジェクトの集合であるオブジェクト群に対してグループ設定を行い、捕捉対象検出処理として、前記捕捉方向に存在するオブジェク群を検出し、マーカ配置制御部１１４は、捕捉対象となるオブジェクト群が検出された場合には、捕捉対象のオブジェクト群に対応づけられた奥行き値に基づき捕捉点の奥行き値を決定してもよい。
【００８４】
捕捉対象特定手部１１３は、仮想３次元空間のオブジェクト又はオブジェクト群に対して第１のヒットチェック平面又は第１のヒットチェックボリュームを設定し、第１のヒットチェック平面又は第１のヒットチェックボリュームと、捕捉方向に基づきヒットチェックを行い、ヒットチェック結果に基づき捕捉対象となるオブジェクトを判断してもよい。
【００８５】
ゲーム演算部１１６は、種々のゲーム処理を行う。例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、最終ステージをクリアした場合にはエンディングを進行させる処理などがある。
【００８６】
また、ゲーム演算部１１６は、プレーヤキャラクタの所与のパラメータ（体力値）が所定値（０）に達したか否かを判断する処理を行い、プレーヤキャラクタの所与のパラメータ（体力値）が所定値（０）に達した場合に、ゲーム終了と判定する処理を行う。
【００８７】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。画像生成部１２０が生成する画像は、いわゆる平面視画像であってもよいし、立体視画像であってもよい。
【００８８】
いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００８９】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、透視変換（投影変換）、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。
【００９０】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、ピクセルデータ、ボクセルデータなどの画素データ（色（ＲＧＢ）、α値、Ｚ値、輝度等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を生成することができる。
【００９１】
なお、画像生成部１２０は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、３次元の画像を生成する場合には、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。また、画像生成部１２０は、仮想カメラを、予め決められた回転角度で回転させてもよい。この場合には、仮想カメラの位置又は回転角度を特定するための仮想カメラデータに基づ
いて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００９２】
例えば、プレーヤキャラクタの視点（一人称視点）に基づいて画像を生成する処理（いわゆる、ファーストパーソン・シューティングゲームである）を行ってもよいし、第三者の視点（三人称視点）に基づいて画像を生成する処理（いわゆる、サードパーソン・シューティングゲームである）を行ってもよい。また、本実施形態では、仮想カメラの移動、向き、画角はプログラムで制御してもよいし、入力部１６０の入力情報に基づいて仮想カメラの移動、向き、画角を制御してもよい。
【００９３】
例えば仮想カメラによりオブジェクト（例えば、プレーヤキャラクタ）を後方から撮影する場合には、オブジェクトの位置、向きの変化に仮想カメラが追従するように、仮想カメラの位置、仮想カメラの向きを制御する。この場合には、移動・動作処理部１１４で得られたオブジェクトの位置、向き又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた向きに設定し、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は向きを特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００９４】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現してもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００９５】
そして画像生成部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００９６】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、記憶部２００に保存される。
【００９７】
テクスチャマッピングは、記憶部２００に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部２００からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００９８】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００９９】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【０１００】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【０１０１】
なお、本実施形態の画像生成部１２０は、表示出力用画像と、演算処理用画像を生成する処理を行ってもよい。そして、本実施形態の画像生成部１２０は、演算処理用画像を生成する場合には、上記ピクセル処理（ピクセルシェーダによるパーピクセル処理）を行わないように制御しているが、演算処理の必要性に応じて、上記ピクセル処理を行うようにしてもよい。また、演算処理用のＺ値を決定する際には、複数のオブジェクト間の予め決められた奥行き関係に基づいて、Ｚ値を変更するようにしてもよい。
【０１０２】
音処理部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【０１０３】
なお、本実施形態の画像生成装置は、１人のプレーヤのみがプレイできるシングルプレーヤモード用の装置にしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードを備える装置にしてもよい。
【０１０４】
例えば、図２に示すように、マルチプレーヤモードの場合には、プレーヤそれぞれの入力部１６０−１、１６０−２を用意し、各入力部１６０−１、１６０−２が指示する照準位置に基づいて敵キャラクタ等のヒット処理を行う。また、本実施形態では、マルチプレーヤモードの場合には、複数のプレーヤに提供するデータ、表示出力用画像、演算処理用画像、ゲーム音を、１つの画像生成装置を用いて生成している。なお、画像生成装置が他の画像生成装置とネットワークを介して入力情報などのデータを送受信し、受信したデータと入力部１６０からの入力情報とに基づいて、画像生成処理を行うようにしてもよい。
【０１０５】
２．マーカの配置手法
（１）本実施の形態の入力部の一例
本実施形態の画像生成装置は、オブジェクト空間内で弾（特定オブジェクトの一例）を敵キャラクタにヒットさせて攻撃を行うシューティングゲームに関する処理を行うものである。
【０１０６】
図２は、本実施形態における画像生成装置で実現されたゲーム装置の外観図を示す。
【０１０７】
図２は、本実施形態の画像制御装置を適用したゲームシステム１０の外観構成を示す斜視図である。図２に示すように、本実施形態のゲームシステム１０は、画像を表示させるディスプレイ１２と、ディスプレイ１２の表示画面１３の手前側に設けられた台座１４と、台座１４の上面に設けられ、機関銃の形状を模した第１コントローラ１６（第１操作部、第１指示体の一例）および第２コントローラ１８（第２操作部、第２指示体の一例）とを有している。ゲームシステム１０では、一人のプレーヤがゲームをプレイしてもよいし、２人以上のプレーヤ（操作者の一例）が同時にゲームをプレイしてもよい。
【０１０８】
第１コントローラ１６は、台座１４に対して配置位置が固定されつつ、鉛直に設けられた第１軸２０回りに回転可能に、かつ水平に設けられた第２軸２２回りに回転可能に設けられている。そして第１コントローラ１６の後端には、プレーヤが左手で把持する左グリップ２４と、右手で把持する右グリップ２６とが設けられており、プレーヤはこの左グリップ２４と右グリップ２６とを把持して、第１コントローラ１６を第１軸２０回りおよび第２軸２２回りに回転させる操作（位置を指定する操作の一例）を行うことにより、第１コントローラ１６の銃口に相当する先端の向きを任意に変化させる（指示体の指示位置を変化させることの一例）ことができる。ここで第１コントローラ１６の可動範囲は、第１コントローラ１６の先端が表示画面１３の所定の領域を指示（指定の一例）できる範囲となっている。例えば、第１コントローラ１６の可動範囲は、第１コントローラ１６の先端が表示画面１３の全領域を指示できる範囲としてもよいし、表示画面１３の一部の領域を指示できる範囲としてもよい。そして第１コントローラ１６には、第１コントローラ１６の第１軸２０回りの回転量を検出する第１可変抵抗２８と、第１コントローラ１６の第２軸２２回りの回転量を検出する第２可変抵抗３０とが設けられている。
【０１０９】
そしてゲームシステム１０は、第１コントローラ１６の第１可変抵抗２８の検出結果と第２可変抵抗３０の検出結果とに基づいて、第１コントローラ１６の先端が指示する表示画面１３上の位置（画像における位置、表示領域における位置の一例）である第１指示位置３１（第１指定位置の一例）を２次元座標（仮想空間の一例）の座標値（第１情報の一例）として求める。そしてゲームシステム１０は、表示画面１３に表示させる画像において、第１指示位置３１に対応する仮想３次元空間（ゲーム空間）内の位置に、第１コントローラ１６が指示する位置を示す第１マーク３２（第１指定位置表示、第１表示の一例）が配置されている画像を表示させる。
【０１１０】
そしてゲームシステム１０は、表示画面１３に表示させる画像において、標的を示す標的オブジェクト４２（表示物の一例）を移動させながら表示させており、標的オブジェクト４２に第１マーク３２の中心が重なっている状態で第１コントローラ１６の左ボタン３６あるいは右ボタン３８が押下されると、標的オブジェクト４２に第１弾丸オブジェクト４０が命中したと判定する。
【０１１１】
第２コントローラ１８は、第１コントローラ１６と同様に、左グリップ２４、右グリップ２６、第１可変抵抗２８、第２可変抵抗３０、左ボタン３６（第２操作子の一例）、右ボタン３８（第２操作子の一例）を有している。そして、第２コントローラ１８は第１コントローラ１６と接触しないように、台座１４に対して配置位置が固定されつつ、第１軸２０回りおよび第２軸２２回りに回転可能に設けられている。そして、第２コントローラ１８の可動範囲も、第２コントローラ１８の先端が表示画面１３の所定の領域を指示できる範囲となっている。
【０１１２】
そしてゲームシステム１０は、第２コントローラ１８の第１可変抵抗２８の検出結果と第２可変抵抗３０の検出結果とに基づいて、第２コントローラ１８の先端が指示する表示画面１３上の位置である第２指示位置４３（第２指定位置の一例）を２次元座標の座標値（第２情報の一例）として求める。そしてゲームシステム１０は、表示画面１３に表示させる画像において、第２指示位置４３に対応する仮想３次元空間（ゲーム空間）内の位置に、第２コントローラ１８が指示する位置を示す第２マーク４４（第２指定位置表示、第２表示の一例）が配置されている画像を表示させてもよい。
【０１１３】
そして、第２コントローラ１８の左ボタン３６あるいは右ボタン３８をプレーヤが押下すると、第２銃オブジェクト４６の先端から第２マーク４４の中心に向けて、第２銃オブジェクト４６の弾丸を示す第２弾丸オブジェクト４８（第２移動体の一例）を移動させる。
【０１１４】
そしてゲームシステム１０は、標的オブジェクト４２に第２マーク４４の中心が重なっている状態で第２コントローラ１８の左ボタン３６あるいは右ボタン３８が押下されると、標的オブジェクト４２に第２弾丸オブジェクト４８が命中したと判定する。
【０１１５】
このように本実施形態のゲームシステム１０では、第１コントローラ１６および第２コントローラ１８が任意に操作されることにより、第１マーク３２および第２マーク４４が個別に移動するとともに、第１弾丸オブジェクト４０および第２弾丸オブジェクト４８が個別に移動する。そして第１弾丸オブジェクト４０と標的オブジェクト４２とが命中したか否か、および第２弾丸オブジェクト４８と標的オブジェクト４２とが命中したか否かが個別に判定される。
【０１１６】
（２）マーカ画像とマーカの配置
本実施の形態のマーカの配置制御について、マーカが、仮想3次元空間内の標的オブジェクトをシューティングするシューティングゲームの照準である場合を例にとり説明する。
【０１１７】
図３は、本実施の形態のゲーム画像の一例を示す図である。
【０１１８】
図３のゲーム画像３１０−１は、仮想３次元空間を仮想カメラから見た一人称視点のゲーム画像である。仮想カメラは仮想３次元空間のプレーヤキャラクタの位置又はその近傍の所定位置に配置されている。なおゲーム画像は、通常の平面視画像でもよいし、立体視画像でもよい。
【０１１９】
Ｅ１〜Ｅ７は、仮想３次元空間内に存在する標的オブジェクトであり、ここでは仮想３次元空間内で移動動作するオブジェクトの例を示しているが、静止オブジェクトでもよい。
【０１２０】
プレーヤはゲーム画像を見ながら図２に示すようなコントローラを操作することで標的オブジェクトにねらいを定めシューティングを行う。３３０−１はプレーヤがねらいを定めている位置（捕捉点）を示すために表示される照準画像である。捕捉方向に捕捉対象となるオブジェクトが存在する場合には、図３に示すように照準画像３３０−１は捕捉対象となるオブジェクトの手前に表示される。
【０１２１】
図４は、図３のゲーム画像が生成された時の仮想３次元空間内の様子をＹ軸方向から見た図である。本実施の形態では、照準画像３３０−１を生成するために、仮想３次元空間３２０の捕捉点ＣＰに照準に対応した照準オブジェクトＳを配置している。
【０１２２】
照準はプレーヤがねらっている方向（捕捉方向）ＣＬを示すものであるから、照準オブジェクトＳは仮想３次元空間において前記捕捉方向（捕捉ライン）ＣＬのいずれかの位置に配置される。例えば捕捉方向に標的オブジェクトＥ１が存在する場合には、この標的オブジェクトが捕捉対象となり、捕捉点ＣＰが捕捉方向（捕捉ライン）ＣＬにおける標的オブジェクトＥ１の若干手前（同じ位置でもよい）に設定され、照準オブジェクトＳは、捕捉点ＣＰに配置される。
【０１２３】
図５は、本実施の形態のゲーム画像の他の一例であり、図６は、図５のゲーム画像が生成された時の仮想３次元空間内の様子をＹ軸方向から見た図である。図５、図６は、捕捉方向は図３、図４の場合と同じ方向であるが捕捉方向に捕捉対象となる標的オブジェクトが存在しない。このような場合、照準オブジェクトＳを配置する点の奥行き値（ワールド座標系におけるＺ座標）は、例えば捕捉方向において仮想カメラから最も離れた描画物、すなわち背景等の位置や、予め設定されている最奥位置が設定される。従って図３、図４の場合に比べて照準オブジェクトは仮想カメラ３００から遠くに配置されるため、ゲーム画像３１０−２に表示される照準画像３３０−２も小さくなる。
【０１２４】
図７は、本実施の形態のゲーム画像の他の一例であり、図８は、図７のゲーム画像が生成された時の仮想３次元空間内の様子をＹ軸方向から見た図である。図８に示すように捕捉方向（捕捉ライン）ＣＬ上に捕捉対象となる標的オブジェクトＥ３、Ｅ７が存在する。このような場合、照準オブジェクトＳは、捕捉方向においてより手前（奥行き値が仮想カメラ３００に近いほう）の標的オブジェクトＥ３を捕捉対象とする。そして捕捉方向（捕捉ライン）ＣＬにおける標的オブジェクトＥ３の若干手前（同じ位置でもよい）に捕捉点ＣＰを設定し、捕捉点ＣＰに照準オブジェクトＳを配置する。
【０１２５】
（３）捕捉方向（捕捉ライン）
図９（Ａ）〜（Ｃ）は、本実施の形態の捕捉方向の考え方について説明するための図である。図９（Ａ）のＰは、コントローラ（シューティングデバイス）による画像（ゲーム装置のスクリーンＳに表示されている画像）上の指示位置である。この指示位置Ｐは、図２で説明したようにコントローラの出力情報（コントローラの傾きや指示位置を特定可能な出力情報）に基づき特定する。そして、仮想３次元空間内に、スクリーンＳに対応する仮想的なスクリーンＳ’を想定する。図９（Ｂ）（Ｃ）は、仮想３次元空間に仮想的なスクリーンＳ’が配置されている様子を示した図である。仮想的なスクリーンＳ’上の点Ｐ’は、ゲーム装置のスクリーンＳ上の指示位置Ｐに対応する点（例えばスクリーン上のＸ，Ｙ比率が同じ点）である。
【０１２６】
本実施の形態では1人称視点の場合、仮想カメラ３００と点Ｐ’を結ぶ方向（直線）を捕捉方向（捕捉ライン）ＣＬとしている。ここでは捕捉方向（捕捉ライン）ＣＬに標的オブジェクトＥ１１、Ｅ１２が存在する様子を示している。
【０１２７】
なおここでいう仮想カメラとは、プレーヤの左右両眼を想定した場合の中央に位置する仮想的なカメラまたは、銃などを模したコントローラの銃口部分に配置された仮想的なカメラを指す。
【０１２８】
（４）捕捉対象の特定
図２１は、捕捉対象の特定処理について説明するための図である。
【０１２９】
図２１に示すように、仮想３次元空間の標的オブジェクトＥに対して第１のヒットチェックボリュームＨＢ１を設定し、第１のヒットチェックボリュームＨＢ１と、捕捉方向（捕捉ライン）ＣＬに基づきヒットチェックを行い、ヒットチェック結果に基づき捕捉対象となるオブジェクトを判断してもよい。
【０１３０】
また前記捕捉方向（捕捉ライン）ＣＬに基づき設定した第２のヒットチェックボリュームＨＢ２と、前記第１のヒットチェックボリュームＨＢ１とのヒットチェック（交差判定）を行い、判定結果に基づき、捕捉対象となるオブジェクトを判定してもよい。
【０１３１】
また仮想３次元空間の標的オブジェクトＥに対して第１のヒットチェック平面を設定し、第１のヒットチェック平面と、捕捉方向に基づきヒットチェックを行い、ヒットチェック結果に基づき捕捉対象となるオブジェクトを判断してもよい。
【０１３２】
例えばレンダリングヒットという手法を採用して、第１のヒットチェック平面に基づき、ヒット判定用画像を生成し、前記捕捉方向に基づきスクリーン平面上の指示位置を判定し、ヒット判定用画像における当該指示位置の対応位置を含む判定エリアに存在する画素の画素値に基づき捕捉対象となるオブジェクトを判定してもよい。
【０１３３】
レンダリングヒットとは、複数のオブジェクトそれぞれを識別する画素データに基づいて、当該複数のオブジェクトを含む画像を生成する処理を行い、入力部からの入力情報に基づいて、前記画像の指示位置を取得し、前記指示位置に対応する画素の画素データに基づいて、当該画素が示すオブジェクトを決定する技術である。以下その具体的な手法について説明する。
【０１３４】
レンダリングヒットでは、表示部１９０に表示させる表示出力用画像Ｄを生成すると共に、演算処理用画像Ｅ（Ｅ１〜Ｅ３）を生成し、演算処理用画像Ｅに基づいてヒット処理を行う。
【０１３５】
つまり、弾オブジェクト以外のオブジェクトであって、オブジェクト空間に存在する敵オブジェクト、背景オブジェクトなどの複数のオブジェクトを色分けした演算処理用画像Ｅを生成する。そして、演算処理用画像Ｅにおいて、指示位置（照準位置）に対応する所定範囲内のピクセルを選択し、選択されたピクセルの色が敵オブジェクトを示す色である場合に、敵オブジェクトにヒットしたと判定する処理を行っている。このようにすれば、３次元のオブジェクト空間内で、弾の軌跡（レイ）と、オブジェクトとのヒット処理を行う従来の手法に比べて処理負荷を軽減することができる。
【０１３６】
表示出力用画像Ｄと、演算処理用画像Ｅ１（ヒット処理用画像Ｅ１）とを生成する手法について説明する。つまり、本実施形態では、フレーム毎に（例えば、１／６０秒単位で）、図２６（Ａ）に示す表示出力用画像Ｄと、図２６（Ｂ）に示す演算処理用画像Ｅ１とを生成する処理を行う。
【０１３７】
図２７（Ａ）（Ｂ）は、敵オブジェクトＯＢ１のオブジェクトデータ（モデルデータ）を図示したものである。図２７（Ａ）は、表示出力用画像Ｄで用いられる敵オブジェクトＯＢ１−１のオブジェクトデータを図示したものである。一方、図２７（Ｂ）は、演算処理用画像Ｅ１で用いられる敵オブジェクトＥＯＢ１−２のオブジェクトデータを図示したものである。つまり、演算処理用画像Ｅ１で用いられるオブジェクト（モデル）は、当該オブジェクトの頂点数が表示出力用画像Ｄで用いられるオブジェクトの頂点数よりも少ない簡略オブジェクトである。例えば、本実施形態では、表示出力用画像Ｄを生成する際には、敵オブジェクトＯＢ１−１を用いて生成する処理を行う。一方、演算処理用画像Ｅ１を描画する際には、表示出力用画像Ｄで用いられる敵オブジェクトＯＢ１−１に替えて、敵オブジェクトＯＢ１−１の頂点数を減らした敵オブジェクトＯＢ１−２を用いて描画する処理を行っている。この理由は、演算処理用画像Ｅ１は、ヒット処理に関する処理を行うために用いられる画像であるので、ヒット処理の処理負荷の軽減や効率性を考えると、表示出力用画像Ｄで用いられるオブジェクトよりも頂点数を減らした簡易なオブジェクトを用いる方が適しているからである。
【０１３８】
ところで、演算処理用画像Ｅ１を生成する際には、各オブジェクトの頂点データの（Ｒ，Ｇ，Ｂ，Ａ）を、そのオブジェクトを特定できる（識別可能な）（Ｒ，Ｇ，Ｂ，Ａ）に決定する。さらに、複数の部位で構成されるオブジェクトについては、オブジェクトを構成する部位を特定できる（識別可能な）（Ｒ，Ｇ，Ｂ，Ａ）に決定する。そして、決定されたオブジェクトの頂点データの（Ｒ，Ｇ，Ｂ，Ａ）に基づいて、演算処理用画像Ｅ１を生成する処理を行っている。
【０１３９】
つまり、本実施形態では、演算処理用画像Ｅ１を生成する場合には、複数のオブジェクト単位で色分けし、さらに、オブジェクトの部位単位で色分けする処理を行っている。
【０１４０】
例えば、図２８（Ａ）に示すように、各オブジェクトを識別するＩＤを、Ｒ値、Ｇ値で決定し、オブジェクトの部位をＢ値で決定し、ヒットタイプをＡ値で決定する。なお、このヒットタイプは、複数のオブジェクトを、グループ化したものであり、例えば、「キャラクタ」というグループ、「背景」というグループ、「キャラクタ、背景以外のオブジェクト」という３種のグループに分けることができる。
【０１４１】
例えば、図２８（Ｂ）に示すように、敵キャラクタＯＢ１−２の頭部オブジェクトは、ＩＤ＝１、部位＝１、ヒットタイプ＝１であるので、敵キャラクタＯＢ１−２の頭部オブジェクトＦ１の頂点データの（Ｒ，Ｇ，Ｂ，Ａ）は（１，１，１，１）と決定される。
【０１４２】
以上のように、オブジェクト単位で（Ｒ，Ｇ，Ｂ，Ａ）を決定し、さらに、オブジェクトが複数の部位で構成されている場合には、部位単位での（Ｒ，Ｇ，Ｂ，Ａ）が決定される。そして、決定された（Ｒ，Ｇ，Ｂ，Ａ）に基づいて演算処理用画像Ｅ１を生成する。
【０１４３】
つまり、表示出力用画像Ｄ、演算処理用画像Ｅ１とが次のように生成される。まず、ワールド座標系（３次元のオブジェクト空間）に、表示出力用のオブジェクト（例えば、ＯＢ１−１）を配置させ、仮想カメラを用いて、表示出力用画像Ｄを描画する処理を行う。同様に、ワールド座標系に、演算処理用のオブジェクト（例えば、ＯＢ１−２）を配置させ、仮想カメラを用いて、演算処理用画像Ｅ１を描画する処理を行う。本実施形態では、同一の仮想カメラの位置、向き、画角に基づいて、表示出力用画像Ｄと、演算処理用画像Ｅ１とを生成する処理を行う。
【０１４４】
なお、演算処理用画像Ｅ１を生成する際には、表示出力用画像Ｄよりも画角を広げて描画するようにしてもよい。このようにすれば、広範囲でのヒット判定を行うことができる。
【０１４５】
また、演算処理用画像Ｅ１を生成する際には、攻撃側のオブジェクトである弾オブジェクト（特定オブジェクト）を含まないように、画像を生成する処理を行う。なぜなら、弾オブジェクトが、弾オブジェクト以外のオブジェクトに対してヒットしたか否かを判定する必要があるからである。
【０１４６】
そして、表示出力用画像Ｄを生成する際には、頂点処理後のピクセル処理を行う。一方、演算処理用画像Ｅ１を生成する際には、頂点処理後のピクセル処理は行わないようにし、オブジェクト単位（部位オブジェクト単位）での色分けを保つようにしている。つまり、演算処理用画像のオブジェクト単位（部位オブジェクト単位）でのポリゴンの頂点色は全て同一であり、オブジェクト単位でのポリゴンの色が一様になるように制御している。なぜなら、ピクセル処理によってピクセル単位で色が変更されてしまうと、正確なヒット判定処理を行うことができなくなるからである。
【０１４７】
なお、図２９（Ａ）に示すように表示出力用画像Ｄが画像バッファ２２１に描画され、図２９（Ｂ）に示すように、演算処理用画像Ｅ１が演算処理用の画像バッファ２３１に描画される。本実施形態では、演算処理用の画像バッファ２３１（２３２、２３３も同様）は、縮小用バッファ（１／８フレームバッファ）であるので、演算処理用画像Ｅの解像度は、表示出力用画像Ｄの解像度よりも低くなる。しかし、演算処理用画像は、プレーヤが違和感を覚えない程度のヒット処理が可能であるので問題は生じない。また、縮小用バッファを用いれば、演算処理用画像Ｅを生成するため描画処理（ＧＰＵの処理負荷）を軽減することができるメリットがある。
【０１４８】
また、図２９（Ａ）に示すＺバッファ２２２は、表示出力用画像Ｄの各画素のＺ値（奥行き値、深度値）を格納し、また、図２９（Ｂ）に示すＺバッファ２３３は、演算処理用画像Ｅ１の各画素のＺ値を格納する。
【０１４９】
また、図２６（Ａ）に示すように、表示出力用画像Ｄに入力部１６０によって指示される指示位置Ｐに、照準（指示マーカーの一例）Ｍを描画する処理を行っている。つまり、プレーヤは、表示出力用画像Ｄを見ながら、シューティング対象に対する狙いを定めて、照準Ｍを制御する入力操作を行うことになる。一方、図２６（Ｂ）に示すように、演算処理用画像Ｅ１では、照準Ｍは描画されない。ヒット処理に影響を及ぼしてしまうからである。
【０１５０】
なお、図２７（Ａ）に示すモデルデータを構成するオブジェクトの各頂点の頂点データ（Ｒ，Ｇ，Ｂ，Ａ）が、図２８（Ｂ）に示すように予め定義された（Ｒ，Ｇ，Ｂ，Ａ）の情報（或いは一部の情報）を含むように定義してもよい。
【０１５１】
このようにして表示出力用画像Ｄと、演算処理用画像Ｅ１を生成している。
【０１５２】
次に、ヒット処理について説明する。演算処理用画像Ｅ１において、指示位置Ｑに基づくヒットエリア（所定範囲）Ｎにおいて、１又は複数の画素を選択（抽出）する処理を行い、選択された画素の色情報又は半透明情報（Ｒ，Ｇ，Ｂ，Ａ）に基づいて、弾オブジェクトが所与のオブジェクトにヒットしたか否かを判定する処理を行っている。
【０１５３】
例えば、図３０（Ａ）（Ｂ）に示すように、入力部１６０からの入力情報に基づいて、表示出力用画像Ｄにおける指示位置Ｐと、演算処理用画像Ｅ１における、指示位置Ｐに対応する指示位置Ｑを取得する。なお、表示出力用画像Ｄ上の指示位置Ｐを、演算処理用画像Ｅ１上の指示位置Ｑに変換する処理を行って求めてもよい。例えば、演算処理用画像Ｅ１の大きさは表示出力用画像Ｄの１／８の大きさであるので、大きさの比率に基づいて指示位置Ｑを求めることができる。
【０１５４】
また、図３１（Ａ）〜（Ｃ）に示すように、演算処理用画像Ｅ１において、指示位置Ｑを中心とするヒットエリアＮにおいて複数の画素を選択する。例えば、図３１（Ａ）に示すように、所定間隔で画素を選択するようにしてもよい。また、図３１（Ｂ）に示すように、ヒットエリアＮにおいて、所定数の画素をランダムに選択するようにしてもよい。
【０１５５】
なお、照準Ｍの形状及び大きさの少なくとも１つに基づいてヒットエリアＮを設定している。したがって、表示出力用画像Ｄにおいてプレーヤが狙いを定めた照準Ｍの形状の大きさに対応したオブジェクトに対して、ヒットさせるように制御することができる。
【０１５６】
例えば、図３０（Ａ）に示すように、円形の照準Ｍである場合には、ヒットエリアＮを円形にしている。
【０１５７】
また、表示出力用画像Ｄで表示される照準Ｍの形状が菱形である場合には、図３１（Ｃ）に示すように、ヒットエリアＮを菱形にする。かかる場合には、演算処理用画像Ｅ１において指示位置Ｑの画素と、菱形の頂点（頂点付近）の画素とを選択するようにしてもよい。
【０１５８】
そして、本実施形態では、ヒットエリア内から画素が選択されると、画素の（Ｒ，Ｇ，Ｂ，Ａ）（画素データの一例）に基づいて、弾オブジェクトと、所与のオブジェクトとのヒット判定を行う。
【０１５９】
例えば、図３１（Ａ）に示すように、選択した画素Ｋ１〜Ｋ９であるとすると、各画素Ｋ１〜Ｋ９それぞれの（Ｒ，Ｇ，Ｂ，Ａ）に基づいて特定したオブジェクトにヒットしたと判定する。また、ヒットしたと判定されたオブジェクトのヒット部位を、各画素Ｋ１〜Ｋ９それぞれの（Ｒ，Ｇ，Ｂ，Ａ）に基づいて判定する。
【０１６０】
例えば、画素Ｋ１の色情報（Ｒ，Ｇ）＝（１，１）であるとすると、図２８（Ｂ）に示すように、色情報（Ｒ，Ｇ）＝（１，１）は、ＩＤ＝１のオブジェクトであるので、敵オブジェクトＯＢ１であると決定することができる。つまり、画素Ｋ１の色情報に基づいて、画素Ｋ１が示すオブジェクトが敵オブジェクトＯＢ１であると決定することができる。そして、本実施形態では、弾オブジェクトが決定された敵オブジェクトＯＢ１にヒットしたと判定する。また、図２８（Ｂ）に示すように、画素Ｋ１の色情報Ｂ値＝１である場合には、頭部Ｆ１であると決定することができる。つまり、画素Ｋ１の色情報に基づいて、画素Ｋ１が示すオブジェクトが敵オブジェクトＯＢ１の頭部Ｆ１であると決定できる。したがって、本実施形態では、弾オブジェクトが敵オブジェクトＯＢ１の頭部Ｆ１にヒットしたと判定する。つまり、画素Ｋ１の色情報及び半透明情報（Ｒ，Ｇ，Ｂ，Ａ）が（１，１，１，１）である場合には、図２８（Ｂ）に示すように、弾が敵オブジェクトＯＢ１の頭部Ｆ１にヒットしたと判定する処理を行う。
【０１６１】
なお、Ｚバッファ２３３の画素Ｋ１〜Ｋ９それぞれの奥行き値を参照し、ヒットタイプ毎に、最も投影面に近い（最も視点に対して手前にある）オブジェクトに対してヒットしたと判定してもよい。
【０１６２】
例えば、画素Ｋ１〜Ｋ９の半透明情報Ａに基づいて、画素Ｋ１〜Ｋ９をヒットタイプ毎に分類する。例えば、「キャラクタ」のヒットタイプ（Ａ＝１）の画素が、Ｋ１、Ｋ２である場合には、画素Ｋ１と、画素Ｋ２との奥行き値を参照し、仮想カメラに対して手前にある画素が画素Ｋ１である場合には、画素Ｋ１の（Ｒ，Ｇ，Ｂ，Ａ）で決定されるキャラクタにヒットしたと判定する。同様に、背景のヒットタイプ（Ａ＝２）、他のオブジェクトのヒットタイプ（Ａ＝３）について、いずれのオブジェクトにヒットしたのかを判定する。
【０１６３】
また、入力部１６０の引き金が引かれたタイミングで（攻撃入力情報を検出したタイミングで）、ヒット判定処理を行っている。つまり、引き金が引かれるタイミングで、オブジェクト空間において、弾がオブジェクトにヒットしたものとみなしている。
【０１６４】
そして、選択した画素の（Ｒ，Ｇ，Ｂ，Ａ）が示すオブジェクトが敵オブジェクトである場合には、敵オブジェクトに応じた所与の演算処理を行う。例えば、敵オブジェクトがヒット攻撃を受けるヒット処理を行う。より具体的には、敵オブジェクトの体力値などのパラメータを制御する処理（例えば減算処理）や、敵オブジェクトが攻撃を受けるエフェクト処理（攻撃を受ける動作処理）を行う。また、弾オブジェクトを敵オブジェクトにヒットさせる表示出力用画像を生成する処理を行う。なお、敵オブジェクトをヒットさせることによって、プレーヤキャラクタの得点を加算するなどの処理を行う。
【０１６５】
以上のように、レンダリングヒット処理によれば、広範囲におけるヒット判定の負荷を軽減することができる。レンダリングヒット処理では、３次元空間内で、弾と各オブジェクトとのヒット判定を行わずに、選択された画素の（Ｒ，Ｇ，Ｂ，Ａ）に基づいて、弾とオブジェクトとのヒット判定処理を行うことができる。したがって、本実施形態の手法によれば、３次元の演算処理が不要になるので、従来よりも処理負荷が軽減されるという効果がある。
【０１６６】
なお、オブジェクト空間内に弾オブジェクトを存在させずに、ヒット処理を行うようにしてもよい。つまり、演算処理用画像において選択された画素の（Ｒ，Ｇ，Ｂ，Ａ）に基づいて、弾オブジェクトが所与のオブジェクトにヒットしたとみなしてヒット判定処理を行ってもよい。
【０１６７】
（５）通常制御
図１０は捕捉対象が同じである場合の照準（マーカ）の奥行き値の制御である通常制御について説明するための図である。仮想３次元空間における標的オブジェクトＥ２０が経路３６０で移動する場合を例にとり説明する。ＥＰ−ｔ１、ＥＰ−ｔ２、ＥＰ−ｔ３、ＥＰ−ｔ４、ＥＰ−ｔ５は、時刻ｔ１、ｔ２、ｔ３、ｔ４、ｔ５に対応する各フレームにおける標的オブジェクトの位置を示している。このような場合、プレーヤが標的オブジェクトＥ２０に狙いを定め、標的オブジェクトの移動に合わせてコントーラの指示位置を移動させた場合には、照準オブジェクトＳが配置される捕捉点の時刻ｔ１、ｔ２、ｔ３、ｔ４、ｔ５における位置ＣＰ−ｔ１、ＣＰ−ｔ２、ＣＰ−ｔ３、ＣＰ−ｔ４、ＣＰ−ｔ５の奥行き成分（例えばＺ座標）は、時刻ｔ１、ｔ２、ｔ３、ｔ４、ｔ５における標的オブジェクトＥ２０の位置ＥＰ−ｔ１、ＥＰ−ｔ２、ＥＰ−ｔ３、ＥＰ−ｔ４、ＥＰ−ｔ５の奥行き成分（例えばＺ座標）に応じて変化する。
【０１６８】
すなわち、捕捉対象が同じである場合（通常制御時）には、捕捉対象の奥行き値に対応する位置（例えば捕捉対象の奥行き値と同じ位置やΔＺだけ仮想カメラに近い位置）に瞬時に位置づけられる。従って通常制御時は、捕捉点の奥行き値の変化度合いは、捕捉対象の奥行き値の変化度合い（例えば奥行き方向の移動速度）と同じとなり、奥行き値の変化値（例えば奥行き方向の移動距離）も捕捉対象の奥行き値の変化値と同じになる。
【０１６９】
図１１は、捕捉対象が存在する状態から存在しない状態に変化した場合に通常制御を行うことによる問題点について説明するための図である。なおここでは、話を簡単にするために標的オブジェクトが移動せずに、捕捉方向を変化させる場合について説明する。
【０１７０】
例えば仮想３次元空間に標的オブジェクトＥ３１、Ｅ３２が存在し、時刻ｔ１において捕捉方向（捕捉ライン）に標的オブジェクトＥ３１が存在すると、時刻ｔ１においては、照準オブジェクトＳが配置される捕捉点は、捕捉対象である標的オブジェクトＥ３１と若干手前（同じ位置でもよい）に設定される。
【０１７１】
その後時刻ｔ２、ｔ３、ｔ４、ｔ５において捕捉方向（捕捉ライン）がＣＬ−ｔ２、ＣＬ−ｔ３、ＣＬ−ｔ４、ＣＬ−ｔ５と変化した場合、時刻ｔ２、ｔ３、ｔ４には捕捉方向（捕捉ライン）ＣＬ−ｔ２、ＣＬ−ｔ３、ＣＬ−ｔ４に捕捉対象となるオブジェクトが存在しないため、照準オブジェクＳが設定される捕捉点は、捕捉方向（捕捉ライン）ＣＬ−ｔ２、ＣＬ−ｔ３、ＣＬ−ｔ４において、奥行き値が捕捉方向において仮想カメラから最も離れた描画物、すなわち背景等の位置や、予め設定されている最奥位置（以下「最奥位置」という）である捕捉点ＣＰ−ｔ２、ＣＰ−ｔ３、ＣＰ−ｔ４に設定される。
【０１７２】
その後時刻ｔ５において捕捉方向（捕捉ライン）ＣＬ−ｔ５に捕捉対象となる標的オブジェクトＥ３２が存在する状態になると、照準オブジェクトＳが配置される捕捉点ＣＰ−ｔ５は、標的オブジェクトＥ３２の若干手前（同じ位置でもよい）（捕捉点ＣＰ−ｔ５）に配置される。
【０１７３】
この様に捕捉方向に捕捉対象が存在する状態から存在しない状態に変化した場合（捕捉対象をロストした場合、時刻ｔ１〜時刻ｔ２）、照準オブジェクトＳの設定される捕捉点の奥行き値が急速に変化するため、照準が仮想３次元空間後方まで一気に移動してしまい、プレーヤは照準位置の把握が難しくなる。例えばプレーヤが捕捉対象を標的オブジェクトＥ３１から標的オブジェクトＥ３２に変更するためにコントローラ（シューティングデバイス）の向きを変化させる場合や、捕捉方向が変化せずに標的オブジェクトが移動することにより捕捉対象をロストする場合や、捕捉対象がシューティング等で消滅した場合にも同様の事態（奥行き値が後方に急激に変化する自体）が発生する。
【０１７４】
（６）捕捉点の奥行き値を所定期間変化させない制御
捕捉方向に捕捉対象が存在する状態から存在しない状態に変化した場合（捕捉対象をロストした場合）の捕捉点の奥行き値の制御の一例として、捕捉点の奥行き値を所定期間変化させない制御について説明する。
【０１７５】
図１２に、捕捉方向が変化することにより捕捉対象をロストする場合に奥行き値を所定期間変化させない制御例を示す。図１２に示すように時刻ｔ１において捕捉方向ＣＬ−ｔ１に捕捉対象である標的オブジェクトＥ３１が存在し、時刻ｔ２において、捕捉方向ＣＬ−ｔ２に捕捉対象である標的オブジェクトが存在しない状態に変化する。
【０１７６】
このような場合、照準の急激な後方移動を回避するために、照準オブジェクトＳが配置される捕捉点の奥行き値を所定時間変更しないようにしてもよい。
【０１７７】
たとえば捕捉対象が存在しない状態に変化してからｋ１フレーム間は、捕捉点の奥行き値を変更しないようにしてもよい。ここでｔ５−ｔ２＜ｋ１とするとｔ２からｔ４の間は捕捉点の奥行き値は変更されないため、時刻ｔ２〜ｔ４においては捕捉点ＣＰ−ｔ２〜ＣＰ−ｔ４は、捕捉方向（捕捉ライン）ＣＬ−ｔ２〜ＣＬ−ｔ４上であって奥行き値が時刻ｔ１の捕捉点ＣＰ−ｔ１と同じ位置に配置される。そして時刻ｔ５においては、捕捉対象が存在しない状態から捕捉対象が存在する状態に変化するため、捕捉点ＣＰ−ｔ５の奥行き値は、捕捉対象の標的オブジェクトＥ３２の若干手前（同じ位置でもよい）に瞬時に変化するようにしてもよい。
【０１７８】
この様にすると捕捉方向が変化して捕捉対象をロストしても、捕捉点の奥行き値は変化しないので、照準が急激に後退する状況を発生させることなく、近くにいる別の標的オブジェクトにスムーズに照準を移動させることができる。
【０１７９】
なお捕捉方向は変化しないが捕捉対象が移動することにより捕捉対象をロストした場合や、捕捉方向及び捕捉対象が両方移動することにより、捕捉対象をロストする場合にも同様の制御が有効である。またシューティング等により標的オブジェクトが消滅することにより捕捉対象をロストした場合も同様の制御が有効である。
【０１８０】
図１３に、捕捉対象が消滅することにより捕捉対象をロストした場合に奥行き値を所定期間変化させない制御例を示す。
【０１８１】
図１３に示すように時刻ｔ０において捕捉方向ＣＬ−ｔ０に捕捉対象である標的オブジェクトＥ３１が存在していたが、時刻ｔ１において、シューティング等により標的オブジェクトが消滅することにより、捕捉方向ＣＬ−ｔ１に捕捉対象である標的オブジェクトが存在しない状態に変化する。この様な場合の照準の急激な後方移動を回避するために、図１２の場合と同様に、照準の奥行き値を所定時間変更しないようにしてもよい。
【０１８２】
たとえば捕捉対象が存在しない状態に変化してからｋ１フレーム間は、捕捉点の奥行き値を変更しないようにしてもよい。ここでｔ５−ｔ１＜ｋ１とするとｔ１からｔ４の間は捕捉点の奥行き値は変更されないため、時刻ｔ１〜ｔ４においては捕捉点ＣＰ−ｔ１〜ＣＰ−ｔ４は、捕捉方向（捕捉ライン）ＣＬ−ｔ１〜ＣＬ−ｔ４上であって奥行き値が時刻ｔ０の捕捉点ＣＰ−ｔ０と同じ位置に配置される。そして時刻ｔ５においては、捕捉対象が存在しない状態から捕捉対象が存在する状態に変化するため、捕捉点ＣＰ−ｔ５の奥行き値は、捕捉対象の標的オブジェクトＥ３２の若干手前（同じ位置でもよい）に瞬時に変化するようにしてもよい。
【０１８３】
なおここでは捕捉方向が時間とともに変化している場合を例にとり説明したが、捕捉対象が消滅して、しばらく捕捉方向が変化しない場合も同様である。このような場合はしばらくの間は、捕捉点は変化せず同じ位置（捕捉方向が変化せずに、奥行き値も変化しないため同じ位置となる）となり、照準位置は変化しないことになる。
【０１８４】
この様にすると捕捉対象が消滅しても、捕捉点の奥行き値は変化しないので、照準が急激に後退する状況を発生させることなく、近くにいる別の標的オブジェクトにスムーズに照準を移動させることができる。
【０１８５】
なおここでは捕捉点の奥行き値を所定期間変化させない場合を例にとり説明したが、例えば、捕捉点の奥行き値を所定期間あいだは、少しだけ変化させて、所定期間が過ぎるとその方向における最奥位置に変化させるようにしてもよい。
【０１８６】
図１４に、捕捉対象をロストした場合に、捕捉点の奥行き値を所定期間の間は少しだけ変化させ、所定期間が過ぎると最大設定値に変化させる制御例を示す。ここでは捕捉方向を変化させることにより捕捉対象をロストした場合について説明する。
【０１８７】
図１４に示すように時刻ｔ１において捕捉方向ＣＬ−ｔ１に捕捉対象である標的オブジェクトＥ３１が存在し、時刻ｔ２において、捕捉方向ＣＬ−ｔ２に捕捉対象である標的オブジェクトが存在しない状態に変化する。この様な場合照準の急激な後方移動を回避するために、捕捉点の奥行き値を所定期間の間は通常よりも小さく変化させ、所定期間ｋ２が過ぎると最大設定値に変化させるようにしてもよい。
【０１８８】
たとえば捕捉対象が存在しない状態に変化してからｋ２フレーム間は、捕捉点の奥行き値を変更しないようにしてもよい。ここでｔ３−ｔ１＜ｋ２とするとｔ１からｔ３の間は捕捉点の奥行き値は少しだけ変化した位置（第２の変化値ｌ２だけ後退させた位置）に置かれるため、時刻ｔ２〜ｔ３においては捕捉点ＣＰ−ｔ２〜ＣＰ−ｔ３は、捕捉方向（捕捉ライン）ＣＬ−ｔ２〜ＣＬ−ｔ３上であって奥行き値が時刻ｔ１の捕捉点ＣＰ−ｔ０の奥行き値ｚ（ｔ１）から変化値ｌ２だけ後退した位置ｚ（ｔ１）＋ｌ２に配置される。ｔ４−ｔ１＞ｋ２とすると時刻ｔ４で捕捉点ＣＰ−ｔ４の奥行き値は最大設定値に変化する。
【０１８９】
そして時刻ｔ５においては、捕捉対象が存在しない状態から捕捉対象が存在する状態に変化するため、捕捉点ＣＰ−ｔ５の奥行き値は、捕捉対象の標的オブジェクトＥ３２の若干手前（同じ位置でもよい）に瞬時に変化するようにしてもよい。
【０１９０】
この様にすると捕捉対象をロストしても、捕捉点の奥行き値は変化しないので、照準が急激に後退する状況を発生させることなく、近くにいる別の標的オブジェクトにスムーズに照準を移動させることができる。
【０１９１】
なお所定期間ｋ１、ｋ２の長さは適宜設定することができる。例えば仮想３次元空間のオブジェクトの種類や大きさや配置状態（数、密度、分布の状態）、又は所定のパラメータ（敵の数、難易度、命中率、体力、ステージ等）、又はプレーヤが行う操作入力の変化（照準箇所の変更が激しい場合等）等の所与の条件に基づき、奥行き値の設定条件（例えば、変化させない時間や変化速度等）の一つである所定期間ｋ１、ｋ２の長さを変化させてもよい。
【０１９２】
（７）捕捉点の奥行き方向の移動速度を変更する制御
捕捉方向に捕捉対象が存在する状態から存在しない状態に変化した場合（捕捉対象をロストした場合）の捕捉点の奥行き値の一例として、捕捉点の奥行き方向の移動速度を変更する制御について説明する。
【０１９３】
図１５に捕捉方向を変化させることにより捕捉対象をロストした場合の速度変化の制御例を示す。
【０１９４】
図１５に示すように時刻ｔ１において捕捉方向ＣＬ−ｔ１に捕捉対象である標的オブジェクトＥ３１が存在し、時刻ｔ２において、捕捉方向ＣＬ−ｔ２に捕捉対象である標的オブジェクトが存在しない状態に変化する。この様な場合、照準の急激な後方移動を回避するために、照準の奥行き方向の移動速度を変更する処理をおこなうようにしてもよい。照準の奥行き方向の移動速度を変更する処理は、例えば照準の奥行き方向の移動時間を長く設定するようにしてもよいし、１フレームあたりの変化値ｌ４を奥行き方向の最大設定値より充分に小さな値に設定しておくことにより実現するようにしてもよい。
【０１９５】
たとえば１フレームあたりの変化値ｌ４を設定し、捕捉対象がロストすることにより奥行き値が最奥位置になる場合には、奥行き値を１フレームで最奥位置に変化（瞬時変化）させずに、所定フレームの間、変化値ｌ４だけ奥行き値を奥行き方向（仮想カメラから離れる方向）に変化させるようにしてもよい。
【０１９６】
すなわち時刻ｔ２から、新たな捕捉対象に狙いが定まる前である時刻ｔ４の間は捕捉点の奥行き値を変化値ｌ２だけ奥行き方向に変化させてもよい。この様にすると、時刻ｔ１の捕捉点ＣＰ−ｔ１の奥行き値をｚ（ｔ１）とすると、時刻ｔ２の捕捉点ＣＰ−ｔ２の奥行き値ｚ（ｔ２）はｚ（ｔ１）＋ｌ２となり、時刻ｔ３の捕捉点ＣＰ−ｔ３の奥行き値ｚ（ｔ３）はｚ（ｔ２）＋ｌ２となり、時刻ｔ４の捕捉点ＣＰ−ｔ４の奥行き値ｚ（ｔ４）はｚ（ｔ３）＋ｌ２となる。そして時刻ｔ５においては、捕捉対象が存在しない状態から捕捉対象が存在する状態に変化するため、捕捉点ＣＰ−ｔ５の奥行き値は、捕捉対象の標的オブジェクトＥ３２の若干手前（同じ位置でもよい）に瞬時に変化するようにしてもよい。
【０１９７】
この様にすると、捕捉点の奥行き値は少しずつ後退するので、あたかも照準の移動速度が遅くなったような効果を与える。従って捕捉対象をロストしても、捕捉点の奥行き値は急激に変化しないので、照準が急激に後退する状況を発生させることなく、近くにいる別の標的オブジェクトにスムーズに照準を移動させることができる。
【０１９８】
なお捕捉方向は変化しないが捕捉対象が移動することにより捕捉対象をロストした場合や、捕捉方向及び捕捉対象が両方移動することにより、捕捉対象をロストする場合にも同様の制御が有効である。
【０１９９】
次に捕捉対象をロストした場合に照準の奥行き方向への移動速度が、時間がたつにつれて大きくなるように捕捉点の奥行き値を設定する制御について説明する。
【０２００】
図１６に、捕捉方向を変化させることにより捕捉対象をロストした場合の速度変化の制御例（時間とともに移動速度を変化させる場合）を示す。
【０２０１】
図１６に示すように時刻ｔ１において捕捉方向ＣＬ−ｔ１に捕捉対象である標的オブジェクトＥ３１が存在し、時刻ｔ２において、捕捉方向ＣＬ−ｔ２に捕捉対象である標的オブジェクトが存在しない状態に変化し、しばらく捕捉対象が存在しない状態が続くとする。この様な場合、照準の急激な後方移動を回避するために、照準の奥行き方向の移動速度を時間がたつにつれて大きくなるように変化させる処理をおこなうようにしてもよい。
【０２０２】
たとえば１フレームあたりの基準変化値ｌ３を設定し、捕捉対象がロストすることにより奥行き値が最奥位置になる場合には、奥行き値を１フレームで最奥位置に変化（瞬時変化）させずに、複数フレームの間、基準変化値ｌ３×ｎ（ｎは経過フレーム数）だけ奥行き値を奥行き方向（仮想カメラから離れる方向）に変化させるようにしてもよい。
【０２０３】
この様にすると、時刻ｔ１の捕捉点ＣＰ−ｔ１の奥行き値をｚ（ｔ１）とすると、時刻ｔ２の捕捉点ＣＰ−ｔ２の奥行き値はｚ（ｔ２）ｚ（ｔ１）＋ｌ３となり、時刻ｔ３の捕捉点ＣＰ−ｔ３の奥行き値ｚ（ｔ３）はｚ（ｔ２）＋ｌ３×２となり、時刻ｔ４の捕捉点ＣＰ−ｔ４の奥行き値ｚ（ｔ４）はｚ（ｔ３）＋ｌ３×３となり、時刻ｔ５の捕捉点ＣＰ−ｔ５の奥行き値ｚ（ｔ５）はｚ（ｔ５）＋ｌ３×４となる。
【０２０４】
この様にすると、捕捉点の奥行き値は時間が立つにつれて後退速度が速くなるような視覚効果を与える。従って捕捉対象をロストしても、捕捉点の奥行き値は瞬時に変化せずに時間がたつにつれて変化がおおきくなるので、プレーヤの目がなれて違和感を覚えない照準画像を提供することができる。
【０２０５】
（８）オブジェクト群単位で捕捉対象に設定する処理
図１７（Ａ）（Ｂ）はゲーム画像の一例を示す図である。
【０２０６】
図１７（Ａ）は、仮想３次元空間を多数の標的オブジェクトが群れをなして移動している様子示す画像であり、図１７（Ｂ）は、標的オブジェクトが個別に移動している様子を示す画像である。図１７（Ａ）のような場面では、プレーヤは多数のオブジェクトを次々にシューティングするため、シューティングにより標的オブジェクトが消失する度に照準が仮想３次元空間後方まで移動すると、周りに多数の標的オブジェクトがいるにもかかわらず照準画像が奥方向に移動するので、見にくくシューティングしづらいゲーム画像となってしまう。図１７（Ａ）のような場面では、群れをねらっている間は、照準が位置する標的オブジェクトを消滅させても、照準位置は後退しないほうが、プレーヤに取ってシューティングしやすいゲーム画像となる。
【０２０７】
そこで、複数の標的オブジェクトＥ２１、Ｅ２２、Ｅ２３、Ｅ２４、・・の集合であるオブジェクト群４１０に対してグループ設定をおこない、オブジェクト群単位で捕捉対象に設定する処理を行ってもよい。このようにすると、オブジェクト群が捕捉方向に存在する場合には、奥行き値はオブジェクト群に対応して設定されるため、例えばオブジェクト群４１０に属する標的オブジェクトＥ２４をシューティングにより消滅させたとしても、捕捉点の奥行き値は、仮想３次元空間後方まで移動せずに、オブジェクト群に対応づけられた奥行き値に設定されている。
【０２０８】
オブジェクト群に対応づけられた奥行き値とは、例えばオブジェクト群に属するオブジェクトの奥行き値の平均値でもよいし、オブジェクト群に属するオブジェクトの奥行き値の中で、最も手前にある（仮想カメラに近い）オブジェクトの奥行き値でもよいし、オブジェクト群の代表オブジェクトを予め指定しておき、代表オブジェクトの奥行き値でもよい。
【０２０９】
標的オブジェクトに対するグループ設定は、予めさだめておいてもよい。例えば複数の標的オブジェクトの移動動作をグループとして制御（群れの制御等）を行う場合には、移動動作の制御単位でグループ設定を行っておいてもよい。
【０２１０】
また個別に移動動作する標的オブジェクトに対して、各フレームにおける標的オブジェクトの位置に基づきグループを設定し、オブジェクトの位置の変化によりグループの設定を動的に変化させてもよい。
【０２１１】
図２２は、動的にグループ設定を行う例について説明するための図である。
【０２１２】
図２２に示すように、仮想３次元空間内の標的オブジェクトＥ３１〜Ｅ３９が存在している場合に所与の標的オブジェクトＥ３４に対して、当該オブジェクトから所定範囲内（例えば半径ｒの球内）に存在する標的オブジェクトの数が所定数以上である場合には、グループ設定を行うようにしてもよい。例えば所定範囲内に存在する標的オブジェクト２個以上であればグループを設定するというグループ設定条件がある場合、標的オブジェクトＥ３４の所定範囲内４２０−１には標的オブジェクト３１、３２、３５、３６が存在するので、グループ設定条件を満たし、標的オブジェクト３１、３２、３４、３５、３６を含むグループＧ１が設定される。また標的オブジェクトＥ３７の所定範囲内４２０−２には標的オブジェクト３６、３８が存在するので、グループ設定条件を満たし、標的オブジェクト３６、３７、３８を含むグループＧ２が設定される。また標的オブジェクトＥ３９の所定範囲内４２０−３には標的オブジェクト３８が１個だけしか存在しないのでグループ設定条件を満たさず、グループは設定しない。
【０２１３】
ここでは標的オブジェクト３６は２つのグループＧ１、Ｇ２に属しているが、この様に１つの標的オブジェクトが複数のグループに属するようにグループ設定をおこなってもよい。
【０２１４】
また、グループ設定を予め定めておく方法と、動的にグループ設定を変化させる方法を、併用しても良い。例えば、オブジェクト群が、画面に登場するときには、予めグループと設定しておき、シューティングによりそのグループの中の多くの標的オブジェクトが消滅して、標的オブジェクトの数が減った場合には、グループ設定を解除しても良い。例えば、予めグループと設定された図１７（A）のような群れに対し、シューティングを行った結果、図１７（B）のように標的オブジェクトの数が減った場合、オブジェクトの個数や位置の分散等のパラメータによって、グループを解除するべきかの判定を行い、それによって、グループを解除しても良い。
【０２１５】
図１８（Ａ）（Ｂ）は、オブジェクト群単位で行う捕捉判定処理について説明するための図である。
【０２１６】
図１８（Ａ）に示すように、標的オブジェクトＥ２１、Ｅ２２、Ｅ２３、Ｅ２４のオブジェクト群に対してヒットチェックボリューム４２０を設定し、ヒットチェックボリューム４２０と捕捉方向（捕捉ライン）ＣＬのヒットチェック（交差判定）を行うことで、オブジェクト群が捕捉対象であるか否か判定して、捕捉対象となるオブジェクト群を特定するようにしてもよい。
【０２１７】
ヒットチェックボリューム４２０の形状はオブジェクト群を構成する標的オブジェクトＥ２１、Ｅ２２、Ｅ２３、Ｅ２４の各フレームにおける配置状態に応じて動的に変更してもよい。例えば各フレームで標的オブジェクトの位置情報に基づきオブジェクト群を構成する標的オブジェクトＥ２１、Ｅ２２、Ｅ２３、Ｅ２４を内包するヒットチェックボリュームを求めてもよい。
【０２１８】
また群れを構成する標的オブジェクトの位置関係があまり変化しない場合には、群れに対して予め用意されているヒットチェックボリュームを用いてもよい。
【０２１９】
なおヒットチェックボリューム４２０と捕捉方向（捕捉ライン）ＣＬのヒットチェック（交差判定）は、捕捉方向（捕捉ライン）ＣＬの代わりに図２１に示すような捕捉方向（捕捉ライン）ＣＬに対応して設定されたヒットチェックボリュームＨＢ２を設定しておこなってもよい。
【０２２０】
また図１８（Ｂ）に示すように、標的オブジェクトＥ２１、Ｅ２２、Ｅ２３、Ｅ２４のオブジェクト群に対してヒットチェックプレート（２次元的な領域でもよい）４３０を設定し、ヒットチェックプレート４３０と捕捉方向（捕捉ライン）ＣＬのヒットチェック（交差判定）を行うことで、オブジェクト群が捕捉対象であるか否か判定して、捕捉対象となるオブジェクト群を特定するようにしてもよい。ヒットチェックプレート４３０は法線４２３が視線方向になるように設定してもよい。
【０２２１】
ヒットチェックプレート４３０の形状はオブジェクト群を構成する標的オブジェクトＥ２１、Ｅ２２、Ｅ２３、Ｅ２４の各フレームにおける配置状態に応じて動的に変更してもよい。例えば図２３に示すように標的オブジェクトＥ２１、Ｅ２２、Ｅ２３、Ｅ２４をスクリーン上に投影してこれらを含む２次元的な領域４４０を求めて、当該領域の形状を有するヒットチェックプレートを求めてもよい。
【０２２２】
また群れを構成する標的オブジェクトの位置関係があまり変化しない場合には、群れに対して予め用意されているヒットチェックプレートを用いてもよい。
【０２２３】
なおヒットチェックプレート４２０と捕捉方向（捕捉ライン）ＣＬのヒットチェック（交差判定）は、捕捉方向（捕捉ライン）ＣＬの代わりに図２１に示すような捕捉方向（捕捉ライン）ＣＬに対応して設定されたヒットチェックボリュームＨＢ２を設定しておこなってもよい。
【０２２４】
（９）捕捉方向の変化予測による捕捉対象判定処理
捕捉方向の変化履歴に基づき捕捉方向の変化予測を行い、当該変化予測を加味して捕捉対象を特定する例について説明する。
【０２２５】
図１９（Ａ）（Ｂ）は捕捉点の変化予測について説明する図である。
【０２２６】
図１９（Ａ）は捕捉方向の変化予測を行わない場合の捕捉対象の判定例を示している。Ｐｎ、Ｐｎ＋１、Ｐｎ＋２は、時刻ｔ１、ｔ２、ｔ３の画面４６０の指示位置を示している。
【０２２７】
この様な場合、２次元的に説明すると時刻ｔ１においては指示位置Ｐｎの周りの所定エリアＨＥｎに描画される標的オブジェクトが存在する場合に、当該標的オブジェクトを補足対象とすることができ、時刻ｔ２においては指示位置Ｐｎ＋１の周りの所定エリアＨＥｎ＋１に描画される標的オブジェクトが存在する場合に、当該標的オブジェクトを補足対象とすることができ、時刻ｔ３においては指示位置Ｐｎ＋２の周りの所定エリアＨＥｎ＋２に描画されている標的オブジェクトが存在する場合に、当該標的オブジェクトを補足対象とすることができる。図１９（Ａ）では、いずれの場合も該当する標的オブジェクトは、存在しない。
【０２２８】
図１９（Ｂ）は捕捉方向の変化予測を行い、変化予測を加味した捕捉対象の判定例を示している。Ｐｎ、Ｐｎ＋１、Ｐｎ＋２は、時刻ｔ１、ｔ２、ｔ３の画面４６０の指示位置を示している。変化予測を加味した判定を行う場合には、例えば過去のフレームにおける指示位置の移動履歴に基づき、今回フレームにおける予想移動ベクトルｖを加味した判定を行う場合には、例えば過去のフレームにおける指示位置の移動履歴に基づき、今回フレームにおける予想移動ベクトルｖｎ、ｖｎ＋１、ｖｎ＋２を推定する。予想移動ベクトルｖｎ、ｖｎ＋１、ｖｎ＋２は、例えば過去の所定フレーム分の現実の移動履歴に基づき求めてもよい。
【０２２９】
時刻ｔ１における予想移動ベクトルｖｎは、例えば時刻ｔ１の直前の所定期間の移動実績に基づき所定期間の速度ベクトルを求めて、これを時刻ｔ１の予想移動ベクトルｖｎ  としてもよい。時刻ｔ２、ｔ３についても同様にして、それぞれ時刻ｔ２、ｔ３の直前の所定期間の移動実績に基づき速度ベクトルを求めて、これらをそれぞれ時刻ｔ２、ｔ３の予想移動ベクトルｖｎ＋１、ｖｎ＋２  としてもよい。
【０２３０】
そして時刻ｔ１においては指示位置Ｐｎの周りの所定エリアＨＥｎを予想移動ベクトルｖｎに応じて変形させた判定エリアＨＥ’ｎを設定し、当該判定エリアＨＥ’ｎ  に標的オブジェクトが存在する場合に、当該標的オブジェクトを補足対象とし、時刻ｔ２においては指示位置Ｐｎ＋１の周りの所定エリアＨＥｎ＋１を予想移動ベクトルｖｎ＋１応じて変形させた判定エリアＨＥ’ｎ＋１を設定し、当該判定エリアＨＥ’ｎ＋１  に標的オブジェクトが存在する場合に、当該標的オブジェクトを補足対象とし、時刻ｔ３においては指示位置Ｐｎ＋２の周りの所定エリアＨＥｎ＋２を予想移動ベクトルｖｎ＋２応じて変形させた判定エリアＨＥ’ｎ＋２を設定し、当該判定エリアＨＥ’ｎ＋２  に標的オブジェクトが存在する場合に、当該標的オブジェクトを補足対象としてもよい。
【０２３１】
判定エリアＨＥ’ｎ  として、図１９（Ａ）の所定エリアＨＥｎ  が予想移動ベクトルｖｎの方向に拡大された形状のエリアを設定してもよい。
【０２３２】
このようにすると、捕捉方向には標的オブジェクトが存在しない場合でも、捕捉方向の進行方に標的オブジェクトＥ４０が存在する場合には、当該標的オブジェクトＥ４０も捕捉対象となるので、照準が画面後方に後退する場面を減らすことができ、見やすい照準画像を提供することができる。
【０２３３】
図２０（Ａ）（Ｂ）は、図１９（Ａ）（Ｂ）のケースを仮想３次元空間内で立体的に見た様子を示す図である。
【０２３４】
図２０（Ａ）は捕捉方向の変化予測を行わない場合の捕捉対象の判定例を示している。Ｓ’は、図１９（Ａ）ディスプレイ４６０に対応して仮想３次元空間内に設定された仮想的なスクリーンを示しており、Ｐ’ｎ、Ｐ’ｎ＋１、Ｐ’ｎ＋２は、図１９（Ａ）の指示位置Ｐｎ、Ｐｎ＋１、Ｐｎ＋２  に対応する    仮想スクリーン上の点である。
【０２３５】
仮想３次元空間では時刻ｔ１、ｔ２、ｔ３における捕捉方向（捕捉ライン）ＣＬ−ｔ１、ＣＬ−ｔ２、ＣＬ−ｔ３に対して、それぞれヒットチェック用の判定空間ＨＢ−ｔ１（例えばＣＬ−ｔ１を中心線とする円柱形状の空間）、判定空間ＨＢ−ｔ２（例えばＣＬ−ｔ２を中心線とする円柱形状の空間）、判定空間ＨＢ−ｔ３（例えばＣＬ−ｔ３を中心線とする円柱形状の空間）が設定されており、当該判定空間と標的オブジェクト（標的オブジェクトに対して設定されたヒットチェックボリュームでもよい）とのヒットチェックを行うことにより、捕捉対象の有無の検出や特定を行ってもよい。図１９（Ｂ）では時刻ｔ１、ｔ２、ｔ３のいずれの場合も捕捉対象は存在しない。
【０２３６】
また、判定空間は、円柱形状とは限らず、例えば銃口などの位置を頂点とする円錐形状であっても良い。また、それ以外の形状であっても良い。例えば、バズーカ砲のような武器を想定している場合には、円柱形状の判定空間が適しており、散弾銃のような武器を想定している場合には、円錐形状が適している。ゲーム中で武器の変更等が成された場合には、これらの判定空間を切り替えて用いても良い。
【０２３７】
図２０（Ｂ）は補足方向の変化予測を行い、変化予測を加味した補足対象の判定例を示している。Ｓ’は、図１９（Ｂ）ディスプレイ４６０に対応して仮想３次元空間内に設定された仮想的なスクリーンを示しており、Ｐ’ｎ、Ｐ’ｎ＋１、Ｐ’ｎ＋２は、図１９（Ｂ）の指示位置Ｐｎ、Ｐｎ＋１、Ｐｎ＋２  に対応する    仮想スクリーン上の点である。
【０２３８】
仮想３次元空間では時刻ｔ１、ｔ２、ｔ３における補足方向（補足ライン）ＣＬ−ｔ１、ＣＬ−ｔ２、ＣＬ−ｔ３に対して、それぞれ変化予測を加味したヒットチェック用の判定空間ＨＢ−ｔ１、ＨＢ−ｔ２、ＨＢ−ｔ３を設定している。各判定空間は図１９（Ｂ）で説明した予想移動ベクトルｖｎ、ｖｎ＋１、ｖｎ＋２  に基づき、図２０（Ａ）の判定空間ＨＢ−ｔ１、判定空間ＨＢ−ｔ２、判定空間ＨＢ−ｔ３を変形させたものでもよい。例えば各時刻における予想移動ベクトルｖｎ、ｖｎ＋１、ｖｎ＋２  の方向に、判定空間ＨＢ−ｔ１、ＨＢ−ｔ２、ＨＢ−ｔ３を拡大した形状の空間でもよい
【０２３９】
３．本実施の形態の処理
図２４は、本実施の形態の照準位置の補正処理の流れを示すフローチャート図である。
【０２４０】
以下の処理をフレーム毎に行い、フレーム毎に捕捉点の位置を求めて照準オブジェクトを配置する処理をおこなってもよい。
【０２４１】
まず入力情報に基づき画面上の指示位置Ｐを検出する（ステップＳ１０）。例えば図９（Ａ）から（Ｃ）で説明した処理で画面上の指示位置Ｐを求めてもよい。次に画面上の指示位置Ｐから、仮想空間内の対応点Ｐ’を求める（ステップＳ２０）。
【０２４２】
１人称視点の場合（ステップＳ３０でＹＥＳの場合）には、仮想空間内の対応点Ｐ’と仮想カメラの位置に基づき捕捉方向（捕捉ライン）を求める。また１人称視点でない場合（３人称視点の場合）（ステップＳ３０でＮＯの場合）には、仮想空間内の対応点Ｐ’とキャラクタオブジェクトの位置に基づき捕捉方向（捕捉ライン）を求める（ステップＳ５０）。
【０２４３】
次に捕捉ラインと仮想空間内の標的オブジェクト又は標的オブジェクト群とのヒットチェックを行い捕捉対象を特定する（ステップＳ６０）。捕捉対象が存在する場合（ステップＳ７０でＹＥＳの場合）には、捕捉対象の標的オブジェクト又は標的オブジェクト群に対応する奥行き値に基づき捕捉対象の奥行き値を決定する（ステップＳ８０）。なお次回処理時に前回捕捉対象が存在するか否かを判定するために前回存在フラグ等を用いる場合には、今回フレームの処理が終了した時点で前回存在フラグをＯＮにしておいてもよい。
【０２４４】
捕捉対象が存在しない場合（ステップＳ７０でＮＯの場合）には、前回フレームで捕捉対象が存在したか否か判定する（ステップＳ９０）。前回フレームで、捕捉対象が存在したか否かは、例えば前回フレームで設定された前回存在フラグに基づき判定してもよい。
【０２４５】
前回フレームでは捕捉対象が存在した場合（ステップＳ９０でＹＥＳの場合）は、今回フレームで捕捉対象をロストした場合なので、奥行き値にたいして行う補正の内容（補正種別）に対応した補正期間だけ補正モードに設定する（ステップＳ１００）。例えば補正期間をタイマーにセットして、タイマーが０になると補正モードが終了して、通常モードになるようにしてもよい。このようにすると、奥行き値の補正を複数フレームに渡って行う場合（例えば所定期間奥行き値を変更しない補正や所定期間にわたって少しずつ奥行き値を変更する補正等）に便利である。例えば、図１１で説明したように、所定期間ｋ１だけ奥行き値を変更しない補正を行う場合には、所定期間ｋ１をタイマーにセットするようにしてもよい。
【０２４６】
補正モード中である場合（ステップＳ１１０でＹＥＳの場合）には、補正種別に対応した奥行き値の補正を行う（ステップＳ１２０）。例えば、所定期間だけ奥行き値を変更しない補正を行う場合には、前回フレームの奥行き値を採用する補正を行う。また奥行き値を少しずつ後退させる補正を行う場合には、図１５で説明したように、前回フレームの奥行き値に所定の補正値を加算する補正を行う。
【０２４７】
補正モード中でない場合（ステップＳ１１０でＮＯの場合）には、捕捉点の奥行き値を最大設定値に決定する（ステップＳ１３０）。
【０２４８】
そして捕捉方向（捕捉ライン）と決定した奥行き値に基づき捕捉点の奥行き値を決定し、捕捉点にマーカオブジェクトを配置する（ステップＳ１４０）。
【０２４９】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０２５０】
上記実施の形態では、カメラ制御データの位置を例に取り説明したがそれに限られない。回転や画角についても同様の制御を行うことができる。
【０２５１】
例えば上記実施の形態では、生成される画像が通常の平面視画像である場合を例にとり説明したがこれに限られず、前記仮想３次元空間の画像は、立体視画像でもよい。
【０２５２】
例えば２眼メガネ式の立体視方式の画像を生成する場合には  前記マーカを含む前記仮想３次元空間を第１の仮想カメラ（右目用仮想カメラ）から見た第１の画像（右目画像）を生成する処理と、前記マーカを含む前記仮想３次元空間を第２の仮想カメラ（左目用仮想カメラ）から見た第２の画像（左目画像）を生成する処理と、を行い、生成された第１の画像（右目用画像）と第２の画像（左目画像）に基づき立体視画像を生成してもよい。
【０２５３】
また立体視画像を観察するのに適した位置に設定された、仮想カメラと捕捉点を結ぶ方向を捕捉方向（捕捉ライン）として、捕捉方向に存在する捕捉対象を検出してもよい。
【０２５４】
例えば２眼メガネ式の立体視方式の画像を生成する場合には、前記捕捉対象特定手段は、  第１の仮想カメラ（左目用カメラ）と第２の仮想カメラ（右目用カメラ）の中間点に配置された第３の仮想カメラ（センターカメラ）と捕捉点を結ぶ方向を捕捉方向として、捕捉方向（捕捉ライン）に存在する捕捉対象を検出してもよい。
【０２５５】
また、捕捉点の位置をいったん前の方に来るようにした上で、初期値を超えている場合は初期値にクランプするような制御を行う場合も本発明の範囲内である。
【０２５６】
例えば奥行き値の変化を制御するための関数（例えば時間ｔを変数として奥行き（Ｚ）値を求める関数ｚ＝ｆ（ｔ））に基づき奥行き値を設定する場合、関数の出力値をフィルタリングするような場合も、本発明の奥行き値の補正に含まれる。
【０２５７】
例えば図２５に示すように、時刻ｔにおける奥行き値ｚを求める関数をｚ＝（ｔ−ａ）２−ａ２  で示すような２次関数で与えると、ｔ＝０の時、ｚ＝０、時刻ｔ＝ａの時、最小値Ｚ＝−ａ２をとる放物線となる。このとき、初期値をｔ＝０の時のｚ＝０とし、出力値であるｚがｚ＜０である場合には初期値にクランプするようなフィタリングを行うと、Ｚ値が波線部分５００にあたる時刻ｔ＝０〜時刻ｔ＝２ａの期間は、Ｚ値が０に固定されるので、所定期間を設定しその間は初期値に留め置く場合（例えば図１３で説明したような所定期間奥行き値を変更しない制御）と同様の効果を得ることができるが、かかる場合も本発明の奥行き値の補正の範囲内である。
【０２５８】
なお上記では2次関数を用いたが、別の関数であっても良いことはもちろんである。
【０２５９】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、携帯型ゲームシステム、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。
【符号の説明】
【０２６０】
１００  処理部、１１０  オブジェクト空間設定部、１１１  取得部、１１２  捕捉方向決定部、１１３  捕捉対象特定部、１１４  マーカ配置制御部、
１１４  移動・動作処理部、１１５  ゲーム演算部、
１１６  設定部、１１７  指示位置制御部、
１２０  画像生成部、１３０  音処理部、
１６０  入力部、１６２  検出部、１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９６  通信部、
２００  記憶部、２１０  主記憶部、
２２１  画像バッファ、２２２  Ｚバッファ、
２３１  画像バッファ（描画面Ａ）、２３２  画像バッファ（描画面Ｂ）、
２３１  Ｚバッファ（描画面Ｃ）
【図１】
0005597837.tif 000002
【図２】
0005597837.tif 000003
【図３】
0005597837.tif 000004
【図４】
0005597837.tif 000005
【図５】
0005597837.tif 000006
【図６】
0005597837.tif 000007
【図７】
0005597837.tif 000008
【図８】
0005597837.tif 000009
【図９】
0005597837.tif 000010
【図１０】
0005597837.tif 000011
【図１１】
0005597837.tif 000012
【図１２】
0005597837.tif 000013
【図１３】
0005597837.tif 000014
【図１４】
0005597837.tif 000015
【図１５】
0005597837.tif 000016
【図１６】
0005597837.tif 000017
【図１７】
0005597837.tif 000018
【図１８】
0005597837.tif 000019
【図１９】
0005597837.tif 000020
【図２０】
0005597837.tif 000021
【図２１】
0005597837.tif 000022
【図２２】
0005597837.tif 000023
【図２３】
0005597837.tif 000024
【図２４】
0005597837.tif 000025
【図２５】
0005597837.tif 000026
【図２７】
0005597837.tif 000027
【図２８】
0005597837.tif 000028
【図２９】
0005597837.tif 000029
【図３０】
0005597837.tif 000030
【図３１】
0005597837.tif 000031
【図２６】
0005597837.tif 000032