JP2005122479A - プログラム、情報記憶媒体及び画像生成装置 - Google Patents

プログラム、情報記憶媒体及び画像生成装置 Download PDF

Info

Publication number
JP2005122479A
JP2005122479A JP2003356804A JP2003356804A JP2005122479A JP 2005122479 A JP2005122479 A JP 2005122479A JP 2003356804 A JP2003356804 A JP 2003356804A JP 2003356804 A JP2003356804 A JP 2003356804A JP 2005122479 A JP2005122479 A JP 2005122479A
Authority
JP
Japan
Prior art keywords
primitive
collision
partial
primitive surface
texture
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.)
Pending
Application number
JP2003356804A
Other languages
English (en)
Inventor
Shigeru Sato
茂 佐藤
Yoshinori Sato
嘉範 佐藤
Tadashi Iguchi
正 井口
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 JP2003356804A priority Critical patent/JP2005122479A/ja
Publication of JP2005122479A publication Critical patent/JP2005122479A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】マルチテクスチャマッピングを利用せずに、部分的な表現に適したより処理負荷の少ないエフェクト処理を実現する。
【解決手段】ビル6に砲弾4が着弾した場合、砲弾4の衝突位置Hを中心に判定領域8に頂点が含まれるビル6のプリミティブ面を選択して複製し、これを衝突痕表示用オブジェクト5として新たに設定する。該オブジェクトを、複製したビル6のプリミティブ面と合わせるように配置し、衝突位置Hを含むプリミティブ面の単位法線ベクトルと平行に衝突痕テクスチャを平行投影テクスチャマッピングする。そして、ビル6の色情報とアルファブレンディング処理して、ゲーム画面を描画する。
【選択図】図3

Description

