(57)【要約】【課題】  プレーヤの操作インターフェース環境の向上を可能にするプログラム、情報記憶媒体及び画像生成システムを提供する。【解決手段】  操作部からのマーカー操作データに基づいて、標的オブジェクトＯＢ２を移動体オブジェクトＯＢ１の攻撃対象として設定するための照準マーカーＭＫ１の位置を演算して、照準マーカーＭＫ１を移動表示させる制御を行うマーカー表示制御部が、オブジェクト空間を構成する地形オブジェクトの地形データの変化に応じて移動体オブジェクトＯＢ１の傾きが変化した場合であっても、スクリーン座標系のＸ軸方向を基準Ｘ軸方向とし、スクリーン座標系のＸ軸方向と直交するＹ軸方向を基準Ｙ軸方向として、照準マーカーＭＫ１を移動表示させる制御を行う。【選択図】      図２
2005319108.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間を移動する移動体オブジェクトが標的オブジェクトに対する攻撃を行う画像を生成するためのプログラムであって、
操作部からの移動体操作データと前記オブジェクト空間を構成する地形オブジェクトの地形データとに基づいて、前記移動体オブジェクトの位置および傾きを演算して、前記移動体オブジェクトを前記オブジェクト空間内で移動させる移動体処理部と、
前記操作部からのマーカー操作データに基づいて、前記標的オブジェクトを前記移動体オブジェクトの攻撃対象として設定するための照準マーカーの位置を演算して、該照準マーカーを移動表示させる制御を行うマーカー表示制御部と、
前記移動体オブジェクトを含む複数のオブジェクトをスクリーン座標系に透視投影変換して、前記オブジェクト空間における所与の視点から見た画像を生成する画像生成部として、
コンピュータを機能させ、
前記マーカー表示制御部が、
前記地形データの変化に応じて前記移動体オブジェクトの傾きが変化した場合であっても、前記スクリーン座標系のＸ軸方向を基準Ｘ軸方向とし、該スクリーン座標系の該Ｘ軸方向と直交するＹ軸方向を基準Ｙ軸方向として、前記照準マーカーを移動表示させる制御を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
移動体処理部が、
前記マーカー操作データに基づき演算された前記照準マーカーの位置と前記移動体オブジェクトの位置とを結ぶベクトルを演算し、該ベクトルと前記オブジェクト空間を構成する地形オブジェクトの地形データとに基づいて前記移動体オブジェクトの傾きを演算し、前記移動体オブジェクトを前記オブジェクト空間内で移動させることを特徴とするプログラム。
【請求項３】
請求項１または２において、
前記オブジェクト空間を移動する前記標的オブジェクトの少なくとも一部が、前記視点から見て前記照準マーカーの所定領域と重複する場合に、該標的オブジェクトが攻撃対象として前記照準マーカーに捕捉されていると判定する標的捕捉判定部と、
前記標的捕捉判定部の判定結果に基づいて、前記標的オブジェクトが捕捉されていないと判断される場合には、前記移動体オブジェクトの攻撃方向を前記移動体オブジェクトと前記照準マーカーとを結ぶベクトルの方向成分に基づいて設定し、前記標的オブジェクトが捕捉されていると判断される場合には、前記標的オブジェクトの移動予定位置を求めて、求められた該移動予定位置に基づいて前記移動体オブジェクトの攻撃方向を補正する処理を行う攻撃方向設定部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項４】
請求項３において、
前記攻撃方向設定部が、
前記移動体オブジェクトの位置と前記標的オブジェクトの位置とを結ぶ相対位置ベクトルと、前記標的オブジェクトの移動速度ベクトルとに基づいて前記標的オブジェクトの移動予定位置を求め、該移動予定位置と前記移動体オブジェクトの位置とを結ぶ攻撃方向補正ベクトルを演算することにより、該攻撃方向補正ベクトルの方向成分を前記移動体オブジェクトの攻撃方向とする補正処理を行うことを特徴とするプログラム。
【請求項５】
請求項４において、
前記攻撃方向設定部が、
前記相対位置ベクトルおよび前記移動速度ベクトルと、前記移動体オブジェクトからの攻撃として該移動体オブジェクトから攻撃対象となる前記標的オブジェクトに向けて発射されるべき弾の発射速度情報とに基づいて、前記攻撃方向補正ベクトルを演算することを特徴とするプログラム。
【請求項６】
請求項３〜５のいずれかにおいて、
前記移動体オブジェクトは、該移動体オブジェクトの攻撃方向を示すように表示される攻撃パーツオブジェクトとを含んで構成され、
前記攻撃方向設定部が前記移動体オブジェクトの攻撃方向を補正する場合に、演算された攻撃方向補正ベクトルに基づいて、前記攻撃パーツオブジェクトの回転角度情報を演算し、該回転角度情報に基づいて該攻撃パーツオブジェクトの向きを設定する処理を行う攻撃パーツ方向設定部としてコンピュータを機能させることを特徴とするプログラム。
【請求項７】
請求項１〜６のいずれかにおいて、
前記マーカー表示制御部が、
前記移動体処理部により求められた前記移動体オブジェクトの傾きに基づいて、該移動体オブジェクトの傾きの変化に応じて変化する姿勢マーカーを表示する表示制御を行うことを特徴とするプログラム。
【請求項８】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜７のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項９】
オブジェクト空間を移動する移動体オブジェクトが標的オブジェクトに対する攻撃を行う画像を生成する画像生成システムであって、
操作部からの移動体操作データと前記オブジェクト空間を構成する地形オブジェクトの地形データとに基づいて、前記移動体オブジェクトの位置および傾きを演算して、前記移動体オブジェクトを前記オブジェクト空間内で移動させる移動体処理部と、
前記操作部からのマーカー操作データに基づいて、前記標的オブジェクトを前記移動体オブジェクトの攻撃対象として設定するための照準マーカーの位置を演算して、該照準マーカーを移動させる表示制御を行うマーカー表示制御部と、
前記移動体オブジェクトを含む複数のオブジェクトをスクリーン座標系に透視投影変換して、前記オブジェクト空間における所与の視点から見た画像を生成する画像生成部と、
を含み、
前記マーカー表示制御部が、
前記地形データの変化に応じて前記移動体オブジェクトの傾きが変化した場合であっても、前記スクリーン座標系のＸ軸方向を基準Ｘ軸方向とし、該スクリーン座標系の該Ｘ軸方向と直交するＹ軸方向を基準Ｙ軸方向として、前記照準マーカーを移動させる表示制御を行うことを特徴とする画像生成システム。
【請求項１０】
請求項９において、
前記視点から見て前記オブジェクト空間を移動する前記標的オブジェクトの少なくとも一部が前記照準マーカーの所定領域と重複する場合に、該標的オブジェクトが攻撃対象として前記照準マーカーに捕捉されていると判定する標的捕捉判定部と、
前記標的捕捉判定部の判定結果に基づいて、前記標的オブジェクトが捕捉されていないと判断される場合には、前記移動体オブジェクトの傾きに応じて前記攻撃方向を前記移動体オブジェクトと前記照準マーカーとを結ぶベクトルの方向成分に基づいて設定し、前記標的オブジェクトが捕捉されていると判断される場合には、前記標的オブジェクトの移動予定位置を求めて、求められた該移動予定位置に基づいて前記移動体オブジェクトの攻撃方向を補正する処理を行う攻撃方向設定部と、
を含むことを特徴とする画像生成システム。
【請求項１１】
請求項９または１０において、
前記移動体オブジェクトは、該移動体オブジェクトの攻撃方向を示すように表示される攻撃パーツオブジェクトとを含んで構成され、
前記攻撃方向設定部が前記移動体オブジェクトの攻撃方向を補正する場合に、演算された攻撃方向補正ベクトルに基づいて、前記攻撃パーツオブジェクトの回転角度情報を演算し、該回転角度情報に基づいて該攻撃パーツオブジェクトの向きを補正する処理を行う攻撃パーツ方向設定部を含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体および画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。移動体である戦車を操作してオブジェクト空間を移動する標的を撃墜するシューティングゲームの画像を生成する画像生成システムを例にとれば、戦車が攻撃対象の標的に向けて弾（ショット）を発射するゲームの画像を生成する。
【０００３】
このようなシューティングゲームでは、操作技術の未熟なプレーヤにも十分にゲームを楽しませるべく、例えば標的に狙いを定めるための照準マーカーがゲーム画面に表示されることが望ましい。そしてこのような照準マーカーを用いる場合には、照準マーカーが戦車の移動や動作に随時追従するように移動表示される画像を生成する手法がある。
【０００４】
しかしながらこの手法では、戦車がオブジェクト空間の地形変化に応じて姿勢（傾き）が変化した場合にも、その変化に照準マーカーを追従させてしまうと、プレーヤの狙い位置までが細かく変動してしまうため操作感を損なうという課題がある。
【特許文献１】特開平１０−７３４７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は上記事情に鑑みてなされたものであり、その目的は、プレーヤの操作インターフェース環境の向上を可能にするプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、オブジェクト空間を移動する移動体オブジェクトが標的オブジェクトに対する攻撃を行う画像を生成する画像生成システムであって、操作部からの移動体操作データと前記オブジェクト空間を構成する地形オブジェクトの地形データとに基づいて、前記移動体オブジェクトの位置および傾きを演算して、前記移動体オブジェクトを前記オブジェクト空間内で移動させる移動体処理部と、前記操作部からのマーカー操作データに基づいて、前記標的オブジェクトを前記移動体オブジェクトの攻撃対象として設定するための照準マーカーの位置を演算して、該照準マーカーを移動表示させる制御を行うマーカー表示制御部と、前記移動体オブジェクトを含む複数のオブジェクトをスクリーン座標系に透視投影変換して、前記オブジェクト空間における所与の視点から見た画像を生成する画像生成部とを含み、前記マーカー表示制御部が、前記地形データの変化に応じて前記移動体オブジェクトの傾きが変化した場合であっても、前記スクリーン座標系のＸ軸方向を基準Ｘ軸方向とし、該スクリーン座標系の該Ｘ軸方向と直交するＹ軸方向を基準Ｙ軸方向として、前記照準マーカーを移動表示させる制御を行う画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
本発明によれば、標的オブジェクトを移動体オブジェクトの攻撃対象として設定する照準マーカーを操作するための基準軸がスクリーン座標系の座標軸に対応する。また移動体オブジェクトは移動体操作データに基づいて処理され、照準マーカーはマーカー操作データに基づいて処理される。このため、プレーヤは表示画面を基準とした指示操作をすることで、マーカー操作データに基づいて指示通りの方向に照準マーカーを移動させることができる。また、本発明では、マーカー表示制御部が、移動体オブジェクトの傾きに依存せずに、スクリーン座標系の基準軸を利用して照準マーカーを移動させる処理を行う。すなわち、本発明によれば、オブジェクト空間を構成する地形オブジェクトの地形データの変化によりプレーヤが操作する移動体オブジェクトの傾きが変化して場合であっても、照準マーカーの操作基準軸が変わらないため操作インターフェース環境の向上を図ることができる。
【０００８】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、移動体処理部が、前記操作部からのマーカー操作データに基づき演算された前記照準マーカーの位置と前記移動体オブジェクトの位置とを結ぶベクトルを演算し、該ベクトルと前記オブジェクト空間を構成する地形オブジェクトの地形データとに基づいて前記移動体オブジェクトの傾きを演算し、前記移動体オブジェクトを前記オブジェクト空間内で移動させるようにしてもよい。
【０００９】
このようにすれば、プレーヤが標的オブジェクトに狙いを定めるために操作部から照準マーカーの操作指示入力した場合にも、マーカー操作データに基づき演算される照準マーカーの移動後の位置と地形オブジェクトの地形データとに基づき移動体オブジェクトの傾きが求められる。このため、プレーヤの意図する狙い位置の変化に応じて移動体オブジェクトの自然な動きを表現することができる。また、プレーヤは移動体オブジェクトの操作指示のみならず照準マーカーの操作指示を行うことによっても移動体オブジェクトを変化させることができる。また、この態様によれば、移動体オブジェクトの移動指示のための操作と照準マーカーの移動指示のための操作とを一部共通化することができるため、操作インターフェース環境の向上を図ることができるのみならず、各操作データについての処理負担の軽減を図ることができる。
【００１０】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記オブジェクト空間を移動する前記標的オブジェクトの少なくとも一部が、前記視点から見て前記照準マーカーの所定領域と重複する場合に、該標的オブジェクトが攻撃対象として前記マーカーに捕捉されていると判定する標的捕捉判定部と、前記標的捕捉判定部の判定結果に基づいて、前記標的オブジェクトが捕捉されていないと判断される場合には、前記移動体オブジェクトの攻撃方向を前記移動体オブジェクトと前記照準マーカーとを結ぶベクトルの方向成分に基づいて設定し、前記標的オブジェクトが捕捉されていると判断される場合には、前記標的オブジェクトの移動予定位置を求めて、求められた該移動予定位置に基づいて前記移動体オブジェクトの攻撃方向を補正する処理を行う攻撃方向設定部とを含んでいてもよい。また上記各部としてコンピュータを機能させてもよい。
【００１１】
例えば移動体オブジェクトからの攻撃を一律に照準マーカーの方向へ行うこととすると、標的オブジェクトが移動している場合には、攻撃がプレーヤの狙い通りに命中しない事態が起こりうる。この態様では、照準マーカーにおいて攻撃対象となる標的オブジェクトが捕捉されていない場合には、照準マーカーの位置をプレーヤの狙い位置として攻撃方向を設定し、照準マーカーにおいて攻撃対象となる標的オブジェクトが捕捉されている場合には、標的オブジェクトの移動予定位置が求められ、当該移動予定位置に基づいて攻撃方向が補正される。このため、プレーヤが攻撃対象として狙っている標的オブジェクトに攻撃を命中させる確率、いわゆる照準精度を高めることによって、操作インターフェース環境の向上を図ることができる。
【００１２】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記攻撃方向設定部が、前記移動体オブジェクトの位置と前記標的オブジェクトの位置とを結ぶ相対位置ベクトルと、前記標的オブジェクトの移動速度ベクトルとに基づいて前記標的オブジェクトの移動予定位置を求め、該移動予定位置と前記移動体オブジェクトの位置とを結ぶ攻撃方向補正ベクトルを演算することにより、該攻撃方向補正ベクトルの方向成分を前記移動体オブジェクトの攻撃方向とする補正処理を行うようにしてもよい。
【００１３】
このように攻撃方向を補正するようにすれば、プレーヤの狙い通りに標的オブジェクトに攻撃を命中させることができるような標的オブジェクトの移動予定位置を求めることができる。
【００１４】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記攻撃方向設定部が、前記相対位置ベクトルおよび前記移動速度ベクトルと、前記移動体オブジェクトからの攻撃として該移動体オブジェクトから攻撃対象となる前記標的オブジェクトに向けて発射されるべき弾の発射速度情報とに基づいて、前記攻撃方向補正ベクトルを演算するようにしてもよい。
【００１５】
このようにすれば、攻撃方向補正ベクトルの演算に際して、標的オブジェクトに対して発射される弾（ショット）の発射速度情報を加味することで、弾が命中するような標的オブジェクトの移動予定位置をより正確に求めることができる。
【００１６】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記移動体オブジェクトは、該移動体オブジェクトの攻撃方向を示すように表示される攻撃パーツオブジェクトとを含んで構成され、前記攻撃方向設定部が前記移動体オブジェクトの攻撃方向を補正する場合に、演算された攻撃方向補正ベクトルに基づいて、前記攻撃パーツオブジェクトの回転角度情報を演算し、該回転角度情報に基づいて該攻撃パーツオブジェクトの向きを補正する処理を行う攻撃パーツ方向設定部を含んでいてもよい。また上記各部としてコンピュータを機能させてもよい。
【００１７】
このようにすれば、移動体オブジェクトの攻撃方向と、攻撃方向をプレーヤに示す攻撃パーツオブジェクトの向きとが一致するため、プレーヤは表示された攻撃パーツオブジェクトの向きによって移動体オブジェクトの攻撃方向を確認することができる。
【００１８】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記マーカー表示制御部が、前記移動体処理部により求められた前記移動体オブジェクトの傾きに基づいて、該移動体オブジェクトの傾きの変化に応じて変化する姿勢マーカーを表示する制御を行うようにしてもよい。
【００１９】
このようにすれば、プレーヤは姿勢マーカーを注視することにより移動体オブジェクトを見ていなくても移動体オブジェクトの傾きを確認することができ、操作インターフェース環境を向上させることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２１】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２２】
操作部１６０は、プレーヤが移動体オブジェクトや照準マーカーの操作データ（移動体操作データ、マーカー操作データ）を入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。操作部１６０は、共通の操作部材からプレーヤの入力操作の種類に応じて移動体オブジェクト用の操作データ（移動体操作データ）と、オブジェクト空間を移動する標的オブジェクトを攻撃対象として設定するための照準マーカー用の操作データ（マーカー操作データ）とを入力可能とする構成としてもよいし、移動体操作データを入力するための移動体操作部と、マーカー操作部を入力するためのマーカー操作部とが個別の操作部材として設けられている構成であってもよい。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００２３】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００２４】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２５】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２６】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００２７】
処理部１００（プロセッサ）は、操作部１６０からの操作データ（例えば、移動体操作データ、マーカー操作データ等）やプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２８】
処理部１００は、オブジェクト空間設定部１１０、仮想カメラ制御部１１２、マーカー表示制御部１１４、移動・動作処理部１２０、画像生成部１３０、音生成部１４０を含む。なおこれらの一部を省略する構成としてもよい。
【００２９】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。すなわちワールド座標系でのオブジェクト（移動体オブジェクト、標的オブジェクト、地形オブジェクト）の位置や回転角度（傾き、向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００３０】
移動・動作処理部１２０は、オブジェクト（キャラクタ、車、戦車、飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレーヤが入力した操作データ（移動体操作データ）や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクト（移動体オブジェクト、標的オブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。例えば移動体オブジェクトに関してのシミュレーション結果は、移動体データとして記憶部１７０の移動体データ記憶部１７６にフレーム更新に対応付けられて更新記憶されていく。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００３１】
また移動・動作処理部１２０は、移動体処理部１２２と、標的捕捉判定部１２４と、攻撃方向設定部１２６と、攻撃パーツ方向設定部１２８とを含む。
【００３２】
移動体処理部１２２は、移動体オブジェクトをオブジェクト空間内で移動させる処理を行う。具体的には、操作部１６０からの移動体操作データと、オブジェクト空間設定部１１０によりオブジェクト空間に配置設定されている地形オブジェクトの地形データ（高さデータ、傾斜データ等）とに基づいて、移動体オブジェクトの位置（ワールド座標系での３次元座標）および傾き（回転角度、向き、方向と同義）を演算して、求められた位置へ求められた傾きとなるように移動体オブジェクトを移動させる。
【００３３】
標的捕捉判定部１２４は、照準マーカーに標的オブジェクトが捕捉されているか否かを判定する処理を行う。具体的には、オブジェクト空間を移動する標的オブジェクトの少なくとも一部が、仮想カメラから見て照準マーカーの所定領域（スクリーン座標系における照準マーカーの表示領域あるいは照準マーカーの表示領域とその近傍の領域）と重複する場合に、標的オブジェクトが攻撃対象として照準マーカーに捕捉されていると判定する。そして、照準マーカーに標的オブジェクトが捕捉されていると判断される場合には、照準マーカーに捕捉されている標的オブジェクトが移動体オブジェクトの攻撃対象として設定されることになる。
【００３４】
攻撃方向設定部１２６は、移動体オブジェクトの攻撃方向、例えば移動体オブジェクトから発射される弾（ビーム、ショットと同義）の発射方向を設定する処理を行う。
【００３５】
具体的には、標的捕捉判定部１２４の判定結果に基づいて、標的オブジェクトが捕捉されていないと判断される場合には、移動体オブジェクトと照準マーカーとを結ぶベクトルを求めて、その方向成分を移動体オブジェクトの攻撃方向として設定する。
【００３６】
一方、標的オブジェクトが捕捉されていると判断される場合には、標的オブジェクトの移動予定位置（ワールド座標系の３次元位置）を求めて、求められた移動予定位置に基づいて移動体オブジェクトの攻撃方向を補正する。より具体的には、まず移動体オブジェクトのワールド座標系の３次元位置と標的オブジェクトのワールド座標系の３次元位置とを結ぶ相対位置ベクトルと、標的オブジェクトの移動速度ベクトルとに基づいて標的オブジェクトの移動予定位置を求める。そして、求められた移動予定位置と移動体オブジェクトのワールド座標系における３次元位置とを結ぶ攻撃方向補正ベクトルを演算することにより、求められた攻撃方向補正ベクトルの方向成分を移動体オブジェクトの攻撃方向として設定する。また攻撃方向を補正する場合においては、上記において求められた相対位置ベクトルおよび移動速度ベクトルと、移動体オブジェクトからの攻撃として標的オブジェクトに向けて発射されるべき弾（ビーム、ショットと同義）の発射速度情報（弾を表現するオブジェクトの移動速度）とに基づいて、攻撃方向補正ベクトルを演算することもできる。
【００３７】
攻撃パーツ方向設定部１２８は、移動体オブジェクトを構成する複数のパーツオブジェクトのうち、移動体オブジェクトの攻撃方向を示すように表示される攻撃パーツオブジェクト、例えば本体パーツオブジェクトに対して回転して表示される砲身パーツオブジェクトの向きを設定する処理を行う。具体的には、攻撃方向設定部１２６が移動体オブジェクトの攻撃方向を補正する際に、演算された攻撃方向補正ベクトルに基づいて、攻撃パーツオブジェクトの回転角度情報（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を演算し、求められた回転角度情報に基づいて攻撃パーツオブジェクトの向き（回転角度、方向、傾きと同義）を設定する処理を行う。
【００３８】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００３９】
例えば仮想カメラによりオブジェクト（移動体オブジェクトあるいは標的オブジェクト、具体的にはキャラクタ、ボール、戦車、飛行機など）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１２０で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。あるいは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００４０】
マーカー表示制御部１１４は、操作部１６０からのマーカー操作データに基づいて、照準マーカーの位置を演算して、照準マーカーを移動表示させる制御を行う。ここで照準マーカーは、標的オブジェクトを移動体オブジェクトの攻撃対象として設定するためのオブジェクトであり、カメラ座標系の仮想カメラと正対するスクリーン面（２次元画面）上に２次元オブジェクトとして表示される。
【００４１】
なおマーカー表示制御部１１４においてマーカー操作データに基づき演算された照準マーカーの位置を用いて、移動体処理部１２２に移動体オブジェクトの移動処理を行わせてもよい。この場合、移動体処理部１２２は、求められた照準マーカーの位置と移動体オブジェクトの位置とを結ぶベクトルを演算し、ベクトルとオブジェクト空間を構成する地形オブジェクトの地形データとに基づいて移動体オブジェクトの傾き（回転角度、向き、方向と同義）を演算し、移動体オブジェクトを、求められた傾きとなるようにオブジェクト空間内で移動させる処理を行う。
【００４２】
またマーカー表示制御部１１４は、移動体オブジェクトと接触する地形オブジェクトの地形データの変化に応じて移動体オブジェクトの傾きが変化した場合であっても、スクリーン座標系のＸ軸方向を基準Ｘ軸方向とし、スクリーン座標系のＸ軸方向と直交するＹ軸方向を基準Ｙ軸方向として、照準マーカーを移動表示させる制御を行う。すなわち本実施の形態では、照準マーカーを操作するための基準軸がスクリーン座標系の座標軸に対応する。
【００４３】
またマーカー表示制御部１１４は、移動体処理部１２２により求められた移動体オブジェクトの傾きに基づいて、移動体オブジェクトの傾きの変化に応じて変化する姿勢マーカーを表示する表示制御を行うことができる。姿勢マーカーは、照準マーカーと同様に、カメラ座標系の仮想カメラと正対する位置にスプライトとして配置され、スクリーン面（２次元画面）上に表示される。
【００４４】
画像生成部１３０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視投影変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７４（フレームバッファ、中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００４５】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４６】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００４７】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。なお以下では、プレーヤが戦車を操作することにより標的となる敵と戦闘を行うゲーム画像の表現に本実施形態の手法を採用した場合について主に説明するが、本実施形態の手法は、このようなゲーム画像の表現のみならず、種々の画像表現に適用できる。
【００４８】
２．１  照準マーカーの表示制御
図２（Ａ）には、戦車を模した移動体オブジェクトＯＢ１と移動体オブジェクトのＯＢ１の攻撃対象となる標的オブジェクトＯＢ２とが配置されたオブジェクト空間が示されている。
【００４９】
そして、本実施の形態ではプレーヤが操作部１６０から移動体操作データを入力することによって、移動体処理部１２２が、移動体操作データと地形オブジェクトＧＯＢの地形データとに基づいて、移動体オブジェクトＯＢ１をワールド座標系のＸ軸方向、Ｙ軸方向、あるいはＺ軸方向およびこれらの軸周りに関して移動させる処理を行う。このとき画像生成部１３０は、仮想カメラＶＣがこのオブジェクト空間を所与の方向（例えば移動体オブジェクトＯＢ１の後方）から見た画像をスクリーン座標系に透視投影変換し、スクリーン面ＳＣに各オブジェクトＯＢ１、ＯＢ２、ＧＯＢが表現されたゲーム画像が表示部１９０から表示出力される（図２（Ｂ）参照）。このときの表示画面には、プレーヤが操作部１６０からマーカー操作データを入力した場合に、スクリーン座標系のＸ軸方向を基準Ｘ軸方向とし、スクリーン座標系のＹ軸方向を基準Ｙ軸方向として移動する照準マーカーＭＫ１も表示される。なお、スクリーン面ＳＣの位置は、仮想カメラＶＣの位置に基づいて設定され、照準マーカーＭＫ１の表示位置は、仮想カメラＶＣの動きにあわせて相対的に移動させることができる。
【００５０】
図３（Ａ）に移動体オブジェクトＯＢ１の移動処理と照準マーカーＭＫ１の表示制御の関係を示す。図３（Ａ）では、移動体オブジェクトＯＢ１が地形オブジェクトＧＯＢ上の位置Ｐ１から位置Ｐ１’に移動した場合の照準マーカーＭＫ１の表示制御例を示す。本実施の形態では図３（Ｂ）に示す操作部１６０の移動体操作部ＯＰ１から移動体操作データを入力し、操作部１６０のマーカー操作部ＯＰ２からマーカー操作データを入力することができる。図３（Ｂ）に示す操作部１６０の例では、移動体操作部ＯＰ１に関して、十字キーの左右方向への入力操作が移動体オブジェクトＯＢ１のワールド座標系の所与の軸周りの回転指示に対応し、十字キーの上下方向の入力操作が移動体オブジェクトＯＢ１のワールド座標系の所与の軸方向への前進指示あるいは後退指示に対応するように設定されている。また図３（Ｂ）に示す操作部１６０の例では、マーカー操作部ＯＰ２に関して、十字キーの左右方向への入力操作が照準マーカーＭＫ１のスクリーン座標系のＸ軸方向への移動指示に対応し、十字キーの上下方向への入力操作が照準マーカーのスクリーン座標系のＹ軸方向の移動指示に対応するように設定されている。なお、移動体操作部ＯＰ１とマーカー操作部ＯＰ２とは、操作入力をデジタル的に受け付けるデジタルコントローラであってもよいし、操作入力をアナログ的に受け付けるアナログコントローラ（アナログスティック）であってもよい。
【００５１】
本実施の形態では、地形オブジェクト上の位置Ｐ１に配置された移動体オブジェクトＯＢ１に対して移動体操作部ＯＰ１から移動体操作データが入力されると、移動体オブジェクトＯＢ１が位置Ｐ１から位置Ｐ１’に移動する処理が行われる。地形オブジェクトＧＯＢにおける位置Ｐ１と位置Ｐ１’とでは傾斜に関する地形データが異なるため、移動体オブジェクトＯＢ１が移動される際には地形オブジェクトＧＯＢの位置Ｐ１’における傾斜に沿って移動体オブジェクトＯＢ１が配置されるように位置Ｐ１’における地形データを利用して、移動体オブジェクトＯＢ１の傾き（回転角度、方向、向きと同義）が求められて、移動体オブジェクトＯＢ１がその傾きとなるように回転されて地形オブジェクトＧＯＢ上の位置Ｐ１’に配置される。
【００５２】
なお表示画面においては、図３（Ａ）に示すように、移動体オブジェクトＯＢ１の傾き（ワールド座標系のＸ軸周り、Ｙ軸周り、Ｚ軸周りの回転角度）を示し、移動体オブジェクトＯＢ１の傾き変化に応じて形状や傾き等が変化するオブジェクトとして姿勢マーカーＭＫ２を表示させてもよい。このようにすれば、プレーヤは姿勢マーカーＭＫ２を注視することにより移動体オブジェクトＯＢ１を見ていなくても移動体オブジェクトＯＢ１の傾きを確認することができ、操作インターフェース環境を向上させることができる。なお、姿勢マーカーＭＫ２は、照準マーカーＭＫ１をプレーヤが見たときにプレーヤに照準マーカーＭＫ１と共に認識されるような位置（例えば、照準マーカーＭＫ１の近傍や照準マーカーＭＫ１と重なる位置）に表示されることがより好ましい。
【００５３】
一方、プレーヤがマーカー操作部ＯＰ２より照準マーカーの移動を指示する入力操作を行った場合、照準マーカーＭＫ１は、スクリーン座標系のＸ軸方向を基準Ｘ軸方向とし、スクリーン座標系のＸ軸と直交するＹ軸方向を基準Ｙ軸方向として移動するように表示制御される。そして、移動体オブジェクトＯＢ１が位置Ｐ１から位置Ｐ１’に移動することによって、移動体オブジェクトＯＢ１の傾きが変化した場合でも、照準マーカーＭＫ１の操作系における基準Ｘ軸方向と基準Ｙ軸方向とは、移動体オブジェクトＯＢ１の傾き変化に依存して変化することはない。
【００５４】
また本実施の形態では、上述のように照準マーカーＭＫ１が移動表示された場合に、照準マーカーＭＫ１の移動位置に応じて移動体オブジェクトＯＢ１の傾きを変化させることもできる。
【００５５】
具体的には、入力されたマーカー操作データに基づき演算された照準マーカーＭＫ１が移動すべき位置と移動体オブジェクトＯＢ１の位置とを結ぶベクトルを演算し、このベクトルと地形オブジェクトＧＯＢの地形データとに基づいて移動体オブジェクトＯＢ１の傾き（回転角度、方向、向きと同義）を演算し、求められた傾きになるように移動体オブジェクトＯＢ１を移動させる。なお、照準マーカーＭＫ１の位置はスクリーン座標系で設定されるものであるため、移動体オブジェクトＯＢ１から照準マーカーＭＫ１に向かうベクトルを求める際には、マーカー操作データに基づいて求められた照準マーカーＭＫ１のスクリーン座標（Ｘ，Ｙ）をワールド座標系（あるいは視点座標系）の３次元座標（Ｘ，Ｙ，Ｚ）に変換することにより求めることができる。またスクリーン座標が、仮想カメラとの位置関係により設定され、仮想カメラが移動体オブジェクトＯＢ１を所定の方向から見るように設定されている場合には、移動体オブジェクトＯＢ１の傾きが求められたら、求められた傾きに応じて仮想カメラの位置を再設定することができる。
【００５６】
このようにすれば、プレーヤの意図する狙い位置の変化に応じて移動体オブジェクトＯＢ１の自然な動きを表現することができる。また、プレーヤは移動体オブジェクトＯＢ１の操作指示のみならず照準マーカーＭＫ１の操作指示を行うことによっても移動体オブジェクトＯＢ１の状態を変化させることができるため、結果的には移動体オブジェクトＯＢ１の移動指示のための入力操作と照準マーカーＭＫ１の移動指示のための入力操作とを一部共通化することができ、操作インターフェース環境の向上を図ることができる。またこのようにすれば、入力操作の種類が軽減されることにより処理が必要な操作データの種類を減らすことができるため処理部１００の処理負担の軽減を図ることができる。
【００５７】
ここで、図４〜図６に本実施の形態の手法を用いて生成される画像の例を示す。
【００５８】
図４においては、傾斜面を有する地形オブジェクトＧＯＢの傾斜面上に移動体オブジェクトＯＢ１が傾けて配置され、表示画面上には移動体オブジェクトＯＢ１と照準マーカーＭＫ１が表示されている。この状態において、プレーヤがマーカー操作部ＯＰ２から画面において右方向へ照準マーカーを移動させるための入力操作を行ったとすると、図５に示すように照準マーカーＭＫ１は、移動体オブジェクトＯＢ１の傾きに依存せずに、スクリーン座標系のＸ軸に沿って表示画面の右方向へ移動表示される。そして、図５の状態から照準マーカーＭＫ１をさらに右方向へ移動させるための入力操作が行われた場合には、図６に示すように、移動体オブジェクトＯＢ１が照準マーカーＭＫ１の位置に応じて傾きが変化して配置される。このように移動体オブジェクトＯＢ１の傾きが変化した場合であっても、照準マーカーＭＫ１はスクリーン座標系のＸ軸方向を基準Ｘ軸方向とするように表示制御されるため、スクリーン座標系を基準にしてそのＸ軸に沿って表示画面の右方向へ移動して表示される。
【００５９】
以上に述べたように本実施形態の手法によれば、プレーヤは表示画面の上下左右の方向を基準として操作部１６０のマーカー操作部ＯＰ２に対して入力操作を行うことで、プレーヤの指示通りの方向（プレーヤの意図する方向）に照準マーカーＭＫ１を移動させることができる。よって、オブジェクト空間を構成する地形オブジェクトＧＯＢの地形データの変化によりプレーヤが操作すべき移動体オブジェクトＯＢ１の傾きが変化して場合であっても、照準マーカーＭＫ１の操作基準軸が変わらないため操作インターフェース環境の向上を図ることができる。
【００６０】
２．２攻撃方向の設定
本実施の形態では、移動体オブジェクトＯＢ１の攻撃方向の設定に関し、照準マーカーＭＫ１に攻撃対象となる標的オブジェクトＯＢ２が捕捉（攻撃対象として設定）されているか否かによって異なる攻撃方向が設定される。本実施形態では、標的オブジェクトＯＢ２の少なくとも一部が、仮想カメラＶＣから見て照準マーカーＭＫ１の所定領域（スクリーン座標系における照準マーカーの表示領域あるいは照準マーカーの表示領域とその近傍の領域）と重複する場合に、標的オブジェクトＯＢ２が攻撃対象として照準マーカーＭＫ１に捕捉されているものと判断される。
【００６１】
例えば図７（Ａ）に示す場面においては、仮想カメラＶＣから見た場合に標的オブジェクトＯＢ２が照準マーカーＭＫ１と到底重なり合わない位置にいるため、かかる場合には標的オブジェクトＯＢ２が照準マーカーＭＫ１に捕捉されていないと判断される。
【００６２】
このとき移動体オブジェクトＯＢ１の攻撃方向の設定は、移動体オブジェクトＯＢ１の位置Ｐ１と照準マーカーＭＫ１とを結ぶベクトルＶ１を攻撃方向設定ベクトルとして求めて、ベクトルＶ１の方向成分を移動体オブジェクトＯＢ１の攻撃方向として設定する。すなわち、この場合においては、攻撃方向は照準マーカーＭＫ１が移動することにより、照準マーカーを追従するように攻撃方向も変化する。なお、照準マーカーＭＫ１の位置はスクリーン座標系で設定されるものであるため、移動体オブジェクトＯＢ１から照準マーカーＭＫ１に向かうベクトルＶ１を求める際には、マーカー操作データに基づいて求められた照準マーカーＭＫ１のスクリーン座標（Ｘ，Ｙ）をワールド座標系（あるいは視点座標系）の３次元座標（Ｘ，Ｙ，Ｚ）に変換することにより求めることができる。
【００６３】
また例えば図７（Ｂ）に示す場面においては、仮想カメラから見た場合に照準マーカーＭＫ１と重複して見えるような位置Ｐ２に標的オブジェクトＯＢ２が存在する。したがってこの場合には、標的オブジェクトＯＢ２が照準マーカーＭＫ１に捕捉されていると判断される。
【００６４】
このとき標的オブジェクトＯＢ２はオブジェクト空間内を移動しているため、移動体オブジェクトＯＢ１からの攻撃方向を一律に上述のように照準マーカーＭＫ１の方向とすると、移動体オブジェクトから発射された弾（ショット、ビームと同義）がプレーヤの狙い通りに標的オブジェクトＯＢ２に命中しない事態が起こりうる。そこで、このような事態を解消するため、本実施の形態では移動体オブジェクトＯＢ１と標的オブジェクトＯＢ２との位置関係と標的オブジェクトＯＢ２の移動状態とに基づいて、標的オブジェクトＯＢ２に対して弾ができるだけ命中するように（ショットがヒットするように）移動体オブジェクトＯＢ１の攻撃方向を補正して設定する。
【００６５】
具体的には、まず移動体オブジェクトＯＢ１の位置Ｐ１と標的オブジェクトの位置Ｐ２とを結ぶ相対位置ベクトルＶ２、および標的オブジェクトＯＢ２の移動速度ベクトルＶ３を求める。次に求められた相対位置ベクトルＶ２および移動速度ベクトルＶ３と、移動体オブジェクトＯＢ１からの弾の発射速度情報（弾オブジェクトのオブジェクト空間内での移動速度）とに基づいて、標的オブジェクトＯＢ２の移動予定位置Ｐ２’（ワールド座標系の３次元位置）を演算する。すなわち、求められた移動予定位置Ｐ２’は標的オブジェクトＯＢ２の移動状態が変化しないとすれば、その位置に向かって弾を発射することにより標的オブジェクトＯＢ２に弾を命中させることができる位置であるといえる。
【００６６】
最終的には、移動体オブジェクトＯＢ１の位置Ｐ１と標的オブジェクトＯＢ２の移動予定位置Ｐ２’とを結ぶベクトルＶ４を攻撃方向補正ベクトルとして求めて、ベクトルＶ４の方向成分を移動体オブジェクトＯＢ１の攻撃方向として補正設定する。
【００６７】
ここで、ベクトルＶ４は、次のように表すことができる。
【００６８】
Ｖ４＝Ｖ２＋Ｔ・Ｖ３
Ｔは、弾の発射速度情報に応じて変化するパラメータであって、弾オブジェクトのオブジェクト空間内での移動速度が大きい場合には小さな値をとり、移動速度が小さい場合には逆に大きくな値をとる。すなわち、弾オブジェクトの移動速度が大きければ、攻撃方向の補正量は小さくなり、弾オブジェクトの移動速度が小さければ、攻撃方向の補正量は大きくなる。
【００６９】
このように、照準マーカーＭＫ１に補足されている標的オブジェクトＯＢ２が移動している場合であっても、標的オブジェクトＯＢ２の移動予定位置を求めて攻撃方向を補正することによって、プレーヤが攻撃対象として狙っている標的オブジェクトＯＢ２に弾を命中させる確率、いわゆる照準精度を高めることができる。特に、標的オブジェクトＯＢ２の移動予定位置Ｐ２’は、オブジェクト同士の相対位置と標的の移動状態と弾の発射速度に関連付けて求められるため、プレーヤの狙い通りに標的オブジェクトに攻撃を命中させることができるような攻撃方向の設定が可能となる。
【００７０】
また本実施の形態では移動体オブジェクトＯＢ１が、戦車の本体を表現する本体パーツオブジェクトＰＯＢ１と、移動体オブジェクトＯＢ１の攻撃方向を示すように本体パーツオブジェクトＰＯＢ１に対して回転することができる砲身パーツオブジェクトＰＯＢ２（攻撃パーツオブジェクトの一例）とを含んで構成されている。そして本実施の形態では、上述のように移動体オブジェクトＯＢ１の攻撃方向が補正される場合に、攻撃方向の設定変更に伴って砲身パーツオブジェクトＰＯＢ２の向きも変更される。
【００７１】
具体的には、上記において求められた移動体オブジェクトＯＢ１の攻撃方向を補正する攻撃補正ベクトル（図７（Ｂ）のベクトルＶ４）に基づいて、砲身パーツオブジェクトＰＯＢ２のＸ、Ｙ、Ｚ軸回りでの回転角度θ（回転角度情報）を演算し、求められた回転角度情報に基づいて砲身パーツオブジェクトＰＯＢ２の向き（回転角度、方向、傾きと同義）を設定する。例えば、図７（Ｂ）では、ベクトルＶ２とベクトルＶ４との内積（Ｖ２・Ｖ４）から回転角度θを算出することができる。このようにすれば、移動体オブジェクトＯＢ１の攻撃方向と、攻撃方向をプレーヤに示す砲身パーツオブジェクトＰＯＢ２の向きとが一致するため、プレーヤは表示された砲身パーツオブジェクトＰＯＢ２の向きによって移動体オブジェクトＯＢ１の攻撃方向を確認することができる。
【００７２】
ここで、図８〜図１１に本実施の形態の手法を用いて生成される画像の例を示す。
【００７３】
図８では、移動体オブジェクトＯＢ１の攻撃対象を設定するための照準マーカーＭＫ１から離れた位置にオブジェクト空間を画面に向かって左方向に移動する標的オブジェクトＯＢ２が存在する。この状態では標的オブジェクトＯＢ２が照準マーカーＭＫ１に補足されていないと判断されるため、移動体オブジェクトＯＢ１の攻撃方向は、照準マーカーＭＫ１に向かう方向に設定されており、攻撃方向を示す砲身パーツオブジェクトも照準マーカーＭＫ１に向けて配置されている。
【００７４】
この状態において、プレーヤが照準マーカーＭＫ１を操作することによって、あるいは標的オブジェクトＯＢ２が自ら移動することによって、図９に示すように標的オブジェクトＯＢ２が照準マーカーＭＫ１に補捉された状態となると、移動体オブジェクトＯＢ１の攻撃方向は、照準マーカーＭＫ１に捕捉された標的オブジェクトＯＢ２に攻撃が命中するように攻撃方向を照準マーカーＭＫ１に向かう方向から補正される。そして、攻撃方向が補正設定されると、補正後の攻撃方向を示すような向きで砲身パーツオブジェクトＰＯＢ２が配置される。このときプレーヤが弾（ショット）を発射する入力操作を行うと、図１０に示すように移動体オブジェクトＯＢ１の砲身パーツオブジェクトＰＯＢ２の先端部から弾オブジェクトＳＯＢが発射される。この弾オブジェクトＳＯＢは、設定された攻撃方向へ所与の移動速度でオブジェクト空間内を移動する。なお本実施の形態では、図９、図１０に示すように一旦標的オブジェクトＯＢ２が照準マーカーＭＫ１に捕捉され、攻撃対象として設定された場合には、照準マーカーＭＫ１が標的オブジェクトＯＢ２を捕捉し続けるように表示制御されている。最終的に標的オブジェクトＯＢ２の移動状態（移動方向や移動速度）が急激に変化しなければ、移動体オブジェクトＯＢ１から発射された弾オブジェクトＳＯＢは、標的オブジェクトＯＢ２にヒットし、標的オブジェクトＯＢ２が撃破されたことを表現するエフェクトオブジェクトＥＯＢが標的オブジェクトＯＢ２に代わってオブジェクト空間に配置される。
【００７５】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図１２〜１４のフローチャートを用いて説明する。
【００７６】
図１２は、移動体オブジェクトの操作系と照準マーカーの操作系とが独立している場合についての処理例が示されている。
【００７７】
まず画像生成システムは、フレーム更新がされる毎に（ステップＳ１０でＹ）、移動体操作データの取得とマーカー操作データの取得をチェックする処理を行う（ステップＳ１１、ステップＳ１５）。
【００７８】
操作部１６０から移動体操作データが取得された場合には（ステップＳ１１でＹ）、オブジェクト空間を構成する地形オブジェクトの地形データ（高さデータ、傾斜データ）を記憶部１７０の地形データ記憶部１７８から読み出し（ステップＳ１２）、移動体操作データと地形データとに基づいて、移動体オブジェクトの位置（３次元座標（Ｘ、Ｙ、Ｚ））と傾き（Ｘ軸、Ｙ軸、Ｚ軸周りの回転角度）とを求めて（ステップＳ１３）、求められた位置へ求められた傾きとなるように移動体オブジェクトをオブジェクト空間内で移動させる（ステップＳ１４）。これにより、記憶部１７０の移動体データ記憶部１７６に記憶された移動体データは、移動処理後のデータに更新される。
【００７９】
また一方で操作部１６０からマーカー操作データが取得された場合には（ステップＳ１５でＹ）、取得されたマーカー操作データに基づいて照準マーカーのスクリーン座標（Ｘ、Ｙ）を求めて（ステップＳ１６）、照準マーカーを求められたスクリーン座標（Ｘ、Ｙ）へ移動する（ステップＳ１７）。
【００８０】
続いて、攻撃方向の設定処理を行う（ステップＳ１８）。その後は図７（Ａ），（Ｂ）に示したように設定された攻撃方向に基づいて攻撃パーツオブジェクト（例えば砲身パーツオブジェクト）の向きを設定し（ステップＳ１９）、攻撃パーツオブジェクトを設定された向きに移動させる（ステップＳ２０）。
【００８１】
次に、プレーヤが操作部１６０から弾（ショット）の発射指示操作を行っている場合には、ステップＳ１８で設定された攻撃方向へ向けて弾オブジェクトを発射させる処理を行う（ステップＳ２２）。最終的には、移動・動作シミュレーションが行われた移動体オブジェクト、照準マーカー、弾オブジェクトを表示する処理が行われて（ステップＳ２３）、処理が終了する。なお、弾オブジェクトはステップＳ２１において発射指示がなされていないと判断された場合には表示されない。以上に説明した処理によって本実施の形態の手法が実現される。
【００８２】
図１３には、移動体オブジェクトの攻撃方向を設定するための処理例が示されている。
【００８３】
まず標的オブジェクトが照準マーカーに捕捉されているか否かを判断する（ステップＳ３０）。例えば照準マーカーのスクリーン座標（Ｘ，Ｙ）に基づいて、スクリーン座標系に透視投影変換された標的オブジェクトの少なくとも一部が照準マーカーの所定表示領域と重なるか否かを判定する。
【００８４】
標的オブジェクトが照準マーカーに捕捉されている場合には（ステップＳ３０でＹ）、照準マーカーに細くされた標的オブジェクトの位置Ｐ２（ワールド座標系の３次元位置）を取得する（ステップＳ３１）。そして、図１２のステップＳ１３で求められた移動体オブジェクトの位置Ｐ１と図１３のステップＳ３１で取得した標的オブジェクトの位置Ｐ２とを結ぶ相対位置ベクトルＶ２を求める（ステップＳ３２）。続いて標的オブジェクトの移動速度ベクトルＶ３が求められる（ステップＳ３３）。そして、上記の処理において求められ、あるいは取得された位置Ｐ１、ベクトルＶ２、位置Ｐ２、およびベクトルＶ３に基づいて、図７（Ｂ）に示したように、ベクトルＶ４（攻撃補正ベクトル）を求めて（ステップＳ３４）、ベクトルＶ４に基づいて攻撃方向を設定する（ステップＳ３６）。
【００８５】
一方で照準マーカーに標的オブジェクトが捕捉されていないと判断される場合には（ステップＳ３０でＹ）、図７（Ａ）に示したように移動体オブジェクトから照準マーカーに向かうベクトルＶ１を攻撃方向設定ベクトルとして求めて（ステップＳ３５）、ベクトルＶ３に基づいて攻撃方向を設定する（ステップＳ３６）。なお、移動体オブジェクトから照準マーカーに向かうベクトルＶ１は、照準マーカーＭＫ１のスクリーン座標（Ｘ，Ｙ）をワールド座標系の３次元座標（Ｘ，Ｙ，Ｚ）に変換することにより求めることができる。以上に述べたように、図１３の処理によって図７（Ａ），（Ｂ）に示した手法が実現される。
【００８６】
また図１４には、照準マーカーの位置を用いて移動体オブジェクトに関する移動処理を行う場合についての処理例が示されている。なお、図１４におけるステップＳ４４〜Ｓ４６およびＳ５０〜Ｓ５５の処理は、図１２におけるステップＳ１５〜Ｓ１７およびＳ１８〜Ｓ２３の処理と共通であるため、詳細な説明は省略する。
【００８７】
この態様では、フレーム更新ごとに移動体操作データとマーカー操作データの取得チェックが行われた後（ステップＳ４１、Ｓ４４）、移動体操作データが取得されたと判断された場合に（ステップＳ４１でＹ）、ステップＳ４２で取得した地形データと移動体操作データとに基づいて移動体オブジェクトの位置Ｐ１を求めておく点（ステップＳ４３）は図１２の処理例と同様であるが、移動体オブジェクトの傾き（回転角度、方向、向きと同義）は、照準マーカーのスクリーン座標（照準マーカーが移動する場合には、マーカー操作データに基づいて求められた照準マーカーのスクリーン座標）を用いて求められる（ステップＳ４７，Ｓ４８）。具体的には、移動体オブジェクトから照準マーカーに向かうベクトルＶ１を求めて（ステップＳ４７）、このベクトルＶ１の方向成分と地形オブジェクトの地形データとに基づいて、移動体オブジェクトの傾きを求める（ステップＳ４８）。なお、移動体オブジェクトから照準マーカーに向かうベクトルＶ１は、照準マーカーＭＫ１のスクリーン座標（Ｘ，Ｙ）をワールド座標系（あるいは視点座標系）の３次元座標（Ｘ，Ｙ，Ｚ）に変換することにより求めることができる。また移動体オブジェクトの傾きは、移動体操作データと地形データとに基づいて一度求めた後に、照準マーカーの位置に応じて補正するようにしてもよい。こうして移動体オブジェクトの位置Ｐ１と傾きが求められたら、その位置Ｐ１へ求められた傾きをもって移動体オブジェクトを移動させる処理を行う（ステップＳ４９）。その後は図１２に示す処理例と同様の処理としてステップ５０〜Ｓ５５の処理を経て終了する。
【００８８】
なお、図１２および図１３に示した処理例に関して、仮想カメラの位置が移動体オブジェクトを所定の方向から見るように設定されている場合には、プレーヤの入力した操作データ等に応じて移動体オブジェクトの位置、傾きが求められたら、求められた位置、傾きに応じて仮想カメラの位置を再設定するような処理が含まれていてもよい。仮想カメラの位置を設定する処理は、少なくともオブジェクトの描画（表示）が行われる前に行えばよい。
【００８９】
４．ハードウェア構成
図１５に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００９０】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【００９１】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【００９２】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【００９３】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０（ＣＤドライブでもよい）は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２（ＣＤでもよい）にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【００９４】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００９５】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【００９６】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（傾き、攻撃パーツオブジェクト、弾等）として引用された用語（回転角度、向き、方向、砲身パーツオブジェクト、ショット、ビーム等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００９７】
また移動体オブジェクトの移動手法、照準マーカーの表示手法、攻撃方向や攻撃パーツオブジェクトの向きの設定手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【００９８】
また、本実施の形態では、戦車を表現する移動体オブジェクトの攻撃方向を示す攻撃パーツオブジェクトとして砲身パーツオブジェクトが移動体オブジェクトに含まれる場合について説明したが、本発明はこれに限られるものではない。例えば移動体オブジェクトがロボットなどのキャラクタを表現するものである場合には、攻撃パーツオブジェクトとして銃パーツオブジェクトなどを攻撃パーツオブジェクトとして採用することができる。この場合には、ロボットが銃を構える様子によって攻撃方向を示すことができ、この場合には、例えばロボットを表現する本体パーツオブジェクトのモーションを制御することによって攻撃パーツオブジェクトとしての銃パーツオブジェクトの方向を変化させることができる。
【００９９】
また本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１００】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】図２（Ａ）はオブジェクト空間の例。図２（Ｂ）はオブジェクト空間の透視投影変換画像の例。
【図３】図３（Ａ）は本実施の形態の手法の説明図。図３（Ｂ）は操作部の例。
【図４】本実施形態の手法で生成された画像の例。
【図５】本実施形態の手法で生成された画像の例。
【図６】本実施形態の手法で生成された画像の例。
【図７】図７（Ａ）及び図７（Ｂ）は、本実施の形態の手法の説明図。
【図８】本実施形態の手法で生成された画像の例。
【図９】本実施形態の手法で生成された画像の例。
【図１０】本実施形態の手法で生成された画像の例。
【図１１】本実施形態の手法で生成された画像の例。
【図１２】本実施形態の具体的な処理のフローチャート。
【図１３】本実施形態の具体的な処理のフローチャート。
【図１４】本実施形態の具体的な処理のフローチャート。
【図１５】ハードウェア構成例。
【符号の説明】
【０１０１】
ＯＢ１  移動体オブジェクト、
ＰＯＢ１  本体パーツオブジェクト、
ＰＯＢ２  砲身パーツオブジェクト（攻撃パーツオブジェクト）、
ＯＢ２  標的オブジェクト、ＧＯＢ  地形オブジェクト
ＭＫ１  照準マーカー、ＭＫ２  姿勢マーカー、
１００  処理部、
１１０  オブジェクト空間設定部、１１２  仮想カメラ制御部、
１１４  マーカー表示制御部、
１２０  移動・動作処理部、
１２２  移動体処理部、１２４  標的捕捉判定部、
１２６  攻撃方向設定部、１２８  砲身方向設定部、
１３０  画像生成部、１４０  音生成部、１６０、操作部、
１７０  記憶部、１７２  主記憶部、１７４  描画バッファ、
１７６  地形データ記憶部、１７８  移動体データ記憶部、
１８０  情報記憶媒体、１９４  携帯型情報記憶装置、
１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2005319108.tif 000003
【図２】
2005319108.tif 000004
【図３】
2005319108.tif 000005
【図４】
2005319108.tif 000006
【図５】
2005319108.tif 000007
【図６】
2005319108.tif 000008
【図７】
2005319108.tif 000009
【図８】
2005319108.tif 000010
【図９】
2005319108.tif 000011
【図１０】
2005319108.tif 000012
【図１１】
2005319108.tif 000013
【図１２】
2005319108.tif 000014
【図１３】
2005319108.tif 000015
【図１４】
2005319108.tif 000016
【図１５】
2005319108.tif 000017