JP2005319108A - プログラム、情報記憶媒体および画像生成システム - Google Patents

プログラム、情報記憶媒体および画像生成システム Download PDF

Info

Publication number
JP2005319108A
JP2005319108A JP2004140112A JP2004140112A JP2005319108A JP 2005319108 A JP2005319108 A JP 2005319108A JP 2004140112 A JP2004140112 A JP 2004140112A JP 2004140112 A JP2004140112 A JP 2004140112A JP 2005319108 A JP2005319108 A JP 2005319108A
Authority
JP
Japan
Prior art keywords
attack
moving
marker
target
moving object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004140112A
Other languages
English (en)
Other versions
JP4420729B2 (ja
Inventor
Yasushi Omori
靖 大森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Original Assignee
Namco Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd filed Critical Namco Ltd
Priority to JP2004140112A priority Critical patent/JP4420729B2/ja
Publication of JP2005319108A publication Critical patent/JP2005319108A/ja
Application granted granted Critical
Publication of JP4420729B2 publication Critical patent/JP4420729B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

【課題】 プレーヤの操作インターフェース環境の向上を可能にするプログラム、情報記憶媒体及び画像生成システムを提供する。
【解決手段】 操作部からのマーカー操作データに基づいて、標的オブジェクトOB2を移動体オブジェクトOB1の攻撃対象として設定するための照準マーカーMK1の位置を演算して、照準マーカーMK1を移動表示させる制御を行うマーカー表示制御部が、オブジェクト空間を構成する地形オブジェクトの地形データの変化に応じて移動体オブジェクトOB1の傾きが変化した場合であっても、スクリーン座標系のX軸方向を基準X軸方向とし、スクリーン座標系のX軸方向と直交するY軸方向を基準Y軸方向として、照準マーカーMK1を移動表示させる制御を行う。
【選択図】 図2

Description

本発明は、プログラム、情報記憶媒体および画像生成システムに関する。
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。移動体である戦車を操作してオブジェクト空間を移動する標的を撃墜するシューティングゲームの画像を生成する画像生成システムを例にとれば、戦車が攻撃対象の標的に向けて弾(ショット)を発射するゲームの画像を生成する。
このようなシューティングゲームでは、操作技術の未熟なプレーヤにも十分にゲームを楽しませるべく、例えば標的に狙いを定めるための照準マーカーがゲーム画面に表示されることが望ましい。そしてこのような照準マーカーを用いる場合には、照準マーカーが戦車の移動や動作に随時追従するように移動表示される画像を生成する手法がある。
しかしながらこの手法では、戦車がオブジェクト空間の地形変化に応じて姿勢(傾き)が変化した場合にも、その変化に照準マーカーを追従させてしまうと、プレーヤの狙い位置までが細かく変動してしまうため操作感を損なうという課題がある。
特開平10−73471号公報
本発明は上記事情に鑑みてなされたものであり、その目的は、プレーヤの操作インターフェース環境の向上を可能にするプログラム、情報記憶媒体及び画像生成システムを提供することにある。
本発明は、オブジェクト空間を移動する移動体オブジェクトが標的オブジェクトに対する攻撃を行う画像を生成する画像生成システムであって、操作部からの移動体操作データと前記オブジェクト空間を構成する地形オブジェクトの地形データとに基づいて、前記移動体オブジェクトの位置および傾きを演算して、前記移動体オブジェクトを前記オブジェクト空間内で移動させる移動体処理部と、前記操作部からのマーカー操作データに基づいて、前記標的オブジェクトを前記移動体オブジェクトの攻撃対象として設定するための照準マーカーの位置を演算して、該照準マーカーを移動表示させる制御を行うマーカー表示制御部と、前記移動体オブジェクトを含む複数のオブジェクトをスクリーン座標系に透視投影変換して、前記オブジェクト空間における所与の視点から見た画像を生成する画像生成部とを含み、前記マーカー表示制御部が、前記地形データの変化に応じて前記移動体オブジェクトの傾きが変化した場合であっても、前記スクリーン座標系のX軸方向を基準X軸方向とし、該スクリーン座標系の該X軸方向と直交するY軸方向を基準Y軸方向として、前記照準マーカーを移動表示させる制御を行う画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
本発明によれば、標的オブジェクトを移動体オブジェクトの攻撃対象として設定する照準マーカーを操作するための基準軸がスクリーン座標系の座標軸に対応する。また移動体オブジェクトは移動体操作データに基づいて処理され、照準マーカーはマーカー操作データに基づいて処理される。このため、プレーヤは表示画面を基準とした指示操作をすることで、マーカー操作データに基づいて指示通りの方向に照準マーカーを移動させることができる。また、本発明では、マーカー表示制御部が、移動体オブジェクトの傾きに依存せずに、スクリーン座標系の基準軸を利用して照準マーカーを移動させる処理を行う。すなわち、本発明によれば、オブジェクト空間を構成する地形オブジェクトの地形データの変化によりプレーヤが操作する移動体オブジェクトの傾きが変化して場合であっても、照準マーカーの操作基準軸が変わらないため操作インターフェース環境の向上を図ることができる。
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、移動体処理部が、前記操作部からのマーカー操作データに基づき演算された前記照準マーカーの位置と前記移動体オブジェクトの位置とを結ぶベクトルを演算し、該ベクトルと前記オブジェクト空間を構成する地形オブジェクトの地形データとに基づいて前記移動体オブジェクトの傾きを演算し、前記移動体オブジェクトを前記オブジェクト空間内で移動させるようにしてもよい。
このようにすれば、プレーヤが標的オブジェクトに狙いを定めるために操作部から照準マーカーの操作指示入力した場合にも、マーカー操作データに基づき演算される照準マーカーの移動後の位置と地形オブジェクトの地形データとに基づき移動体オブジェクトの傾きが求められる。このため、プレーヤの意図する狙い位置の変化に応じて移動体オブジェクトの自然な動きを表現することができる。また、プレーヤは移動体オブジェクトの操作指示のみならず照準マーカーの操作指示を行うことによっても移動体オブジェクトを変化させることができる。また、この態様によれば、移動体オブジェクトの移動指示のための操作と照準マーカーの移動指示のための操作とを一部共通化することができるため、操作インターフェース環境の向上を図ることができるのみならず、各操作データについての処理負担の軽減を図ることができる。
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記オブジェクト空間を移動する前記標的オブジェクトの少なくとも一部が、前記視点から見て前記照準マーカーの所定領域と重複する場合に、該標的オブジェクトが攻撃対象として前記マーカーに捕捉されていると判定する標的捕捉判定部と、前記標的捕捉判定部の判定結果に基づいて、前記標的オブジェクトが捕捉されていないと判断される場合には、前記移動体オブジェクトの攻撃方向を前記移動体オブジェクトと前記照準マーカーとを結ぶベクトルの方向成分に基づいて設定し、前記標的オブジェクトが捕捉されていると判断される場合には、前記標的オブジェクトの移動予定位置を求めて、求められた該移動予定位置に基づいて前記移動体オブジェクトの攻撃方向を補正する処理を行う攻撃方向設定部とを含んでいてもよい。また上記各部としてコンピュータを機能させてもよい。
例えば移動体オブジェクトからの攻撃を一律に照準マーカーの方向へ行うこととすると、標的オブジェクトが移動している場合には、攻撃がプレーヤの狙い通りに命中しない事態が起こりうる。この態様では、照準マーカーにおいて攻撃対象となる標的オブジェクトが捕捉されていない場合には、照準マーカーの位置をプレーヤの狙い位置として攻撃方向を設定し、照準マーカーにおいて攻撃対象となる標的オブジェクトが捕捉されている場合には、標的オブジェクトの移動予定位置が求められ、当該移動予定位置に基づいて攻撃方向が補正される。このため、プレーヤが攻撃対象として狙っている標的オブジェクトに攻撃を命中させる確率、いわゆる照準精度を高めることによって、操作インターフェース環境の向上を図ることができる。
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記攻撃方向設定部が、前記移動体オブジェクトの位置と前記標的オブジェクトの位置とを結ぶ相対位置ベクトルと、前記標的オブジェクトの移動速度ベクトルとに基づいて前記標的オブジェクトの移動予定位置を求め、該移動予定位置と前記移動体オブジェクトの位置とを結ぶ攻撃方向補正ベクトルを演算することにより、該攻撃方向補正ベクトルの方向成分を前記移動体オブジェクトの攻撃方向とする補正処理を行うようにしてもよい。
このように攻撃方向を補正するようにすれば、プレーヤの狙い通りに標的オブジェクトに攻撃を命中させることができるような標的オブジェクトの移動予定位置を求めることができる。
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記攻撃方向設定部が、前記相対位置ベクトルおよび前記移動速度ベクトルと、前記移動体オブジェクトからの攻撃として該移動体オブジェクトから攻撃対象となる前記標的オブジェクトに向けて発射されるべき弾の発射速度情報とに基づいて、前記攻撃方向補正ベクトルを演算するようにしてもよい。
このようにすれば、攻撃方向補正ベクトルの演算に際して、標的オブジェクトに対して発射される弾(ショット)の発射速度情報を加味することで、弾が命中するような標的オブジェクトの移動予定位置をより正確に求めることができる。
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記移動体オブジェクトは、該移動体オブジェクトの攻撃方向を示すように表示される攻撃パーツオブジェクトとを含んで構成され、前記攻撃方向設定部が前記移動体オブジェクトの攻撃方向を補正する場合に、演算された攻撃方向補正ベクトルに基づいて、前記攻撃パーツオブジェクトの回転角度情報を演算し、該回転角度情報に基づいて該攻撃パーツオブジェクトの向きを補正する処理を行う攻撃パーツ方向設定部を含んでいてもよい。また上記各部としてコンピュータを機能させてもよい。
このようにすれば、移動体オブジェクトの攻撃方向と、攻撃方向をプレーヤに示す攻撃パーツオブジェクトの向きとが一致するため、プレーヤは表示された攻撃パーツオブジェクトの向きによって移動体オブジェクトの攻撃方向を確認することができる。
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記マーカー表示制御部が、前記移動体処理部により求められた前記移動体オブジェクトの傾きに基づいて、該移動体オブジェクトの傾きの変化に応じて変化する姿勢マーカーを表示する制御を行うようにしてもよい。
このようにすれば、プレーヤは姿勢マーカーを注視することにより移動体オブジェクトを見ていなくても移動体オブジェクトの傾きを確認することができ、操作インターフェース環境を向上させることができる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
操作部160は、プレーヤが移動体オブジェクトや照準マーカーの操作データ(移動体操作データ、マーカー操作データ)を入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。操作部160は、共通の操作部材からプレーヤの入力操作の種類に応じて移動体オブジェクト用の操作データ(移動体操作データ)と、オブジェクト空間を移動する標的オブジェクトを攻撃対象として設定するための照準マーカー用の操作データ(マーカー操作データ)とを入力可能とする構成としてもよいし、移動体操作データを入力するための移動体操作部と、マーカー操作部を入力するためのマーカー操作部とが個別の操作部材として設けられている構成であってもよい。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作データ(例えば、移動体操作データ、マーカー操作データ等)やプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、オブジェクト空間設定部110、仮想カメラ制御部112、マーカー表示制御部114、移動・動作処理部120、画像生成部130、音生成部140を含む。なおこれらの一部を省略する構成としてもよい。
オブジェクト空間設定部110は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。すなわちワールド座標系でのオブジェクト(移動体オブジェクト、標的オブジェクト、地形オブジェクト)の位置や回転角度(傾き、向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
移動・動作処理部120は、オブジェクト(キャラクタ、車、戦車、飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち操作部160によりプレーヤが入力した操作データ(移動体操作データ)や、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクト(移動体オブジェクト、標的オブジェクト)をオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。例えば移動体オブジェクトに関してのシミュレーション結果は、移動体データとして記憶部170の移動体データ記憶部176にフレーム更新に対応付けられて更新記憶されていく。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
また移動・動作処理部120は、移動体処理部122と、標的捕捉判定部124と、攻撃方向設定部126と、攻撃パーツ方向設定部128とを含む。
移動体処理部122は、移動体オブジェクトをオブジェクト空間内で移動させる処理を行う。具体的には、操作部160からの移動体操作データと、オブジェクト空間設定部110によりオブジェクト空間に配置設定されている地形オブジェクトの地形データ(高さデータ、傾斜データ等)とに基づいて、移動体オブジェクトの位置(ワールド座標系での3次元座標)および傾き(回転角度、向き、方向と同義)を演算して、求められた位置へ求められた傾きとなるように移動体オブジェクトを移動させる。
標的捕捉判定部124は、照準マーカーに標的オブジェクトが捕捉されているか否かを判定する処理を行う。具体的には、オブジェクト空間を移動する標的オブジェクトの少なくとも一部が、仮想カメラから見て照準マーカーの所定領域(スクリーン座標系における照準マーカーの表示領域あるいは照準マーカーの表示領域とその近傍の領域)と重複する場合に、標的オブジェクトが攻撃対象として照準マーカーに捕捉されていると判定する。そして、照準マーカーに標的オブジェクトが捕捉されていると判断される場合には、照準マーカーに捕捉されている標的オブジェクトが移動体オブジェクトの攻撃対象として設定されることになる。
攻撃方向設定部126は、移動体オブジェクトの攻撃方向、例えば移動体オブジェクトから発射される弾(ビーム、ショットと同義)の発射方向を設定する処理を行う。
具体的には、標的捕捉判定部124の判定結果に基づいて、標的オブジェクトが捕捉されていないと判断される場合には、移動体オブジェクトと照準マーカーとを結ぶベクトルを求めて、その方向成分を移動体オブジェクトの攻撃方向として設定する。
一方、標的オブジェクトが捕捉されていると判断される場合には、標的オブジェクトの移動予定位置(ワールド座標系の3次元位置)を求めて、求められた移動予定位置に基づいて移動体オブジェクトの攻撃方向を補正する。より具体的には、まず移動体オブジェクトのワールド座標系の3次元位置と標的オブジェクトのワールド座標系の3次元位置とを結ぶ相対位置ベクトルと、標的オブジェクトの移動速度ベクトルとに基づいて標的オブジェクトの移動予定位置を求める。そして、求められた移動予定位置と移動体オブジェクトのワールド座標系における3次元位置とを結ぶ攻撃方向補正ベクトルを演算することにより、求められた攻撃方向補正ベクトルの方向成分を移動体オブジェクトの攻撃方向として設定する。また攻撃方向を補正する場合においては、上記において求められた相対位置ベクトルおよび移動速度ベクトルと、移動体オブジェクトからの攻撃として標的オブジェクトに向けて発射されるべき弾(ビーム、ショットと同義)の発射速度情報(弾を表現するオブジェクトの移動速度)とに基づいて、攻撃方向補正ベクトルを演算することもできる。
攻撃パーツ方向設定部128は、移動体オブジェクトを構成する複数のパーツオブジェクトのうち、移動体オブジェクトの攻撃方向を示すように表示される攻撃パーツオブジェクト、例えば本体パーツオブジェクトに対して回転して表示される砲身パーツオブジェクトの向きを設定する処理を行う。具体的には、攻撃方向設定部126が移動体オブジェクトの攻撃方向を補正する際に、演算された攻撃方向補正ベクトルに基づいて、攻撃パーツオブジェクトの回転角度情報(X、Y、Z軸回りでの回転角度)を演算し、求められた回転角度情報に基づいて攻撃パーツオブジェクトの向き(回転角度、方向、傾きと同義)を設定する処理を行う。
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
例えば仮想カメラによりオブジェクト(移動体オブジェクトあるいは標的オブジェクト、具体的にはキャラクタ、ボール、戦車、飛行機など)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部120で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。あるいは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
マーカー表示制御部114は、操作部160からのマーカー操作データに基づいて、照準マーカーの位置を演算して、照準マーカーを移動表示させる制御を行う。ここで照準マーカーは、標的オブジェクトを移動体オブジェクトの攻撃対象として設定するためのオブジェクトであり、カメラ座標系の仮想カメラと正対するスクリーン面(2次元画面)上に2次元オブジェクトとして表示される。
なおマーカー表示制御部114においてマーカー操作データに基づき演算された照準マーカーの位置を用いて、移動体処理部122に移動体オブジェクトの移動処理を行わせてもよい。この場合、移動体処理部122は、求められた照準マーカーの位置と移動体オブジェクトの位置とを結ぶベクトルを演算し、ベクトルとオブジェクト空間を構成する地形オブジェクトの地形データとに基づいて移動体オブジェクトの傾き(回転角度、向き、方向と同義)を演算し、移動体オブジェクトを、求められた傾きとなるようにオブジェクト空間内で移動させる処理を行う。
またマーカー表示制御部114は、移動体オブジェクトと接触する地形オブジェクトの地形データの変化に応じて移動体オブジェクトの傾きが変化した場合であっても、スクリーン座標系のX軸方向を基準X軸方向とし、スクリーン座標系のX軸方向と直交するY軸方向を基準Y軸方向として、照準マーカーを移動表示させる制御を行う。すなわち本実施の形態では、照準マーカーを操作するための基準軸がスクリーン座標系の座標軸に対応する。
またマーカー表示制御部114は、移動体処理部122により求められた移動体オブジェクトの傾きに基づいて、移動体オブジェクトの傾きの変化に応じて変化する姿勢マーカーを表示する表示制御を行うことができる。姿勢マーカーは、照準マーカーと同様に、カメラ座標系の仮想カメラと正対する位置にスプライトとして配置され、スクリーン面(2次元画面)上に表示される。
画像生成部130は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視投影変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を描画バッファ174(フレームバッファ、中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。VRAM)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。なお以下では、プレーヤが戦車を操作することにより標的となる敵と戦闘を行うゲーム画像の表現に本実施形態の手法を採用した場合について主に説明するが、本実施形態の手法は、このようなゲーム画像の表現のみならず、種々の画像表現に適用できる。
2.1 照準マーカーの表示制御
図2(A)には、戦車を模した移動体オブジェクトOB1と移動体オブジェクトのOB1の攻撃対象となる標的オブジェクトOB2とが配置されたオブジェクト空間が示されている。
そして、本実施の形態ではプレーヤが操作部160から移動体操作データを入力することによって、移動体処理部122が、移動体操作データと地形オブジェクトGOBの地形データとに基づいて、移動体オブジェクトOB1をワールド座標系のX軸方向、Y軸方向、あるいはZ軸方向およびこれらの軸周りに関して移動させる処理を行う。このとき画像生成部130は、仮想カメラVCがこのオブジェクト空間を所与の方向(例えば移動体オブジェクトOB1の後方)から見た画像をスクリーン座標系に透視投影変換し、スクリーン面SCに各オブジェクトOB1、OB2、GOBが表現されたゲーム画像が表示部190から表示出力される(図2(B)参照)。このときの表示画面には、プレーヤが操作部160からマーカー操作データを入力した場合に、スクリーン座標系のX軸方向を基準X軸方向とし、スクリーン座標系のY軸方向を基準Y軸方向として移動する照準マーカーMK1も表示される。なお、スクリーン面SCの位置は、仮想カメラVCの位置に基づいて設定され、照準マーカーMK1の表示位置は、仮想カメラVCの動きにあわせて相対的に移動させることができる。
図3(A)に移動体オブジェクトOB1の移動処理と照準マーカーMK1の表示制御の関係を示す。図3(A)では、移動体オブジェクトOB1が地形オブジェクトGOB上の位置P1から位置P1’に移動した場合の照準マーカーMK1の表示制御例を示す。本実施の形態では図3(B)に示す操作部160の移動体操作部OP1から移動体操作データを入力し、操作部160のマーカー操作部OP2からマーカー操作データを入力することができる。図3(B)に示す操作部160の例では、移動体操作部OP1に関して、十字キーの左右方向への入力操作が移動体オブジェクトOB1のワールド座標系の所与の軸周りの回転指示に対応し、十字キーの上下方向の入力操作が移動体オブジェクトOB1のワールド座標系の所与の軸方向への前進指示あるいは後退指示に対応するように設定されている。また図3(B)に示す操作部160の例では、マーカー操作部OP2に関して、十字キーの左右方向への入力操作が照準マーカーMK1のスクリーン座標系のX軸方向への移動指示に対応し、十字キーの上下方向への入力操作が照準マーカーのスクリーン座標系のY軸方向の移動指示に対応するように設定されている。なお、移動体操作部OP1とマーカー操作部OP2とは、操作入力をデジタル的に受け付けるデジタルコントローラであってもよいし、操作入力をアナログ的に受け付けるアナログコントローラ(アナログスティック)であってもよい。
本実施の形態では、地形オブジェクト上の位置P1に配置された移動体オブジェクトOB1に対して移動体操作部OP1から移動体操作データが入力されると、移動体オブジェクトOB1が位置P1から位置P1’に移動する処理が行われる。地形オブジェクトGOBにおける位置P1と位置P1’とでは傾斜に関する地形データが異なるため、移動体オブジェクトOB1が移動される際には地形オブジェクトGOBの位置P1’における傾斜に沿って移動体オブジェクトOB1が配置されるように位置P1’における地形データを利用して、移動体オブジェクトOB1の傾き(回転角度、方向、向きと同義)が求められて、移動体オブジェクトOB1がその傾きとなるように回転されて地形オブジェクトGOB上の位置P1’に配置される。
なお表示画面においては、図3(A)に示すように、移動体オブジェクトOB1の傾き(ワールド座標系のX軸周り、Y軸周り、Z軸周りの回転角度)を示し、移動体オブジェクトOB1の傾き変化に応じて形状や傾き等が変化するオブジェクトとして姿勢マーカーMK2を表示させてもよい。このようにすれば、プレーヤは姿勢マーカーMK2を注視することにより移動体オブジェクトOB1を見ていなくても移動体オブジェクトOB1の傾きを確認することができ、操作インターフェース環境を向上させることができる。なお、姿勢マーカーMK2は、照準マーカーMK1をプレーヤが見たときにプレーヤに照準マーカーMK1と共に認識されるような位置(例えば、照準マーカーMK1の近傍や照準マーカーMK1と重なる位置)に表示されることがより好ましい。
一方、プレーヤがマーカー操作部OP2より照準マーカーの移動を指示する入力操作を行った場合、照準マーカーMK1は、スクリーン座標系のX軸方向を基準X軸方向とし、スクリーン座標系のX軸と直交するY軸方向を基準Y軸方向として移動するように表示制御される。そして、移動体オブジェクトOB1が位置P1から位置P1’に移動することによって、移動体オブジェクトOB1の傾きが変化した場合でも、照準マーカーMK1の操作系における基準X軸方向と基準Y軸方向とは、移動体オブジェクトOB1の傾き変化に依存して変化することはない。
また本実施の形態では、上述のように照準マーカーMK1が移動表示された場合に、照準マーカーMK1の移動位置に応じて移動体オブジェクトOB1の傾きを変化させることもできる。
具体的には、入力されたマーカー操作データに基づき演算された照準マーカーMK1が移動すべき位置と移動体オブジェクトOB1の位置とを結ぶベクトルを演算し、このベクトルと地形オブジェクトGOBの地形データとに基づいて移動体オブジェクトOB1の傾き(回転角度、方向、向きと同義)を演算し、求められた傾きになるように移動体オブジェクトOB1を移動させる。なお、照準マーカーMK1の位置はスクリーン座標系で設定されるものであるため、移動体オブジェクトOB1から照準マーカーMK1に向かうベクトルを求める際には、マーカー操作データに基づいて求められた照準マーカーMK1のスクリーン座標(X,Y)をワールド座標系(あるいは視点座標系)の3次元座標(X,Y,Z)に変換することにより求めることができる。またスクリーン座標が、仮想カメラとの位置関係により設定され、仮想カメラが移動体オブジェクトOB1を所定の方向から見るように設定されている場合には、移動体オブジェクトOB1の傾きが求められたら、求められた傾きに応じて仮想カメラの位置を再設定することができる。
このようにすれば、プレーヤの意図する狙い位置の変化に応じて移動体オブジェクトOB1の自然な動きを表現することができる。また、プレーヤは移動体オブジェクトOB1の操作指示のみならず照準マーカーMK1の操作指示を行うことによっても移動体オブジェクトOB1の状態を変化させることができるため、結果的には移動体オブジェクトOB1の移動指示のための入力操作と照準マーカーMK1の移動指示のための入力操作とを一部共通化することができ、操作インターフェース環境の向上を図ることができる。またこのようにすれば、入力操作の種類が軽減されることにより処理が必要な操作データの種類を減らすことができるため処理部100の処理負担の軽減を図ることができる。
ここで、図4〜図6に本実施の形態の手法を用いて生成される画像の例を示す。
図4においては、傾斜面を有する地形オブジェクトGOBの傾斜面上に移動体オブジェクトOB1が傾けて配置され、表示画面上には移動体オブジェクトOB1と照準マーカーMK1が表示されている。この状態において、プレーヤがマーカー操作部OP2から画面において右方向へ照準マーカーを移動させるための入力操作を行ったとすると、図5に示すように照準マーカーMK1は、移動体オブジェクトOB1の傾きに依存せずに、スクリーン座標系のX軸に沿って表示画面の右方向へ移動表示される。そして、図5の状態から照準マーカーMK1をさらに右方向へ移動させるための入力操作が行われた場合には、図6に示すように、移動体オブジェクトOB1が照準マーカーMK1の位置に応じて傾きが変化して配置される。このように移動体オブジェクトOB1の傾きが変化した場合であっても、照準マーカーMK1はスクリーン座標系のX軸方向を基準X軸方向とするように表示制御されるため、スクリーン座標系を基準にしてそのX軸に沿って表示画面の右方向へ移動して表示される。
以上に述べたように本実施形態の手法によれば、プレーヤは表示画面の上下左右の方向を基準として操作部160のマーカー操作部OP2に対して入力操作を行うことで、プレーヤの指示通りの方向(プレーヤの意図する方向)に照準マーカーMK1を移動させることができる。よって、オブジェクト空間を構成する地形オブジェクトGOBの地形データの変化によりプレーヤが操作すべき移動体オブジェクトOB1の傾きが変化して場合であっても、照準マーカーMK1の操作基準軸が変わらないため操作インターフェース環境の向上を図ることができる。
2.2攻撃方向の設定
本実施の形態では、移動体オブジェクトOB1の攻撃方向の設定に関し、照準マーカーMK1に攻撃対象となる標的オブジェクトOB2が捕捉(攻撃対象として設定)されているか否かによって異なる攻撃方向が設定される。本実施形態では、標的オブジェクトOB2の少なくとも一部が、仮想カメラVCから見て照準マーカーMK1の所定領域(スクリーン座標系における照準マーカーの表示領域あるいは照準マーカーの表示領域とその近傍の領域)と重複する場合に、標的オブジェクトOB2が攻撃対象として照準マーカーMK1に捕捉されているものと判断される。
例えば図7(A)に示す場面においては、仮想カメラVCから見た場合に標的オブジェクトOB2が照準マーカーMK1と到底重なり合わない位置にいるため、かかる場合には標的オブジェクトOB2が照準マーカーMK1に捕捉されていないと判断される。
このとき移動体オブジェクトOB1の攻撃方向の設定は、移動体オブジェクトOB1の位置P1と照準マーカーMK1とを結ぶベクトルV1を攻撃方向設定ベクトルとして求めて、ベクトルV1の方向成分を移動体オブジェクトOB1の攻撃方向として設定する。すなわち、この場合においては、攻撃方向は照準マーカーMK1が移動することにより、照準マーカーを追従するように攻撃方向も変化する。なお、照準マーカーMK1の位置はスクリーン座標系で設定されるものであるため、移動体オブジェクトOB1から照準マーカーMK1に向かうベクトルV1を求める際には、マーカー操作データに基づいて求められた照準マーカーMK1のスクリーン座標(X,Y)をワールド座標系(あるいは視点座標系)の3次元座標(X,Y,Z)に変換することにより求めることができる。
また例えば図7(B)に示す場面においては、仮想カメラから見た場合に照準マーカーMK1と重複して見えるような位置P2に標的オブジェクトOB2が存在する。したがってこの場合には、標的オブジェクトOB2が照準マーカーMK1に捕捉されていると判断される。
このとき標的オブジェクトOB2はオブジェクト空間内を移動しているため、移動体オブジェクトOB1からの攻撃方向を一律に上述のように照準マーカーMK1の方向とすると、移動体オブジェクトから発射された弾(ショット、ビームと同義)がプレーヤの狙い通りに標的オブジェクトOB2に命中しない事態が起こりうる。そこで、このような事態を解消するため、本実施の形態では移動体オブジェクトOB1と標的オブジェクトOB2との位置関係と標的オブジェクトOB2の移動状態とに基づいて、標的オブジェクトOB2に対して弾ができるだけ命中するように(ショットがヒットするように)移動体オブジェクトOB1の攻撃方向を補正して設定する。
具体的には、まず移動体オブジェクトOB1の位置P1と標的オブジェクトの位置P2とを結ぶ相対位置ベクトルV2、および標的オブジェクトOB2の移動速度ベクトルV3を求める。次に求められた相対位置ベクトルV2および移動速度ベクトルV3と、移動体オブジェクトOB1からの弾の発射速度情報(弾オブジェクトのオブジェクト空間内での移動速度)とに基づいて、標的オブジェクトOB2の移動予定位置P2’(ワールド座標系の3次元位置)を演算する。すなわち、求められた移動予定位置P2’は標的オブジェクトOB2の移動状態が変化しないとすれば、その位置に向かって弾を発射することにより標的オブジェクトOB2に弾を命中させることができる位置であるといえる。
最終的には、移動体オブジェクトOB1の位置P1と標的オブジェクトOB2の移動予定位置P2’とを結ぶベクトルV4を攻撃方向補正ベクトルとして求めて、ベクトルV4の方向成分を移動体オブジェクトOB1の攻撃方向として補正設定する。
ここで、ベクトルV4は、次のように表すことができる。
V4=V2+T・V3
Tは、弾の発射速度情報に応じて変化するパラメータであって、弾オブジェクトのオブジェクト空間内での移動速度が大きい場合には小さな値をとり、移動速度が小さい場合には逆に大きくな値をとる。すなわち、弾オブジェクトの移動速度が大きければ、攻撃方向の補正量は小さくなり、弾オブジェクトの移動速度が小さければ、攻撃方向の補正量は大きくなる。
このように、照準マーカーMK1に補足されている標的オブジェクトOB2が移動している場合であっても、標的オブジェクトOB2の移動予定位置を求めて攻撃方向を補正することによって、プレーヤが攻撃対象として狙っている標的オブジェクトOB2に弾を命中させる確率、いわゆる照準精度を高めることができる。特に、標的オブジェクトOB2の移動予定位置P2’は、オブジェクト同士の相対位置と標的の移動状態と弾の発射速度に関連付けて求められるため、プレーヤの狙い通りに標的オブジェクトに攻撃を命中させることができるような攻撃方向の設定が可能となる。
また本実施の形態では移動体オブジェクトOB1が、戦車の本体を表現する本体パーツオブジェクトPOB1と、移動体オブジェクトOB1の攻撃方向を示すように本体パーツオブジェクトPOB1に対して回転することができる砲身パーツオブジェクトPOB2(攻撃パーツオブジェクトの一例)とを含んで構成されている。そして本実施の形態では、上述のように移動体オブジェクトOB1の攻撃方向が補正される場合に、攻撃方向の設定変更に伴って砲身パーツオブジェクトPOB2の向きも変更される。
具体的には、上記において求められた移動体オブジェクトOB1の攻撃方向を補正する攻撃補正ベクトル(図7(B)のベクトルV4)に基づいて、砲身パーツオブジェクトPOB2のX、Y、Z軸回りでの回転角度θ(回転角度情報)を演算し、求められた回転角度情報に基づいて砲身パーツオブジェクトPOB2の向き(回転角度、方向、傾きと同義)を設定する。例えば、図7(B)では、ベクトルV2とベクトルV4との内積(V2・V4)から回転角度θを算出することができる。このようにすれば、移動体オブジェクトOB1の攻撃方向と、攻撃方向をプレーヤに示す砲身パーツオブジェクトPOB2の向きとが一致するため、プレーヤは表示された砲身パーツオブジェクトPOB2の向きによって移動体オブジェクトOB1の攻撃方向を確認することができる。
ここで、図8〜図11に本実施の形態の手法を用いて生成される画像の例を示す。
図8では、移動体オブジェクトOB1の攻撃対象を設定するための照準マーカーMK1から離れた位置にオブジェクト空間を画面に向かって左方向に移動する標的オブジェクトOB2が存在する。この状態では標的オブジェクトOB2が照準マーカーMK1に補足されていないと判断されるため、移動体オブジェクトOB1の攻撃方向は、照準マーカーMK1に向かう方向に設定されており、攻撃方向を示す砲身パーツオブジェクトも照準マーカーMK1に向けて配置されている。
この状態において、プレーヤが照準マーカーMK1を操作することによって、あるいは標的オブジェクトOB2が自ら移動することによって、図9に示すように標的オブジェクトOB2が照準マーカーMK1に補捉された状態となると、移動体オブジェクトOB1の攻撃方向は、照準マーカーMK1に捕捉された標的オブジェクトOB2に攻撃が命中するように攻撃方向を照準マーカーMK1に向かう方向から補正される。そして、攻撃方向が補正設定されると、補正後の攻撃方向を示すような向きで砲身パーツオブジェクトPOB2が配置される。このときプレーヤが弾(ショット)を発射する入力操作を行うと、図10に示すように移動体オブジェクトOB1の砲身パーツオブジェクトPOB2の先端部から弾オブジェクトSOBが発射される。この弾オブジェクトSOBは、設定された攻撃方向へ所与の移動速度でオブジェクト空間内を移動する。なお本実施の形態では、図9、図10に示すように一旦標的オブジェクトOB2が照準マーカーMK1に捕捉され、攻撃対象として設定された場合には、照準マーカーMK1が標的オブジェクトOB2を捕捉し続けるように表示制御されている。最終的に標的オブジェクトOB2の移動状態(移動方向や移動速度)が急激に変化しなければ、移動体オブジェクトOB1から発射された弾オブジェクトSOBは、標的オブジェクトOB2にヒットし、標的オブジェクトOB2が撃破されたことを表現するエフェクトオブジェクトEOBが標的オブジェクトOB2に代わってオブジェクト空間に配置される。
3.本実施形態の処理
次に、本実施形態の詳細な処理例について図12〜14のフローチャートを用いて説明する。
図12は、移動体オブジェクトの操作系と照準マーカーの操作系とが独立している場合についての処理例が示されている。
まず画像生成システムは、フレーム更新がされる毎に(ステップS10でY)、移動体操作データの取得とマーカー操作データの取得をチェックする処理を行う(ステップS11、ステップS15)。
操作部160から移動体操作データが取得された場合には(ステップS11でY)、オブジェクト空間を構成する地形オブジェクトの地形データ(高さデータ、傾斜データ)を記憶部170の地形データ記憶部178から読み出し(ステップS12)、移動体操作データと地形データとに基づいて、移動体オブジェクトの位置(3次元座標(X、Y、Z))と傾き(X軸、Y軸、Z軸周りの回転角度)とを求めて(ステップS13)、求められた位置へ求められた傾きとなるように移動体オブジェクトをオブジェクト空間内で移動させる(ステップS14)。これにより、記憶部170の移動体データ記憶部176に記憶された移動体データは、移動処理後のデータに更新される。
また一方で操作部160からマーカー操作データが取得された場合には(ステップS15でY)、取得されたマーカー操作データに基づいて照準マーカーのスクリーン座標(X、Y)を求めて(ステップS16)、照準マーカーを求められたスクリーン座標(X、Y)へ移動する(ステップS17)。
続いて、攻撃方向の設定処理を行う(ステップS18)。その後は図7(A),(B)に示したように設定された攻撃方向に基づいて攻撃パーツオブジェクト(例えば砲身パーツオブジェクト)の向きを設定し(ステップS19)、攻撃パーツオブジェクトを設定された向きに移動させる(ステップS20)。
次に、プレーヤが操作部160から弾(ショット)の発射指示操作を行っている場合には、ステップS18で設定された攻撃方向へ向けて弾オブジェクトを発射させる処理を行う(ステップS22)。最終的には、移動・動作シミュレーションが行われた移動体オブジェクト、照準マーカー、弾オブジェクトを表示する処理が行われて(ステップS23)、処理が終了する。なお、弾オブジェクトはステップS21において発射指示がなされていないと判断された場合には表示されない。以上に説明した処理によって本実施の形態の手法が実現される。
図13には、移動体オブジェクトの攻撃方向を設定するための処理例が示されている。
まず標的オブジェクトが照準マーカーに捕捉されているか否かを判断する(ステップS30)。例えば照準マーカーのスクリーン座標(X,Y)に基づいて、スクリーン座標系に透視投影変換された標的オブジェクトの少なくとも一部が照準マーカーの所定表示領域と重なるか否かを判定する。
標的オブジェクトが照準マーカーに捕捉されている場合には(ステップS30でY)、照準マーカーに細くされた標的オブジェクトの位置P2(ワールド座標系の3次元位置)を取得する(ステップS31)。そして、図12のステップS13で求められた移動体オブジェクトの位置P1と図13のステップS31で取得した標的オブジェクトの位置P2とを結ぶ相対位置ベクトルV2を求める(ステップS32)。続いて標的オブジェクトの移動速度ベクトルV3が求められる(ステップS33)。そして、上記の処理において求められ、あるいは取得された位置P1、ベクトルV2、位置P2、およびベクトルV3に基づいて、図7(B)に示したように、ベクトルV4(攻撃補正ベクトル)を求めて(ステップS34)、ベクトルV4に基づいて攻撃方向を設定する(ステップS36)。
一方で照準マーカーに標的オブジェクトが捕捉されていないと判断される場合には(ステップS30でY)、図7(A)に示したように移動体オブジェクトから照準マーカーに向かうベクトルV1を攻撃方向設定ベクトルとして求めて(ステップS35)、ベクトルV3に基づいて攻撃方向を設定する(ステップS36)。なお、移動体オブジェクトから照準マーカーに向かうベクトルV1は、照準マーカーMK1のスクリーン座標(X,Y)をワールド座標系の3次元座標(X,Y,Z)に変換することにより求めることができる。以上に述べたように、図13の処理によって図7(A),(B)に示した手法が実現される。
また図14には、照準マーカーの位置を用いて移動体オブジェクトに関する移動処理を行う場合についての処理例が示されている。なお、図14におけるステップS44〜S46およびS50〜S55の処理は、図12におけるステップS15〜S17およびS18〜S23の処理と共通であるため、詳細な説明は省略する。
この態様では、フレーム更新ごとに移動体操作データとマーカー操作データの取得チェックが行われた後(ステップS41、S44)、移動体操作データが取得されたと判断された場合に(ステップS41でY)、ステップS42で取得した地形データと移動体操作データとに基づいて移動体オブジェクトの位置P1を求めておく点(ステップS43)は図12の処理例と同様であるが、移動体オブジェクトの傾き(回転角度、方向、向きと同義)は、照準マーカーのスクリーン座標(照準マーカーが移動する場合には、マーカー操作データに基づいて求められた照準マーカーのスクリーン座標)を用いて求められる(ステップS47,S48)。具体的には、移動体オブジェクトから照準マーカーに向かうベクトルV1を求めて(ステップS47)、このベクトルV1の方向成分と地形オブジェクトの地形データとに基づいて、移動体オブジェクトの傾きを求める(ステップS48)。なお、移動体オブジェクトから照準マーカーに向かうベクトルV1は、照準マーカーMK1のスクリーン座標(X,Y)をワールド座標系(あるいは視点座標系)の3次元座標(X,Y,Z)に変換することにより求めることができる。また移動体オブジェクトの傾きは、移動体操作データと地形データとに基づいて一度求めた後に、照準マーカーの位置に応じて補正するようにしてもよい。こうして移動体オブジェクトの位置P1と傾きが求められたら、その位置P1へ求められた傾きをもって移動体オブジェクトを移動させる処理を行う(ステップS49)。その後は図12に示す処理例と同様の処理としてステップ50〜S55の処理を経て終了する。
なお、図12および図13に示した処理例に関して、仮想カメラの位置が移動体オブジェクトを所定の方向から見るように設定されている場合には、プレーヤの入力した操作データ等に応じて移動体オブジェクトの位置、傾きが求められたら、求められた位置、傾きに応じて仮想カメラの位置を再設定するような処理が含まれていてもよい。仮想カメラの位置を設定する処理は、少なくともオブジェクトの描画(表示)が行われる前に行えばよい。
4.ハードウェア構成
図15に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980(CDドライブでもよい)は、プログラム、画像データ、或いは音データなどが格納されるDVD982(CDでもよい)にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(傾き、攻撃パーツオブジェクト、弾等)として引用された用語(回転角度、向き、方向、砲身パーツオブジェクト、ショット、ビーム等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
また移動体オブジェクトの移動手法、照準マーカーの表示手法、攻撃方向や攻撃パーツオブジェクトの向きの設定手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
また、本実施の形態では、戦車を表現する移動体オブジェクトの攻撃方向を示す攻撃パーツオブジェクトとして砲身パーツオブジェクトが移動体オブジェクトに含まれる場合について説明したが、本発明はこれに限られるものではない。例えば移動体オブジェクトがロボットなどのキャラクタを表現するものである場合には、攻撃パーツオブジェクトとして銃パーツオブジェクトなどを攻撃パーツオブジェクトとして採用することができる。この場合には、ロボットが銃を構える様子によって攻撃方向を示すことができ、この場合には、例えばロボットを表現する本体パーツオブジェクトのモーションを制御することによって攻撃パーツオブジェクトとしての銃パーツオブジェクトの方向を変化させることができる。
また本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
本実施形態の画像生成システムの機能ブロック図の例。 図2(A)はオブジェクト空間の例。図2(B)はオブジェクト空間の透視投影変換画像の例。 図3(A)は本実施の形態の手法の説明図。図3(B)は操作部の例。 本実施形態の手法で生成された画像の例。 本実施形態の手法で生成された画像の例。 本実施形態の手法で生成された画像の例。 図7(A)及び図7(B)は、本実施の形態の手法の説明図。 本実施形態の手法で生成された画像の例。 本実施形態の手法で生成された画像の例。 本実施形態の手法で生成された画像の例。 本実施形態の手法で生成された画像の例。 本実施形態の具体的な処理のフローチャート。 本実施形態の具体的な処理のフローチャート。 本実施形態の具体的な処理のフローチャート。 ハードウェア構成例。
符号の説明
OB1 移動体オブジェクト、
POB1 本体パーツオブジェクト、
POB2 砲身パーツオブジェクト(攻撃パーツオブジェクト)、
OB2 標的オブジェクト、GOB 地形オブジェクト
MK1 照準マーカー、MK2 姿勢マーカー、
100 処理部、
110 オブジェクト空間設定部、112 仮想カメラ制御部、
114 マーカー表示制御部、
120 移動・動作処理部、
122 移動体処理部、124 標的捕捉判定部、
126 攻撃方向設定部、128 砲身方向設定部、
130 画像生成部、140 音生成部、160、操作部、
170 記憶部、172 主記憶部、174 描画バッファ、
176 地形データ記憶部、178 移動体データ記憶部、
180 情報記憶媒体、194 携帯型情報記憶装置、
190 表示部、192 音出力部、196 通信部

Claims (11)

  1. オブジェクト空間を移動する移動体オブジェクトが標的オブジェクトに対する攻撃を行う画像を生成するためのプログラムであって、
    操作部からの移動体操作データと前記オブジェクト空間を構成する地形オブジェクトの地形データとに基づいて、前記移動体オブジェクトの位置および傾きを演算して、前記移動体オブジェクトを前記オブジェクト空間内で移動させる移動体処理部と、
    前記操作部からのマーカー操作データに基づいて、前記標的オブジェクトを前記移動体オブジェクトの攻撃対象として設定するための照準マーカーの位置を演算して、該照準マーカーを移動表示させる制御を行うマーカー表示制御部と、
    前記移動体オブジェクトを含む複数のオブジェクトをスクリーン座標系に透視投影変換して、前記オブジェクト空間における所与の視点から見た画像を生成する画像生成部として、
    コンピュータを機能させ、
    前記マーカー表示制御部が、
    前記地形データの変化に応じて前記移動体オブジェクトの傾きが変化した場合であっても、前記スクリーン座標系のX軸方向を基準X軸方向とし、該スクリーン座標系の該X軸方向と直交するY軸方向を基準Y軸方向として、前記照準マーカーを移動表示させる制御を行うことを特徴とするプログラム。
  2. 請求項1において、
    移動体処理部が、
    前記マーカー操作データに基づき演算された前記照準マーカーの位置と前記移動体オブジェクトの位置とを結ぶベクトルを演算し、該ベクトルと前記オブジェクト空間を構成する地形オブジェクトの地形データとに基づいて前記移動体オブジェクトの傾きを演算し、前記移動体オブジェクトを前記オブジェクト空間内で移動させることを特徴とするプログラム。
  3. 請求項1または2において、
    前記オブジェクト空間を移動する前記標的オブジェクトの少なくとも一部が、前記視点から見て前記照準マーカーの所定領域と重複する場合に、該標的オブジェクトが攻撃対象として前記照準マーカーに捕捉されていると判定する標的捕捉判定部と、
    前記標的捕捉判定部の判定結果に基づいて、前記標的オブジェクトが捕捉されていないと判断される場合には、前記移動体オブジェクトの攻撃方向を前記移動体オブジェクトと前記照準マーカーとを結ぶベクトルの方向成分に基づいて設定し、前記標的オブジェクトが捕捉されていると判断される場合には、前記標的オブジェクトの移動予定位置を求めて、求められた該移動予定位置に基づいて前記移動体オブジェクトの攻撃方向を補正する処理を行う攻撃方向設定部として、
    コンピュータを機能させることを特徴とするプログラム。
  4. 請求項3において、
    前記攻撃方向設定部が、
    前記移動体オブジェクトの位置と前記標的オブジェクトの位置とを結ぶ相対位置ベクトルと、前記標的オブジェクトの移動速度ベクトルとに基づいて前記標的オブジェクトの移動予定位置を求め、該移動予定位置と前記移動体オブジェクトの位置とを結ぶ攻撃方向補正ベクトルを演算することにより、該攻撃方向補正ベクトルの方向成分を前記移動体オブジェクトの攻撃方向とする補正処理を行うことを特徴とするプログラム。
  5. 請求項4において、
    前記攻撃方向設定部が、
    前記相対位置ベクトルおよび前記移動速度ベクトルと、前記移動体オブジェクトからの攻撃として該移動体オブジェクトから攻撃対象となる前記標的オブジェクトに向けて発射されるべき弾の発射速度情報とに基づいて、前記攻撃方向補正ベクトルを演算することを特徴とするプログラム。
  6. 請求項3〜5のいずれかにおいて、
    前記移動体オブジェクトは、該移動体オブジェクトの攻撃方向を示すように表示される攻撃パーツオブジェクトとを含んで構成され、
    前記攻撃方向設定部が前記移動体オブジェクトの攻撃方向を補正する場合に、演算された攻撃方向補正ベクトルに基づいて、前記攻撃パーツオブジェクトの回転角度情報を演算し、該回転角度情報に基づいて該攻撃パーツオブジェクトの向きを設定する処理を行う攻撃パーツ方向設定部としてコンピュータを機能させることを特徴とするプログラム。
  7. 請求項1〜6のいずれかにおいて、
    前記マーカー表示制御部が、
    前記移動体処理部により求められた前記移動体オブジェクトの傾きに基づいて、該移動体オブジェクトの傾きの変化に応じて変化する姿勢マーカーを表示する表示制御を行うことを特徴とするプログラム。
  8. コンピュータにより読取可能な情報記憶媒体であって、請求項1〜7のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
  9. オブジェクト空間を移動する移動体オブジェクトが標的オブジェクトに対する攻撃を行う画像を生成する画像生成システムであって、
    操作部からの移動体操作データと前記オブジェクト空間を構成する地形オブジェクトの地形データとに基づいて、前記移動体オブジェクトの位置および傾きを演算して、前記移動体オブジェクトを前記オブジェクト空間内で移動させる移動体処理部と、
    前記操作部からのマーカー操作データに基づいて、前記標的オブジェクトを前記移動体オブジェクトの攻撃対象として設定するための照準マーカーの位置を演算して、該照準マーカーを移動させる表示制御を行うマーカー表示制御部と、
    前記移動体オブジェクトを含む複数のオブジェクトをスクリーン座標系に透視投影変換して、前記オブジェクト空間における所与の視点から見た画像を生成する画像生成部と、
    を含み、
    前記マーカー表示制御部が、
    前記地形データの変化に応じて前記移動体オブジェクトの傾きが変化した場合であっても、前記スクリーン座標系のX軸方向を基準X軸方向とし、該スクリーン座標系の該X軸方向と直交するY軸方向を基準Y軸方向として、前記照準マーカーを移動させる表示制御を行うことを特徴とする画像生成システム。
  10. 請求項9において、
    前記視点から見て前記オブジェクト空間を移動する前記標的オブジェクトの少なくとも一部が前記照準マーカーの所定領域と重複する場合に、該標的オブジェクトが攻撃対象として前記照準マーカーに捕捉されていると判定する標的捕捉判定部と、
    前記標的捕捉判定部の判定結果に基づいて、前記標的オブジェクトが捕捉されていないと判断される場合には、前記移動体オブジェクトの傾きに応じて前記攻撃方向を前記移動体オブジェクトと前記照準マーカーとを結ぶベクトルの方向成分に基づいて設定し、前記標的オブジェクトが捕捉されていると判断される場合には、前記標的オブジェクトの移動予定位置を求めて、求められた該移動予定位置に基づいて前記移動体オブジェクトの攻撃方向を補正する処理を行う攻撃方向設定部と、
    を含むことを特徴とする画像生成システム。
  11. 請求項9または10において、
    前記移動体オブジェクトは、該移動体オブジェクトの攻撃方向を示すように表示される攻撃パーツオブジェクトとを含んで構成され、
    前記攻撃方向設定部が前記移動体オブジェクトの攻撃方向を補正する場合に、演算された攻撃方向補正ベクトルに基づいて、前記攻撃パーツオブジェクトの回転角度情報を演算し、該回転角度情報に基づいて該攻撃パーツオブジェクトの向きを補正する処理を行う攻撃パーツ方向設定部を含むことを特徴とする画像生成システム。
JP2004140112A 2004-05-10 2004-05-10 プログラム、情報記憶媒体および画像生成システム Expired - Lifetime JP4420729B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004140112A JP4420729B2 (ja) 2004-05-10 2004-05-10 プログラム、情報記憶媒体および画像生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004140112A JP4420729B2 (ja) 2004-05-10 2004-05-10 プログラム、情報記憶媒体および画像生成システム

Publications (2)

Publication Number Publication Date
JP2005319108A true JP2005319108A (ja) 2005-11-17
JP4420729B2 JP4420729B2 (ja) 2010-02-24

Family

ID=35466826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004140112A Expired - Lifetime JP4420729B2 (ja) 2004-05-10 2004-05-10 プログラム、情報記憶媒体および画像生成システム

Country Status (1)

Country Link
JP (1) JP4420729B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008113762A (ja) * 2006-11-01 2008-05-22 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
JP2008264276A (ja) * 2007-04-23 2008-11-06 Atlus Co Ltd ゲームプログラム、ゲーム装置及び記憶媒体
JP2012221022A (ja) * 2011-04-05 2012-11-12 Nintendo Co Ltd 情報処理プログラム、情報処理システム、および情報処理方法
US8678898B2 (en) 2010-03-31 2014-03-25 Namco Bandai Games Inc. Information storage medium, terminal, image generation method, and network system
CN111111177A (zh) * 2019-12-23 2020-05-08 北京像素软件科技股份有限公司 游戏特效扰动背景的方法、装置和电子设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008113762A (ja) * 2006-11-01 2008-05-22 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
JP2008264276A (ja) * 2007-04-23 2008-11-06 Atlus Co Ltd ゲームプログラム、ゲーム装置及び記憶媒体
US8678898B2 (en) 2010-03-31 2014-03-25 Namco Bandai Games Inc. Information storage medium, terminal, image generation method, and network system
JP2012221022A (ja) * 2011-04-05 2012-11-12 Nintendo Co Ltd 情報処理プログラム、情報処理システム、および情報処理方法
CN111111177A (zh) * 2019-12-23 2020-05-08 北京像素软件科技股份有限公司 游戏特效扰动背景的方法、装置和电子设备

Also Published As

Publication number Publication date
JP4420729B2 (ja) 2010-02-24

Similar Documents

Publication Publication Date Title
US7084855B2 (en) Image generation method, program, and information storage medium
US7922584B2 (en) Image generation method and information storage medium with program for video game in which operation of the controller beyond a predetermined angle causes a character to attack
JP5161256B2 (ja) プログラム、情報記憶媒体、及び、画像生成装置
JP5614956B2 (ja) プログラム、画像生成システム
JP4740644B2 (ja) 画像処理プログラムおよび画像処理装置
JP6643775B2 (ja) ゲーム機、ゲームシステム及びプログラム
JP3747050B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2001067490A (ja) 画像生成システム及び情報記憶媒体
JP2011053838A (ja) プログラム、情報記憶媒体、及び、画像生成装置
JP5443129B2 (ja) プログラム及びネットワークシステム
JP2017118979A (ja) ゲーム装置及びプログラム
JP3786670B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2012215934A (ja) プログラム、情報記憶媒体、端末、及びサーバ
JP4508918B2 (ja) 画像生成システム及び情報記憶媒体
JP2005319029A (ja) プログラム、情報記憶媒体および画像生成システム
JP4662271B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4420729B2 (ja) プログラム、情報記憶媒体および画像生成システム
JP3786671B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2011255114A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2008067853A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP5054908B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2011096017A (ja) プログラム、情報記憶媒体、及び端末
JP2006263321A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2006318196A (ja) プログラム、情報記憶媒体及び画像生成システム
JP3990050B2 (ja) ゲーム装置及び情報記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090721

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091201

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4420729

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131211

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250