本発明は、コンピュータに、3次元仮想空間内に配置された第1オブジェクトが複数のプリミティブ面によって構成された第2オブジェクトに衝突する前記3次元仮想空間の画像を生成させるためのプログラム等に関する。
従来、シューティングゲームやアクションゲームなど、戦闘や破壊をモチーフとするジャンルのゲームが知られている。これらのジャンルのゲームにおいては、戦闘によって建物が壊れる様子や攻撃の痕を如何により本物らしく見せるかが、ゲームのリアリティや迫力を演出する上で重要な技術課題となっている。
表面のディテール表現を高める手法としては、所謂「テクスチャマッピング」が知られている。近年では、一つのオブジェクトに複数のテクスチャを重ねてマッピングする「マルチテクスチャマッピング」によって、より多様でリアルなディテール表現が可能となっている。
マルチテクスチャマッピングの機能がサポートされていない画像処理装置等でも同様の効果を得られるように、ジオメトリ処理後のオブジェクトデータをメインメモリに保存しておいて、この保存されているデータを再利用する方法も知られている(例えば、特許文献1参照)。同手法で、例えば2種類のテクスチャを重ねてマッピングする場合、ジオメトリ処理後のオブジェクトデータで第1のテクスチャをマッピングしたオブジェクトをフレームバッファに書き込み、次いで、同データを再度使用して第2のテクスチャをマッピングしたオブジェクトをフレームバッファにアルファブレンディングによって重ねて描画することによって、マルチテクスチャマッピングと同様の表現を実現している。
また、オブジェクトそのものの外形を変形させる表現手法としては、例えば、攻撃を受けた部位を切断して切断面に新たなプリミティブ面(代表例として、ポリゴンが有る。)を生成するとともに、攻撃を受けた部位を分離することによって、破壊の様子を表現するものが知られている(例えば、特許文献2参照)。
特許第3292713号公報 特許第3340970号公報
ところが、上述のような従来の手法は、例えば、弾痕や血痕、攻撃によって生じた煤痕などといった部分的なエフェクト表現を多用する場合には、処理負荷が大きくなってしまうために適当とは言えなかった。
例えば、ジオメトリ処理後のオブジェクトデータをメインメモリに保存して再利用する前者の方法では、種類の異なるテクスチャを適用するたびに、対象とするオブジェクトの全プリミティブ面について計算する必要がある。そのため、攻撃の痕が適用されない部分の計算に係る処理が不要な処理負荷となってしまっていた。
また、攻撃を受けたオブジェクトの部分を切断して分離する後者の場合、攻撃の痕が短時間で多数に及ぶ場合には、切断面の決定と切断面への新たなプリミティブ面の生成等に係る処理負荷が大きくなってしまう。
本発明はこうした課題を鑑みてなされたものであり、マルチテクスチャマッピングを利用せずに、部分的な表現に適したより処理負荷の少ないエフェクト処理を実現することを目的とする。
上記課題を解決するために、第1の発明は、コンピュータ(例えば,図1の家庭用ゲーム装置1200)に3次元仮想空間内に配置された第1オブジェクト(例えば、図2の砲弾4)が複数のプリミティブ面によって構成された第2オブジェクト(例えば、図2のビル6)に衝突する前記3次元仮想空間の画像を生成させるためのプログラムであって、
前記第2オブジェクトを構成するプリミティブ面のうち、前記第1オブジェクトが衝突する衝突位置から所定範囲(例えば、図3の判定領域8)内に含まれるプリミティブ面を選択する選択手段(例えば、図6のゲーム演算部22、プリミティブ面選択部221、図8のステップS20〜S32)、前記選択手段により選択されたプリミティブ面を基に前記第2オブジェクトの部分オブジェクトを生成して、生成した部分オブジェクトに所定のテクスチャをマッピングする部分オブジェクト生成手段(例えば、図6のゲーム演算部22、衝突痕表示用オブジェクト設定部222、図8のステップS34〜S46)、前記生成された部分オブジェクトを生成もとの前記第2オブジェクトの対応する位置に配置し、前記部分オブジェクトの色情報と前記第2オブジェクトの色情報とを合成することにより前記第2オブジェクトの画像を生成するオブジェクト画像生成手段(例えば、図6のゲーム演算部22、衝突痕表示用オブジェクト設定部222、画像生成部24、図7のステップS14〜S16)、として前記コンピュータを機能させることを特徴とする。
第13の発明の画像生成装置は、3次元仮想空間内に配置された第1オブジェクトが複数のプリミティブ面によって構成された第2オブジェクトに衝突する前記3次元仮想空間の画像を生成する画像生成装置(例えば,図1の家庭用ゲーム装置1200)であって、
前記第2オブジェクトを構成するプリミティブ面のうち、前記第1オブジェクトが衝突する衝突位置から所定範囲内に含まれるプリミティブ面を選択する選択手段(例えば、図6のゲーム演算部22、プリミティブ面選択部221、図8のステップS20〜S32)と、前記選択手段により選択されたプリミティブ面を基に前記第2オブジェクトの部分オブジェクトを生成して、生成した部分オブジェクトに所定のテクスチャをマッピングする部分オブジェクト生成手段(例えば、図6のゲーム演算部22、衝突痕表示用オブジェクト設定部222、図8のステップS34〜S46)と、前記生成された部分オブジェクトを生成もとの前記第2オブジェクトの対応する位置に配置し、前記部分オブジェクトの色情報と前記第2オブジェクトの色情報とを合成することにより前記第2オブジェクトの画像を生成するオブジェクト画像生成手段例えば、図6のゲーム演算部22、衝突痕表示用オブジェクト設定部222、画像生成部24、図7のステップS14〜S16)と、を備えることを特徴とする。
ここで言う「所定のテクスチャ」とは、例えば、弾痕や着弾時の爆発によって生じた煤痕、血痕、キズ、凹みを表す衝突痕のテクスチャである。
第1又は13の発明によれば、第1オブジェクトの衝突を受けた第2オブジェクトのプリミティブ面の中から、衝突位置から所定範囲内に含まれるプリミティブ面を複製して、他のオブジェクトが衝突したことを示す所定のテクスチャをマッピングする部分オブジェクトを生成することができる。そして、部分オブジェクトのプリミティブ面と、複製元である第2オブジェクトにおける元のプリミティブ面とを対応させて配置し、部分オブジェクトの色情報と前記第2オブジェクトの色情報とを合成することにより画像を生成することができる。すなわち、衝突位置に合わせた形状で衝突痕が表示される部分オブジェクトを生成し、第2オブジェクトと色情報を合成するようにして貼りつけることができる。
また、部分オブジェクトは、複製元の第2オブジェクトの一部を複製するだけなので、オブジェクトの生成に要する処理負荷は小さくて済む。そして、マッピング処理の対象となるプリミティブ面も少なく、第2オブジェクト全体のプリミティブ面を処理対象とする場合に比べて大幅な処理負荷の削減を実現できる。
第2の発明は、第1の発明のプログラムであって、前記部分オブジェクト生成手段が、前記部分オブジェクトの透明度情報を設定する透明度情報設定手段(例えば、図6のゲーム演算部22、衝突痕表示用オブジェクト設定部222、図8のステップS38〜S46)を有し、前記オブジェクト画像生成手段が、前記設定された透明度情報に基づいて前記部分オブジェクトの色情報と前記第2オブジェクトの色情報とを合成する、ように前記コンピュータを機能させることを特徴とする。
第2の発明によれば、第1の発明と同様の効果を奏するとともに、部分オブジェクトに透明度情報を設定し、この透明度情報に基づいて色合成することができる。したがって、衝突痕を半透明として第2オブジェクトの部分に表現することができる。
より好適には、第3の発明のように、第2の発明のプログラムであって、前記透明度情報設定手段が、前記選択されたプリミティブ面の頂点それぞれについて、前記衝突位置から当該頂点までのベクトルと当該プリミティブ面の法線ベクトル(例えば、図3の単位法線ベクトルNf)と前記衝突位置を含むプリミティブ面の法線ベクトル(例えば、図3の単位法線ベクトルNh)との内積値に基づいて当該プリミティブ面の透明度情報を設定するように前記コンピュータを機能させるとしても良い。
第3の発明によれば、第2の発明と同様の効果を奏するとともに、衝突位置の含まれるプリミティブ面と各プリミティブ面との成す角度やプリミティブ面間の距離に応じて透明度を設定することができる。
また、第4の発明は、第1〜3の発明のうち何れか一つの発明のプログラムであって、前記部分オブジェクト生成手段は、平面投影マッピングにより前記テクスチャのマッピングを行う手段であることを特徴とする。
ここで言う「平面投影マッピング」とは、一方の方向に向かってテクスチャを投影させるマッピング方法であって、平行投影マッピングと同義である。
第4の発明によれば、第1〜3の発明のうち何れか一つの発明と同様の効果を奏するとともに、一方の方向に向かってテクスチャを投影させるように所定のテクスチャをマッピングすることができる。例えば、部分オブジェクトの衝突位置を含むプリミティブ面と角度を成す位置には、所定のテクスチャが「流れた」ようにしてマッピングされる。これによって、着弾時の爆発による煤痕や血痕、破片によるキズといった衝突痕を表現する場合に、衝突時の第1オブジェクトが一方から衝突したその勢い(慣性)を感じさせるように、少ない演算負荷でよりリアルに表現することができる。
第5の発明は、第1〜4の発明のうち何れか一つの発明のプログラムであって、前記選択手段が、前記衝突位置を中心とする所与の3次元範囲(例えば,図3の判定領域8)を前記所定範囲とするように前記コンピュータを機能させることを特徴とする。
第5の発明によれば、第1〜4の発明のうち何れか一つの発明と同様の効果を奏するとともに、第2オブジェクトのプリミティブ面の中から、衝突位置を中心とした3次元範囲に含まれるプリミティブ面を部分オブジェクトとして生成することができる。すなわち、凹凸の有る立体的な構造部分に第1オブジェクトが衝突した場合であっても、衝突位置を含むプリミティブ面に連結されていないプリミティブ面であっても、衝突の影響を受ける部分として立体的に抜き出して部分オブジェクトとすることができる。
したがって、着弾時の爆発によって生じる煤痕のように3次元的にその影響が残る衝突痕を表現する際により自然に表現することができる。尚、ここで言う「所与の3次元範囲」の外形は、楕円球や直方体、円錐といった形状を適宜設定して構わない。
より好適には、第6の発明のように、第1〜5の発明のうち何れか一つの発明のプログラムであって、前記選択手段が、プリミティブ面の中心部が前記衝突位置から所定範囲内に位置するプリミティブ面を前記所定範囲内に含まれるプリミティブ面として選択するように前記コンピュータを機能させるとしても良い。
第6の発明によれば、第1〜5の発明のうち何れか一つの発明と同様の効果を奏するとともに、プリミティブ面の中心部が所定範囲内に位置する場合に、当該プリミティブ面を所定範囲内に含まれると判定し、部分オブジェクトに含ませることができる。
例えば、プリミティブ面が所定範囲に含まれるか否かを該プリミティブ面を形成する頂点が所定範囲に含まれるか否かによって判定するとする場合、所定範囲より大きいプリミティブ面で衝突すると、何れの頂点も所定範囲に含まれず、衝突が有ったにも係らずプリミティブ面が選択されない事態が生じる。しかし、第6の発明のようにプリミティブ面の中心部を判定対象とすることによって、こうした事態を回避することができる。したがって、常に安定して部分オブジェクトを生成することが可能となる。
第7の発明は、第1〜6の発明のうち何れか一つの発明のプログラムであって、前記第2オブジェクトは、連接するプリミティブ面群を表す複数の集合データ(例えば、図6のストリップデータ)で外形が定義されており、前記選択手段が、前記衝突位置から所定範囲内に含まれるプリミティブ面が1つでも含まれる集合データを選択し、選択した集合データに属するプリミティブ面を前記所定範囲内に含まれるプリミティブ面として選択するように前記コンピュータを機能させることを特徴とする。
ここで言う「連接するプリミティブ面群を表す複数の集合データ」とは、連接するプリミティブ面の頂点の情報を、同じ頂点の情報を再利用するようにして連続的に格納する一連のデータ群である。例えば、所謂「ストリップデータ」がそれである。同じ頂点の情報を再利用することによって、データサイズを圧縮とオブジェクトの高い描画速度とを実現する。
第7の発明によれば、第1〜6の発明のうち何れか一つの発明と同様の効果を奏するとともに、集合データからプロミティブ面を切り出さずに、所定範囲内に含まれるプリミティブ面が1つでも含まれる集合データを選択し、集合データを単位として部分オブジェクトを構成することができる。したがって、集合データからプロミティブ面を切り出す処理手間を省き、データサイズの圧縮効果とオブジェクトの描画速度の高さをそのまま維持し、少ない処理負荷で衝突痕を表現することができる。
第8の発明は、第1〜7の発明のうち何れか一つの発明のプログラムであって、前記選択手段は、前記第1オブジェクトの移動方向と、前記衝突位置を含むプリミティブ面又は前記衝突位置付近のプリミティブ面の法線方向とに基づいて、前記所定範囲を決定する範囲決定手段(例えば、図6のゲーム演算部22、図12(b)の判定領域8)を有し、この範囲決定手段によって決定された所定範囲内に含まれるプリミティブ面を選択する手段であることを特徴とする。
第8の発明によれば、第1〜7の発明のうち何れか一つの発明と同様の効果を奏するとともに、衝突角度に応じて所定範囲を決定することができる。例えば、衝突角度が0度すなわち正面衝突する場合に所定範囲を立方体とし、衝突角度のsin値に応じて所定範囲を第1オブジェクトの移動方向に沿って伸張させるならば、第1オブジェクトの移動方向に拡張された領域内のプリミティブ面にテクチャをマッピングさせることが可能となるため、第1オブジェクトの衝突時の慣性方向に「掃かれた」ようにテクスチャをマッピングさせることができる。
同様の効果は、第1〜8の発明の前記部分オブジェクト生成手段を、前記第1オブジェクトの種類、又は前記第1オブジェクトの移動方向と、前記衝突位置を含むプリミティブ面又は前記衝突位置付近のプリミティブ面の法線方向とに基づいて、前記テクスチャの種類を決定するテクスチャ種類決定手段を有し、このテクスチャ種類決定手段によって決定されたテクスチャをマッピングする手段とする第9の発明でも得られる。
すなわち、第9の発明によれば、第1〜8の発明のうち何れか一つの発明と同様の効果を奏するとともに、例えば、正面衝突した場合のテクスチャ、比較的浅い角度で衝突した場合のテクスチャといったように、衝突角度に応じた複数種類のテクスチャから衝突時の条件に応じたテクスチャを選択することによって、衝突時の状況に適切なテクスチャ表現を実現できる。
第10の発明のプログラムは、コンピュータを、3次元仮想空間内の特定の座標を求める特定手段(例えば、図6のゲーム演算部22、図7のステップS6、図8のステップS20)、前記3次元仮想空間内に配置されたオブジェクトを構成するプリミティブ面のうち、前記特定手段によって特定された座標から所定範囲内に含まれるプリミティブ面を選択する選択手段(例えば、図6のゲーム演算部22、プリミティブ面選択部2211、図8のステップS22〜S32)、前記選択手段により選択されたプリミティブ面を基に前記オブジェクトの部分オブジェクトを生成して、生成した部分オブジェクトに所定のテクスチャをマッピングする部分オブジェクト生成手段(例えば、図6のゲーム演算部22、衝突痕表示用オブジェクト設定部222、図8のステップS34〜S46)、前記生成された部分オブジェクトを生成もとの前記オブジェクトの対応する位置に配置し、前記部分オブジェクトの色情報と前記オブジェクトの色情報とを合成することにより前記オブジェクトの画像を生成するオブジェクト画像生成手段(例えば、図6のゲーム演算部22、図7のステップS14〜S16)、として機能させることを特徴とする。
また、第14の発明の画像生成装置は、3次元仮想空間内の特定の座標を求める特定手段(例えば、図6のゲーム演算部22、図7のステップS6、図8のステップS20)と、前記3次元仮想空間内に配置されたオブジェクトを構成するプリミティブ面のうち、前記特定手段によって特定された座標から所定範囲内に含まれるプリミティブ面を選択する選択手段(例えば、図6のゲーム演算部22、プリミティブ面選択部2211、図8のステップS22〜S32)と、前記選択手段により選択されたプリミティブ面を基に前記オブジェクトの部分オブジェクトを生成して、生成した部分オブジェクトに所定のテクスチャをマッピングする部分オブジェクト生成手段(例えば、図6のゲーム演算部22、衝突痕表示用オブジェクト設定部222、図8のステップS34〜S46)と、前記生成された部分オブジェクトを生成もとの前記オブジェクトの対応する位置に配置し、前記部分オブジェクトの色情報と前記オブジェクトの色情報とを合成することにより前記オブジェクトの画像を生成するオブジェクト画像生成手段(例えば、図6のゲーム演算部22、図7のステップS14〜S16)と、を備えることを特徴とする。
第10又は14の発明によれば、オブジェクトのプリミティブ面の中から、特定の座標位置から所定範囲内に含まれるプリミティブ面を複製して、所定のテクスチャをマッピングする部分オブジェクトを生成することができる。そして、この部分オブジェクトのプリミティブ面を、複製元のオブジェクトにおける元のプリミティブ面の対応する位置に配置し、部分オブジェクトの色情報と複製元のオブジェクトの色情報とを合成することにより画像を生成することができる。すなわち、特定座標位置の周辺形状で部分オブジェクトを生成し、複製元のオブジェクトと色情報を合成するようにして貼りつけるといったことができる。また、部分オブジェクトは、複製元のオブジェクトの一部を複製するだけなので、オブジェクトの生成に要する処理負荷は小さくて済む。そして、マッピング処理の対象となるプリミティブ面も少ない。したがって、オブジェクト全体のプリミティブ面を処理対象とする場合に比べて大幅な処理負荷の削減を実現できる。
より好適には、第11の発明として、第10の発明のプログラムにおける前記部分オブジェクト生成手段を、前記オブジェクトの形状を変更する形状変更手段(例えば、図6のゲーム演算部22、図7のステップS10)を有し、この形状変更手段で形状を変更した後のオブジェクトについて部分オブジェクトを生成する手段としても良い。
第11の発明によれば、第10の発明と同様の効果を奏するとともに、変形後のオブジェクトから部分オブジェクトを生成できるため、例えば、オブジェクトの変形を表す色情報を部分オブジェクトに持たせるといったことにより、オブジェクトの「変形」をより効果的に表現することができる。
第12の発明は、第1〜11の発明のうち何れか一つの発明のプログラムを記憶した前記コンピュータによる読取可能な情報記憶媒体である。
ここで言う「情報記憶媒体」とは、コンピュータに類する装置が情報を読み取り可能な、例えば、CD−ROM、MO、メモリカード、DVD、ハードディスク、ICメモリなどであって、その接続形態は、装置に着脱自在であっても良いし、通信回線を介して前記ゲーム装置に接続されるものであっても良くその形態は問わない。従って、コンピュータに第1〜11の発明のうち何れか一つの発明と同様の効果を発揮させることができる。
本発明によれば、第1オブジェクトの衝突を受けた第2オブジェクトのプリミティブ面の中から、衝突位置から所定範囲内に含まれるプリミティブ面を複製して、所定のテクスチャをマッピングする部分オブジェクトを生成することができる。そして、部分オブジェクトのプリミティブ面と、複製元である第2オブジェクトにおける元のプリミティブ面とを対応させて配置し、部分オブジェクトの色情報と前記第2オブジェクトの色情報とを合成することにより画像を生成することができる。
部分オブジェクトは、複製元の第2オブジェクトの一部を複製するだけなので、オブジェクトの生成に要する処理負荷は小さくて済む。そして、マッピング処理の対象となるプリミティブ面も少なく、第2オブジェクト全体のプリミティブ面を処理対象とする場合に比べて大幅な処理負荷の削減を実現できる。したがって、部分的な表現に適した、より処理負荷の少ないエフェクト処理を実現することができる。
本発明の実施形態として、画像生成装置の一種である家庭用ゲーム装置において戦闘ゲームを実行する場合を例に挙げて説明する。具体的には、プレーヤが操作する戦車がビルを砲撃するシチュエーションを例に、砲弾が着弾した弾痕を表現する場合を説明するが、本発明の適用がこれに限定されるものではない。戦闘をモチーフとするものであれば、シューティングゲームやアクションゲーム、ロールプレイングゲーム、戦略シミュレーションゲームなどそのジャンルは問わない。
[構成の説明]
まず、本実施形態における構成を説明する。図1は、本発明を適用した家庭用ゲーム装置の構成の一例を示す図である。同図に示すように、家庭用ゲーム装置1200は、ゲームコントローラ1202と、本体装置1210と、スピーカ1222を有するディスプレイ1220とを備える。ゲームコントローラ1202は本体装置1210に接続され、ディスプレイ1220は画像信号及び音信号等を伝送可能なケーブル1201によって本体装置1210に接続されている。
ゲームコントローラ1202は、プレーヤがゲーム操作を入力するための方向キー1204やボタンスイッチ1206を備え、操作入力信号を本体装置1210に出力する。
本体装置1210は、例えばCPUやICメモリ類を搭載した制御ユニット1211や、CD−ROM1212等の情報記憶媒体の読取装置を備え、CD−ROM1212などから読み出したゲーム情報とゲームコントローラ1202からの操作信号とに基づいて種々のゲーム処理を演算処理して、ゲーム画面の画像信号及びゲーム音の音信号を生成する。
そして、本体装置1210は、生成した画像信号と音声信号とをディスプレイ1220に出力して、ディスプレイ1220にゲーム画像を表示させるとともにスピーカ1222からゲーム音を出力させる。プレーヤはディスプレイ1220に映し出されたゲーム画面を見ながら、ゲームコントローラ1202を操作してゲームを楽しむことができる。
本体装置1210がゲーム処理を実行するために必要なプログラムやデータ等を含むゲーム情報は、例えば、本体装置1210に着脱自在な情報記憶媒体であるCD−ROM1212、ICメモリ1214、メモリカード1216等に格納されている。或いは、ゲーム情報を本体装置1210に具備された通信装置1218を介して通信回線2に接続し、外部装置からゲーム情報を取得する(ダウンロードする)。ここで言う「通信回線」とは、データ授受が可能な通信路を意味する。即ち、通信回線2とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLANの他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また通信方法については有線/無線を問わない意味である。
[原理の説明]
図2は、本実施形態にいて砲撃対象となるビルオブジェクト(以下、単に「ビル」とも言う。)のモデル構成の概念を説明するための図である。同図(a)に示すように、ゲーム空間中に配置されたビル6は、プレーヤが操作する戦車オブジェクト3(以下、単に「戦車」とも言う。)から砲撃を受ける。戦車3から砲弾オブジェクト4(以下、単に「砲弾」とも言う。)がビル6に向けて発射され、砲弾4が着弾して爆発する。本実施形態では、この爆発に伴う煤痕を、砲弾4の衝突痕としてビル6の壁面に表現する。
同図(b)に示すように、ビル6は複数の3角形のプリミティブ面(ポリゴン)によってモデリングされている。そして、ビル6のモデリングデータ526aは、連接する複数のプリミティブ面の頂点情報を連続的に格納したストリップデータとして構成されている。
ストリップデータには、頂点毎に、位置座標や色情報、当該頂点によって定義されるプリミティブ面の表裏フラグ、該プリミティブ面の単位法線ベクトルNfといった情報が対応づけられて格納されている。ストリップデータによれば、最初の3つの頂点から一つの3角形プリミティブ面を定義し、以降、頂点が一つ増えるたびに表裏フラグに基づいて、連接する3角形プリミティブ面を一つ定義することができる。
図3は、本実施形態における衝突痕表示用オブジェクトの生成について説明するための図である。同図(a)に示すように、先ず、砲弾4の移動軌跡L(この場合弾道)を算出し、この移動軌跡Lがビル6との交差判定から、砲弾4がビル6に着弾するか否かを判定する。そして、着弾すると判定した場合、砲弾4が着弾する衝突位置Hを求め、この衝突位置Hを中心に3次元の判定領域8を設定する。本実施形態では、判定領域8を直方体としているが、球や円錐など他の形状であっても構わない。
判定領域8を設定したならば、同図(b)に示すように、該領域に含まれるビル6のプリミティブ面を選択する。具体的には、ビル6のモデリングデータを構成するストリップデータを順次参照し、判定領域8に頂点Pが一つでも含まれるプリミティブ面を選択する。すなわち、判定領域8に含まれる頂点Pの頂点情報が格納されているストリップデータを選択し、該ストリップデータを複製して、ビル6の部分オブジェクトに相当する衝突痕表示用オブジェクト5を生成する。同図(b)の場合、ストリップデータA〜Dの4つのストリップデータが選択される。
本実施形態では、判定領域8が3次元の範囲を成しているので、衝突位置を含むプリミティブ面に連接していないプリミティブ面も衝突痕表示用オブジェクト5に含めることが可能になるので、ビル6が複雑な凹凸形状を有するオブジェクトであっても、砲弾4の爆発の影響が及ぶ立体的な範囲に漏れなく衝突痕を表示させることが可能になる。
そして、同図(c)に示すように、衝突痕表示用オブジェクト5には、衝突痕テクスチャ528がテクスチャマッピングされる。本実施形態における衝突痕テクスチャ528には、白地に黒の煤痕が描かれている。衝突痕テクスチャ528は、中心位置528aを衝突位置Hに合わせて、衝突位置Hを含むプリミティブ面Fhの単位法線ベクトルNhと平行に平行投影マッピングされる。これによって、プリミティブ面Fhと角度を成して連接する他のプリミティブ面には、衝突痕テクスチャ528が「流れた」或いは「掃いた」ようにテクスチャマッピングされ、あたかも煤が砲弾4の慣性の影響を受けてビル6の表面に沿って移動しつつ付着したかのように描画される。
図4は、本実施形態における衝突痕表示用オブジェクトの描画に係る透明度の設定について説明するための図である。本実施形態における衝突痕表示用オブジェクト5には、2種類の透明度が設定される。尚、本実施形態では透明度を示す値をα値とする。α値は「0〜1」の間の値を有し、α値が「0」は透明、「1」は不透明として合成処理されるものとする。
同図(a)に示すように、第1の透明度は、衝突痕テクスチャ528に設定される透明度であって、中央部から外周に向かうほど透明となるように設定される。以下、この第1の透明度を示す値を「αt値」とする。
同図(b)に示すように、第2の透明度は、衝突痕表示用オブジェクト5の描画位置毎の透明度である。以下、この第2の透明度を示す値を「αf値」とする。本実施形態では、第2の透明度「αf値」を算出可能とするために、衝突痕表示用オブジェクト5を構成する各プリミティブ面の頂点Pに、透明度を表す値(以下、「αp値」と言う。)を設定し、描画時に頂点Pに設定されたαp値から描画位置におけるαf値を算出して用いる。
具体的には、各頂点Pについて、衝突位置Hから各プリミティブ面を構成する頂点PまでのベクトルVを求め、このベクトルVと衝突位置Hにおける単位法線ベクトルNhとの内積の絶対値を求める。そして、この絶対値の二乗の逆数に適当な係数kを乗算し、これを当該頂点Pにおける透明度αp値とする。但し、乗算結果が「1」以上の場合を「1」と見なす。この結果、頂点Pには、衝突位置Hから単位法線ベクトルNh方向に沿って離れるほどより透明になるように透明度が設定されることになる。そして、ゲーム画面の生成時(描画時)には、頂点P毎に設定されたαp値に基づいて、描画位置におけるαf値が求められて適用される。例えば、同図(b)の頂点P3のαp値が「1」、頂点P5のαp値が「0.5」であるとするならば、頂点P3と頂点P5との中間位置Pfにおけるαf値は「0.75(=(1+0.5)/2)」となる。
図5は、衝突痕表示用オブジェクトの配置と描画について説明するための図である。同図に示すように、衝突痕表示用オブジェクト5は、衝突痕表示用オブジェクト5を構成するプリミティブ面と、ビル6における複製元のプリミティブ面と一致させるようにして3次元仮想空間内に配置される。そして、αt値とαf値との積を最終的なα値とし、この最終的なα値に基づいて、衝突痕テクスチャ528の色情報とビル6の色情報(ビル6に適用されるテクスチャの色情報)とをアルファブレンディング処理(Alpha Blending。所謂「半透明処理」。)によって合成してゲーム画面を生成する。
この結果、衝突位置Hにおける単位法線ベクトルNhと直角方向には、衝突痕テクスチャ528に設定された透明度αt値に基づいて衝突位置Hから離れるほどテクスチャが薄くなるように合成され、更に、頂点Pの透明度αp値に基づいて衝突位置Hから単位法線ベクトルNh方向に沿って離れるほど薄くなるように合成される。したがって、ビル6の元のテクスチャに、衝突位置Hから離れるほど徐々に薄くなるように半透明状に衝突痕テクスチャが重ねて描画され、あたかも砲弾4の爆発による煤がついたように表現することができる。
[機能ブロックの説明]
図6は、本実施形態における家庭用ゲーム装置1200の機能構成の一例を示す機能ブロック図である。同図に示すように、家庭用ゲーム装置1200は、プレーヤからの操作を受けつける操作入力部10と、装置やゲームの制御に係る各種の演算処理を実行する処理部20と、ゲーム画面を表示出力する画像表示部30と、ゲーム音を音出力する音出力部40と、通信回線2を介して外部装置44とデータ通信を実現する通信部42と、各種のプログラムやデータを記憶する記憶部50とを備える。
操作入力部10は、例えば、ボタンスイッチ、レバー、ダイヤル、マウス、キーボード、各種センサによって実現され、プレーヤによる操作に応じた操作入力信号を処理部20に出力する。本実施形態では、図1のゲームコントローラ1202がこれに該当する。
処理部20は、家庭用ゲーム装置1200全体の制御やゲーム演算などの各種の演算処理を行う。その機能は、例えば、CPU(CISC型、RISC型)、ASIC(ゲートアレイ等)、ICメモリなどのハードウェア及び関連する制御プログラム等により実現される。図1では本体装置1210に具備される制御ユニット1211がこれに該当する。
また処理部20は、主にゲームに係る演算処理を行うゲーム演算部22と、ゲーム演算部22の処理によって求められた各種のデータから仮想カメラを視点とする仮想空間中の画像の生成並びにゲーム画面を表示させるための画像信号の生成を実行する画像生成部24と、効果音やBGMなどのゲーム音を生成する音生成部26と、データ通信に係る制御を担う通信制御部28とを含む。
ゲーム演算部22は、操作入力部10からの操作入力信号や、記憶部50から読み出したプログラムやデータに基づいて、本実施形態におけるゲームを実行するための種々のゲーム処理を実行する。ゲーム処理としては、例えば、オブジェクトの移動に伴う位置座標や速度等を求める演算処理、オブジェクトの衝突判定処理、オブジェクトをオブジェクト空間に配置する処理、オブジェクトへのマッピング情報の選択処理、ゲーム結果(成績)を求める処理などが挙げられる。また、ゲーム演算部22には、プリミティブ面選択部221と、衝突痕表示用オブジェクト設定部222とが含まれる。
プリミティブ面選択部221は、衝突痕表示用オブジェクト5とするために、ビル6から複製するプリミティブ面を選択する。具体的には、砲弾4とビル6とが衝突したと判定された場合に、衝突位置Hを求め、衝突位置Hを中心に所定の判定領域8を設定する。そして、ビル6のモデリングデータのストリップデータを順次参照し、判定領域8に頂点Pが一つでも含まれるストリップデータを選択する。
衝突痕表示用オブジェクト設定部222は、プリミティブ面選択部221によって選択されたプリミティブ面を複製して、衝突痕表示用の新たなオブジェクトを生成する。具体的には、プリミティブ面選択部221によって選択されたビル6のストリップデータを、当該衝突痕表示用オブジェクト5を構成するプリミティブ面として設定し、各プリミティブ面を構成する頂点P毎に透明度αp値を設定する。
画像生成部24は、例えばCPUやDSPなどの演算装置やその制御プログラム、フレームバッファなどの描画フレーム用ICメモリなどによって実現される。画像生成部24は、ゲーム演算部22による演算結果に基づいて幾何変換処理やシェーディング処理、αブレンディング処理等の色情報の合成処理などを実行して、ゲーム画面を表示するための3DCG画像を生成し、生成した画像の画像信号を画像表示部30に出力する。
本実施形態では、画像生成部24は、衝突痕表示用オブジェクト5を構成するプリミティブ面の各頂点Pに設定されたαp値から、各描画点における透明度αf値を算出し、この透明度αf値と衝突痕テクスチャ528に設定された透明度αt値とに基づくアルファブレンディング処理によって、衝突痕テクスチャ528を単位法線ベクトルNhと平行に平行投影マッピングする。
画像表示部30は、画像生成部24で生成された画像信号に基づいて、例えば1/60秒毎に1フレームの画面を再描画しながらゲーム画面を表示する。画像表示部30は、例えばCRT、LCD、ELD、PDP、HMD等のハードウェアによって実現できる。図1の例ではディスプレイ1220がこれに該当する。
音生成部26は、例えばCPUやDSPなどの演算装置及びその制御プログラムによって実現される。音生成部26は、ゲーム中に使用される効果音やBGMなどの音を生成し、生成した音の音信号を音出力部40に出力する。
音出力部40は、音生成部26からの音信号に基づいて効果音やBGM等を音出力する。図1の例ではスピーカ1222がこれに該当する。
通信部42は、通信制御部28からの制御信号に従って通信回線2に接続して、外部装置44とのデータ通信を行う。例えば、近距離無線通信などのモジュール、モデム、TA、有線用の通信ケーブルのジャックや制御回路などによって実現される。図1の通信装置1218がこれに該当する。尚、通信部42が、通信時に供するプロトコル等に係る情報は、例えば記憶部50に記憶されており適宜読み出して利用する。
記憶部50は、処理部20に家庭用ゲーム装置1200を統合的に制御させるための諸機能を実現させるシステムプログラム(図示略)や、ゲームを実行させるために必要なプログラム及びデータを格納するゲーム情報52等を記憶している。また、処理部20が演算処理に必要な各種のプログラムやデータを一時的に記憶する。記憶部50は、例えば各種ICメモリ、メモリカード、ハードディスク、CD−ROM、MO、DVD等の情報記憶媒体によって実現できる。図1の例ではCD−ROM1212、ICメモリ1214、メモリカード1216がこれに該当する。
ゲーム情報52は、処理部20をゲーム演算部22として機能させるためのプログラム及びデータを含んでいる。本実施形態では特に、処理部20をプリミティブ面選択部221として機能させるためのプリミティブ面選択プログラム521と、衝突痕表示用オブジェクト設定部222として機能させるための衝突痕表示用オブジェクト設定プログラム522とを含んでいる。
また、データとしては、ビル6を表示させるためのビルモデル情報526と、衝突痕表示用オブジェクト5を表示させるための衝突痕表示用モデル情報527と、衝突痕テクスチャ528とを含んでいる。また、図示していないが、戦車3や砲弾4、砲弾4の着弾時の爆発を表示するためのエフェクト情報、その他のゲームに登場するキャラクタや背景を表示させるための情報も含まれている。
ビルモデル情報526は、ビル6の外観形状を記述する複数のストリップデータを含むモデリングデータ526aと、ビル6に適用されるテクスチャデータ526bとを格納する。また、砲撃を受けて破壊・変形する様子を表現するためにオブジェクトを変形させるためのデータも含まれる。
衝突痕表示用モデル情報527には、プリミティブ面選択部221によって選択されたビル6のストリップデータの複製データであるモデリングデータ527aと、プリミティブ面の各頂点Pのαp値を対応づける透明度情報527bとが格納される。衝突痕表示用モデル情報527は、衝突痕表示用オブジェクト設定部222によって管理される情報である。ゲーム開始当初の初期状態では存在しないが、ゲームが進行し、砲弾4がビル6に当る都度、衝突痕表示用オブジェクト設定部222によって新たな衝突痕表示用オブジェクト5毎に作成される。
[処理の流れの説明]
図7は、本実施形態におけるゲーム全体の処理の流れを説明するためのフローチャートである。同図に示すように、ゲーム演算部22が、プレーヤによる操作入力に応じてゲームに登場するオブジェクトそれぞれについて移動軌跡を算出し(ステップS2)、この移動軌跡に基づいて各オブジェクトを移動させる(ステップS4)。例えば、砲弾4であれば初速度と発射角度、重力等に基づいて弾道が移動軌跡として算出され、砲弾4は弾道に沿って移動するように制御される。
次に、算出された移動軌跡とビル6との交差判定を実行し、砲弾4がビル6に衝突するか否かを判定する。砲弾4がビル6に衝突すると判定された場合(ステップS6;YES)、更に砲弾4が移動軌跡に沿って移動処理されて、ビル6に衝突したか否かを判定する(ステップS8)。
砲弾4がビル6に衝突したと判定された場合(ステップS8;YES)、ゲーム演算部22は、砲弾4が衝突したことによる破壊や変形を表現するためにビル6のオブジェクトを変形し(ステップS10)、衝突痕表示用オブジェクト設定処理を実行する(ステップS12)。
図8は、本実施形態における衝突痕表示用オブジェクトの設定に係る処理の流れを説明するためのフローチャートである。尚、着弾時の爆発そのものの描画等は従来と同様にして実現可能であるのでここでの説明は省略してある。
同図に示すように、先ずゲーム演算部22のプリミティブ面選択部221が衝突位置Hを判定し(ステップS20)、衝突位置Hを中心に所定の判定領域8を設定する(ステップS22)。そして、ビルモデル情報526のモデリングデータ526aを参照し、判定領域8に頂点Pが含まれるストリップデータを選択する(ステップS24)。
判定領域8に頂点Pが含まれるストリップデータを選択できなかった場合(ステップS26;YES)、すなわち該当するストリップデータが無い場合には、判定領域8を内包する大きなプリミティブ面内に衝突位置Hが有ると判断し、図9に示すように、ビル6の各プリミティブ面Fの中央部に仮想頂点Qを設定する(ステップS28)。仮想頂点Qの情報は、記憶部50に一時的に記憶される。
次に、プリミティブ面選択部221は、判定領域8に含まれる仮想頂点Qを選択し(ステップS30)、選択された仮想頂点Qが設定されたプリミティブ面の頂点Pを含むストリップデータを選択する(ステップS32)。
判定領域8に頂点Pが含まれるストリップデータが選択されたならば、衝突痕表示用オブジェクト設定部222が、衝突痕表示用オブジェクトを設定する。
すなわち、選択されたストリップデータを衝突痕表示用モデル情報527のモデリングデータ527aとして複製記憶させ(ステップS34)、衝突位置Hと衝突痕テクスチャ528の中心とが一致するようにして、衝突位置Hを含むプリミティブ面Fhの単位法線ベクトルNhと平行に衝突痕テクスチャ528を平行投影マッピングするように設定する(ステップS36)。尚、本実施形態では、ビル6のストリップデータをそのまま複製するので、当該衝突痕表示用オブジェクトの配置位置は変化しない。すなわち、当該衝突痕表示用オブジェクトのプリミティブ面は、複製元になったビル6のプリミティブ面と同じ位置に配置されることになる。
次に、設定された衝突痕表示用オブジェクト5を構成するプリミティブ面の頂点P毎にループ1を実行して、各頂点Pに透明度αp値を設定する(ステップS38〜S46)。ループ1では、先ず衝突位置Hから処理対象の頂点PまでのベクトルVを算出する(ステップS40)。次いで、このベクトルVと衝突位置Hを含むプリミティブ面Fhの単位法線ベクトルNhとの内積を算出し(ステップS42)、この内積の絶対値の二乗の逆数に適当な係数kを乗じた値をαp値とする(ステップS44)。そして、衝突痕表示用オブジェクト5の全頂点Pについてループ1を実行したならば、衝突痕表示用オブジェクト設定処理を終了する。
次に、図7において、ゲーム演算部22は、新たに設定された衝突痕表示用オブジェクトを3次元仮想空間内に配置し(ステップS14)、画像生成部24は所与の仮想カメラを視点とし、衝突痕表示用オブジェクトをビル6にアルファブレンディング処理したゲーム画面を生成する(ステップS16)。この際、各描画位置におけるアルファブレンディング処理に適用されるα値は、衝突痕表示用オブジェクト5のプリミティブ面の各頂点Pに設定されているαp値と描画位置との位置関係から算出されるαf値と、衝突痕テクスチャ528の各画素に設定されているαt値との積である。
そして、アルファブレンディング処理によって、ビル6の表面に煤痕が表示されたゲーム画面が生成されたならば、画像表示部30にゲーム画面を表示させる(ステップS18)。そして、ゲーム演算部22はゲームの終了判定を実行し、プレイ結果が所定の終了条件を満たしていれば(ステップS20;YES)、ゲームオーバーとなる。
以上の処理によって、マルチテクスチャマッピングの機能を利用しなくとも、ビル6の上の着弾によって生じた煤痕のテクスチャを重ねて表示させるマルチテクスチャマッピングと同様の効果を得ることができる。
尚、衝突痕表示用オブジェクト5の頂点Pに透明度αp値を設定する際、衝突位置Hから頂点PまでのベクトルVと、衝突位置Hの単位法線ベクトルNhとの内積の絶対値を算出した後に、この絶対値の二乗の逆数からαp値を算出する構成としたがこれに限るものではない。衝突位置Hから頂点Pが離れるほどαp値が大きくなり透明になるように設定できれば良く、その他の関数を用いる構成としても構わない。
また、衝突位置Hにおける単位法線ベクトルNhのみを用いて算出するとしたが、例えば、ステップS42において衝突位置Hから所定範囲に含まれる近傍のプリミティブ面を選択して、選択されたプリミティブ面における単位法線ベクトルの平均値を算出し、この平均値とベクトルVとの内積の絶対値を算出する構成としても良い。この場合、衝突を受けるオブジェクト(ビル6)を構成するプリミティブの数が多く、比較的小範囲で複雑な凹凸形状を成している場合でも安定した表現を実現できる。
[ハードウェアの構成]
次に、家庭用ゲーム装置1200を実現できるハードウェアの構成について説明する。図10は、本実施形態におけるハードウェア構成の一例を示す図である。家庭用ゲーム装置1200は、CPU1000と、ROM1002と、RAM1004と、情報記憶媒体1006と、音生成IC1008と、画像生成IC1010と、I/Oポート1012及び1014とを有し、システムバス1016により相互にデータの入出力が可能に接続されている。
CPU1000は、図6における処理部20に該当し、情報記憶媒体1006に格納されているプログラムやROM1002に格納されているシステムプログラム及びコントロール装置1022によって入力される操作入力信号等に従って、装置全体の制御や各種のデータ処理を行う。
ROM1002やRAM1004及び情報記憶媒体1006は、図6における記憶部50に該当する。ROM1002は図1の本体装置1210の制御ユニット1211に搭載されているICメモリに該当し、システムプログラム等の本体装置1210の制御にかかわるプログラムやデータを記憶する。
RAM1004は、CPU1000の作業領域などとして用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、或いはCPU1000の演算結果が格納される。
情報記憶媒体1006は、図1のCD−ROM1212、ICメモリ1214、メモリカード1216に該当し、図6のゲーム情報52を記憶する。情報記憶媒体1006は、ICメモリカードや着脱自在なハードディスクユニット、MO、DVD−ROMなどによって実現されROM1002に記憶される情報を記憶し、適宜読み出して利用する。
音生成IC1008は、ROM1002や情報記憶媒体1006に記憶されている情報に基づいて効果音やBGM等のゲーム音を生成する集積回路であり、生成された音はスピーカ1020によって出力される。なお、スピーカ1020は、図6における音出力部40、図1におけるスピーカ1222に該当する。
画像生成IC1010は、表示装置1018に画像を出力するための画素情報を生成する集積回路である。図6における画像生成部24がこれに該当する。表示装置1018は、図6の画像表示部30、図1におけるディスプレイ1220に該当する。
I/Oポート1012には、コントロール装置1022が接続され、I/Oポート1014には、通信装置1024が接続されている。コントロール装置1022は、図6の操作入力部10及び図1のゲームコントローラ1202に相当するものであり、プレーヤが種々のゲーム操作を入力するための装置である。
通信装置1024は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受信し、通信回線を介してゲームプログラム等の情報を送受信することなどに利用される。図6の通信部42及び図1の通信装置1218に該当する。
尚、画像生成IC1010、音生成IC1008等で行われる処理はCPU1000、或いは汎用のDSP等によってソフトウェア的に実行する構成としても良い。
〔変形例の説明〕
以上、本発明を適用した実施形態について説明したが、本発明の適用がこれらに限定されるものではなく、発明の趣旨を逸脱せず同様の作用・効果を得られる限りにおいて、適宜構成要素の追加・省略・変更等を行っても構わない。
例えば、本発明は、図1に示した家庭用ゲーム装置1200だけでなく、業務用ゲーム装置や携帯型ゲーム装置、パソコン等の汎用コンピュータ、多機能携帯電話機、多数のプレーヤが参加する大型アトラクション装置等の種々の装置にも同様に適用できる。
例えば図11は、本発明を業務用ゲーム装置1300に適用した場合の外観の一例を示す図である。同図に示すように、業務用ゲーム装置1300は、ゲーム画面を画像表示するディスプレイ1302と、ゲームの効果音やBGMを出力するスピーカ1304と、前後左右方向を入力するジョイスティック1306と、プッシュボタン1308と、演算処理によって業務用ゲーム装置1300を統合的に制御して所与のゲームを実行する制御ユニット1320とを備える。
制御ユニット1320は、CPU等の演算処理装置と、業務用ゲーム装置1300の制御及びゲームの実行に必要なプログラムやデータが格納されたROM1322を搭載する。制御ユニット1320に搭載されるCPUは、ROM1322よりプログラムやデータを適宜読み出して演算処理することによって種々の処理を実行する。そして、プレーヤは、ディスプレイ1302に表示されたゲーム画面を見ながら、ジョイスティック1306とプッシュボタン1308からゲーム操作の入力をしてゲームを楽しむ。
また、本発明は、スタンドアローンの装置によって実行されるゲームに限らず、ネットワークゲームと呼ばれているゲームに適用しても構わない。ネットワークゲームを実現するシステム構成としては、例えば、1)家庭に設置してあるパソコンや家庭用ゲームシステム等をゲーム端末とし、インターネット網や専用線網等の有線/無線の通信回線を通じてサーバと接続する構成、2)サーバを用いることなく複数のゲーム端末同士が通信回線で接続される構成、3)複数のゲーム端末同士が通信回線で接続されるが、その内の一台がサーバ機能を有する構成、4)複数のゲーム端末が物理的に結合し、全体として一台のシステム(例えば業務用のゲームシステム)となっている構成などがある。
また、上記実施形態では、衝突痕として爆発の煤痕を例に説明したが、弾痕や血痕、トマトがぶつかった痕、泥はね、キズを表現する場合にも、衝突痕テクスチャの内容を適宜変更することによって同様に適用することが可能である。
また、砲弾の着弾と適用する衝突痕テクスチャを一対一の対応としているが、異なる衝突痕テクスチャを、砲弾の種類や着弾時の速度ベクトルと対応づけて適用する構成としても良い。例えば、着弾時の速度ベクトルと対応づけて適用する構成の場合、ステップS36において、砲弾4の移動軌跡とビル6の交差位置における速度ベクトルと、衝突位置Hの単位法線ベクトルNh又は衝突位置Hから所定範囲内のプリミティブ面の単位法線ベクトルNhの平均値とから衝突角度を求める。そして、予めゲーム情報52として記憶しておいた衝突角度に応じた複数種類の衝突痕テクスチャから、算出された衝突角度に応じて選択し、これを衝突痕表示用オブジェクト5に適用する。砲弾の種類と対応づけて適用する構成の場合でも、同様にして、予め砲弾種類に対応づけて複数種類の衝突痕テクスチャを用意しておいて選択する。
また、図3に示すように、衝突痕表示用オブジェクトとするプリミティブ面を選択する際に用いる判定領域8を、判定領域8の直方体が、衝突位置Hの単位法線ベクトルNhの方向に面を向けるように設定したがこれに限るものではない。
例えば、図12は、砲弾4の速度ベクトルTと判定領域8の関係を示す平面視概念図である。同図に示すように、判定領域8を、砲弾4の移動方向に長辺を有する形状としても良い。具体的には、ステップS22において、砲弾4の移動軌跡とビル6の交差位置における速度ベクトルと、衝突位置Hの単位法線ベクトルNh又は衝突位置Hから所定範囲内のプリミティブ面の単位法線ベクトルNhの平均値とから交差角度θ(衝突角度)のsin値を算出する。そして、交差角度が0度すなわち正面衝突する場合に立方体の判定領域8を設定し、交差角度θのsin値に応じて、例えば((判定領域8の短辺の長さ)×(1+sinθ))を長辺の長さとし、判定領域8を速度ベクトル方向に沿って伸張させる。これによって、衝突痕テクスチャ528を砲弾4の移動方向(同図では図中右方向)に引き伸ばされた領域にテクチャマッピングさせることが可能となり、砲弾4の慣性方向に「掃かれた」ように衝突痕を表示させることができる。
尚、ここで言う単位法線ベクトルNhは、衝突位置Hから所定範囲に含まれるプリミティブ面における単位法線ベクトルの平均であっても良いのは勿論である。
画像生成装置の一種である家庭用ゲーム装置の構成の一例を示す図。 ビルオブジェクトのモデル構成の概念を説明するための図。 衝突痕表示用オブジェクトの生成について説明するための図。 衝突痕表示用オブジェクトの描画に係る透明度の設定について説明するための図。(a)衝突痕テクスチャに設定される透明度αt値を説明するための図、(b)衝突痕表示用オブジェクトの斜視図とその上面図であって、頂点Pに設定されるαp値と、描画点Pfの透明度αf値とを説明するための図。 衝突痕表示用オブジェクトの配置と描画について説明するための図。 家庭用ゲーム装置の機能構成の一例を示す機能ブロック図。 ゲーム全体の処理の流れを説明するためのフローチャート。 衝突痕表示用オブジェクトの設定に係る処理の流れを説明するためのフローチャート。 仮想頂点P’の設定を説明するための正面図。 家庭用ゲーム装置を実現するハードウェア構成の一例を示す図。 業務用ゲーム装置の外観の一例を示す図。 判定領域の設定方法の変形例を示す平面視概念図。
符号の説明
3 戦車オブジェクト
4 砲弾オブジェクト
5 衝突痕表示用オブジェクト
6 ビルオブジェクト
8 判定領域
20 処理部
22 ゲーム演算部
221 プリミティブ面選択部
222 衝突痕表示用オブジェクト設定部
50 記憶部
52 ゲーム情報
521 プリミティブ面選択プログラム
522 衝突痕表示用オブジェクト設定プログラム
526 ビルモデル情報
527 衝突痕表示情報
528 衝突痕テクスチャ
F プリミティブ面
H 衝突位置
N 単位法線ベクトル
P 頂点

Claims (14)

  1. コンピュータに、3次元仮想空間内に配置された第1オブジェクトが複数のプリミティブ面によって構成された第2オブジェクトに衝突する前記3次元仮想空間の画像を生成させるためのプログラムであって、
    前記第2オブジェクトを構成するプリミティブ面のうち、前記第1オブジェクトが衝突する衝突位置から所定範囲内に含まれるプリミティブ面を選択する選択手段、
    前記選択手段により選択されたプリミティブ面を基に前記第2オブジェクトの部分オブジェクトを生成して、生成した部分オブジェクトに所定のテクスチャをマッピングする部分オブジェクト生成手段、
    前記生成された部分オブジェクトを生成もとの前記第2オブジェクトの対応する位置に配置し、前記部分オブジェクトの色情報と前記第2オブジェクトの色情報とを合成することにより前記第2オブジェクトの画像を生成するオブジェクト画像生成手段、
    として前記コンピュータを機能させるためのプログラム。
  2. 前記部分オブジェクト生成手段が、前記部分オブジェクトの透明度情報を設定する透明度情報設定手段を有し、
    前記オブジェクト画像生成手段が、前記設定された透明度情報に基づいて前記部分オブジェクトの色情報と前記第2オブジェクトの色情報とを合成する、
    ように前記コンピュータを機能させることを特徴とする請求項1に記載のプログラム。
  3. 前記透明度情報設定手段が、前記選択されたプリミティブ面の頂点それぞれについて、前記衝突位置から当該頂点までのベクトルと前記衝突位置を含むプリミティブ面の法線ベクトルとの内積値に基づいて当該プリミティブ面の透明度情報を設定するように前記コンピュータを機能させる、
    ことを特徴とする請求項2に記載のプログラム。
  4. 前記部分オブジェクト生成手段は、平面投影マッピングにより前記テクスチャのマッピングを行う手段である、
    ことを特徴とする請求項1〜3の何れか一項に記載のプログラム。
  5. 前記選択手段が、前記衝突位置を中心とする所与の3次元範囲を前記所定範囲とするように前記コンピュータを機能させる、
    ことを特徴とする請求項1〜4の何れか一項に記載のプログラム。
  6. 前記選択手段が、プリミティブ面の中心部が前記衝突位置から所定範囲内に位置するプリミティブ面を前記所定範囲内に含まれるプリミティブ面として選択するように前記コンピュータを機能させる、
    ことを特徴とする請求項1〜5の何れか一項に記載のプログラム。
  7. 前記第2オブジェクトは、連接するプリミティブ面群を表す複数の集合データで外形が定義されており、
    前記選択手段が、前記衝突位置から所定範囲内に含まれるプリミティブ面が1つでも含まれる集合データを選択し、選択した集合データに属するプリミティブ面を前記所定範囲内に含まれるプリミティブ面として選択するように前記コンピュータを機能させる、
    ことを特徴とする請求項1〜6の何れか一項に記載のプログラム。
  8. 前記選択手段は、前記第1オブジェクトの移動方向と、前記衝突位置を含むプリミティブ面又は前記衝突位置付近のプリミティブ面の法線方向とに基づいて、前記所定範囲を決定する範囲決定手段を有し、この範囲決定手段によって決定された所定範囲内に含まれるプリミティブ面を選択する手段である、
    ことを特徴とする請求項1〜7の何れか一項に記載のプログラム。
  9. 前記部分オブジェクト生成手段は、前記第1オブジェクトの種類、又は前記第1オブジェクトの移動方向と、前記衝突位置を含むプリミティブ面又は前記衝突位置付近のプリミティブ面の法線方向とに基づいて、前記テクスチャの種類を決定するテクスチャ種類決定手段を有し、このテクスチャ種類決定手段によって決定されたテクスチャをマッピングする手段である、
    ことを特徴とする請求項1〜8の何れか一項に記載のプログラム。
  10. コンピュータを、
    3次元仮想空間内の特定の座標を求める特定手段、
    前記3次元仮想空間内に配置されたオブジェクトを構成するプリミティブ面のうち、前記特定手段によって特定された座標から所定範囲内に含まれるプリミティブ面を選択する選択手段、
    前記選択手段により選択されたプリミティブ面を基に前記オブジェクトの部分オブジェクトを生成して、生成した部分オブジェクトに所定のテクスチャをマッピングする部分オブジェクト生成手段、
    前記生成された部分オブジェクトを生成もとの前記オブジェクトの対応する位置に配置し、前記部分オブジェクトの色情報と前記オブジェクトの色情報とを合成することにより前記オブジェクトの画像を生成するオブジェクト画像生成手段、
    として機能させるためのプログラム。
  11. 前記部分オブジェクト生成手段は、前記オブジェクトの形状を変更する形状変更手段を有し、この形状変更手段で形状を変更した後のオブジェクトについて部分オブジェクトを生成する手段である、
    ことを特徴とする請求項10に記載のプログラム。
  12. 請求項1〜11の何れか一項に記載のプログラムを記憶した前記コンピュータによる読取可能な情報記憶媒体。
  13. 3次元仮想空間内に配置された第1オブジェクトが複数のプリミティブ面によって構成された第2オブジェクトに衝突する前記3次元仮想空間の画像を生成する画像生成装置であって、
    前記第2オブジェクトを構成するプリミティブ面のうち、前記第1オブジェクトが衝突した衝突位置から所定範囲内に含まれるプリミティブ面を選択する選択手段と、
    前記選択手段により選択されたプリミティブ面を基に前記第2オブジェクトの部分オブジェクトを生成して、生成した部分オブジェクトに所定のテクスチャをマッピングする部分オブジェクト生成手段と、
    前記生成された部分オブジェクトを生成もとの前記第2オブジェクトの対応する位置に配置し、前記部分オブジェクトの色情報と前記第2オブジェクトの色情報とを合成することにより前記第2オブジェクトの画像を生成するオブジェクト画像生成手段と、
    を備えることを特徴とする画像生成装置。
  14. 3次元仮想空間内の特定の座標を求める特定手段と、
    前記3次元仮想空間内に配置されたオブジェクトを構成するプリミティブ面のうち、前記特定手段によって特定された座標から所定範囲内に含まれるプリミティブ面を選択する選択手段と、
    前記選択手段により選択されたプリミティブ面を基に前記オブジェクトの部分オブジェクトを生成して、生成した部分オブジェクトに所定のテクスチャをマッピングする部分オブジェクト生成手段と、
    前記生成された部分オブジェクトを生成もとの前記オブジェクトの対応する位置に配置し、前記部分オブジェクトの色情報と前記オブジェクトの色情報とを合成することにより前記オブジェクトの画像を生成するオブジェクト画像生成手段と、
    を備えることを特徴とする画像生成装置。
JP2003356804A 2003-10-16 2003-10-16 プログラム、情報記憶媒体及び画像生成装置 Pending JP2005122479A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003356804A JP2005122479A (ja) 2003-10-16 2003-10-16 プログラム、情報記憶媒体及び画像生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003356804A JP2005122479A (ja) 2003-10-16 2003-10-16 プログラム、情報記憶媒体及び画像生成装置

Publications (1)

Publication Number Publication Date
JP2005122479A true JP2005122479A (ja) 2005-05-12

Family

ID=34613930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003356804A Pending JP2005122479A (ja) 2003-10-16 2003-10-16 プログラム、情報記憶媒体及び画像生成装置

Country Status (1)

Country Link
JP (1) JP2005122479A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007001051A1 (ja) * 2005-06-29 2007-01-04 Konami Digital Entertainment Co., Ltd. ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及び情報記憶媒体
JP2008099755A (ja) * 2006-10-17 2008-05-01 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
WO2009025288A1 (ja) * 2007-08-21 2009-02-26 Konami Digital Entertainment Co., Ltd. 画像生成装置、画像生成方法、情報記録媒体、および、プログラム
KR20160119811A (ko) 2014-03-18 2016-10-14 라이브2디 인크. 화상처리장치, 화상처리방법 및 프로그램
US9928664B2 (en) 2013-12-02 2018-03-27 Live2D Inc. Image processing device, image processing method and non-transitory computer-readable recording medium
JP7482953B2 (ja) 2022-08-17 2024-05-14 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理方法、および情報処理システム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007001051A1 (ja) * 2005-06-29 2007-01-04 Konami Digital Entertainment Co., Ltd. ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及び情報記憶媒体
JP2007007064A (ja) * 2005-06-29 2007-01-18 Konami Digital Entertainment:Kk ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム
KR100929995B1 (ko) * 2005-06-29 2009-12-07 가부시키가이샤 코나미 데지타루 엔타테인멘토 네트워크 게임 시스템, 게임 장치, 게임 장치의 제어 방법및 정보 기억 매체
JP4563266B2 (ja) * 2005-06-29 2010-10-13 株式会社コナミデジタルエンタテインメント ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム
JP2008099755A (ja) * 2006-10-17 2008-05-01 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
WO2009025288A1 (ja) * 2007-08-21 2009-02-26 Konami Digital Entertainment Co., Ltd. 画像生成装置、画像生成方法、情報記録媒体、および、プログラム
US9928664B2 (en) 2013-12-02 2018-03-27 Live2D Inc. Image processing device, image processing method and non-transitory computer-readable recording medium
KR20160119811A (ko) 2014-03-18 2016-10-14 라이브2디 인크. 화상처리장치, 화상처리방법 및 프로그램
KR101788626B1 (ko) 2014-03-18 2017-10-20 라이브2디 인크. 화상처리장치, 화상처리방법 및 프로그램
US10235785B2 (en) 2014-03-18 2019-03-19 Live2D Inc. Image compositing device based on mask image, image compositing method based on mask image, and non-transitory computer-readable recording medium therefor
JP7482953B2 (ja) 2022-08-17 2024-05-14 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理方法、および情報処理システム

Similar Documents

Publication Publication Date Title
JP4974319B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3747050B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2001273517A (ja) ゲームシステム及びゲーム用プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3707995B2 (ja) ゲームシステム及び情報記憶媒体
KR100281837B1 (ko) 화상 처리 장치 및 이를 구비한 게임 장치
JP3990648B2 (ja) プログラム、情報記憶媒体及び画像生成装置
JP4776017B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2005319029A (ja) プログラム、情報記憶媒体および画像生成システム
JP4508918B2 (ja) 画像生成システム及び情報記憶媒体
JP2006268511A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4856335B2 (ja) プログラム、情報記憶媒体、及びゲーム装置
JP2005122479A (ja) プログラム、情報記憶媒体及び画像生成装置
JP2009129167A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2006277722A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3786671B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4651204B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2000061145A (ja) ゲーム装置及び情報記憶媒体
JP4266121B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JPH10113465A (ja) ゲーム装置、画面生成方法及び情報記憶媒体
JP2002092637A (ja) ゲームシステム及び情報記憶媒体
JP2006263321A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4229318B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2006268818A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4632521B2 (ja) ゲームシステム及び情報記憶媒体
JP6931723B2 (ja) ゲーム機、ゲームシステム及びプログラム