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

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

Info

Publication number
JP3989396B2
JP3989396B2 JP2003094489A JP2003094489A JP3989396B2 JP 3989396 B2 JP3989396 B2 JP 3989396B2 JP 2003094489 A JP2003094489 A JP 2003094489A JP 2003094489 A JP2003094489 A JP 2003094489A JP 3989396 B2 JP3989396 B2 JP 3989396B2
Authority
JP
Japan
Prior art keywords
virtual camera
texture
objects
image
unit
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.)
Expired - Fee Related
Application number
JP2003094489A
Other languages
English (en)
Other versions
JP2004298375A (ja
Inventor
量一 加来
学 岡野
真希子 後藤
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
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
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, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2003094489A priority Critical patent/JP3989396B2/ja
Priority to US10/808,424 priority patent/US7881521B2/en
Publication of JP2004298375A publication Critical patent/JP2004298375A/ja
Application granted granted Critical
Publication of JP3989396B2 publication Critical patent/JP3989396B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【0002】
【従来技術】
従来より、仮想的な3次元空間であるオブジェクト空間内において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。そしてこのような画像生成システムでは、樹木などの植物についてもリアルに表現できることが望まれる。
【0003】
【特許文献1】
特開2002−24858号公報
【0004】
【発明が解決しようとする課題】
しかしながら、上述のようなLシステムを用いて樹木(広義には植物)の画像を生成する手法では処理が複雑化するという課題がある。
【0005】
また幹のパーツオブジェクトの回りに、全方向にわたってドーム形状の枝パーツオブジェクトを固定配置して、樹木を表現する手法も考えられる。しかしながら、この手法では、枝バーツオブジェクトの数が多くなってしまい、メモリの使用記憶容量が圧迫される。
【0006】
また平板状のポリゴンに樹木の画像のテクスチャをマッピングし、いわゆるビルボード手法により樹木を表現する手法も考えられる。しかしながらこの手法では、Zバッファによる隠面消去を行った場合に、平板ポリゴン間の前後関係が入れ替わる瞬間が目立ってしまい、生成される画像の品質が低下してしまう。
【0007】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない処理負荷で樹木等の表示物をリアルに表現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【0008】
【課題を解決するための手段】
本発明は、画像生成を行う画像生成システムであって、オブジェクトデータを記憶するオブジェクトデータ記憶部と、記憶されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、仮想カメラを制御する仮想カメラ制御部と、隠面消去処理を行いながら、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部とを含み、前記オブジェクト空間設定部が、画像が描かれる表示面側に凸部が形成される凸形状の複数のパーツオブジェクトを有するモデルオブジェクトを、オブジェクト空間に配置設定し、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながら、仮想カメラの回転情報に基づいて回転させる画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0009】
本発明によれば、モデルオブジェクトが、表示面側(表の面側)に凸部(頂点、稜線)が形成される凸形状のパーツオブジェクトを有する。そしてパーツオブジェクトは、仮想カメラが回転した場合に、その表示面(凸部)が仮想カメラの方に向くようにしながら回転する。このようにすれば、仮想カメラの方から見える視界画像において、パーツオブジェクトの表示面の画像が最大面積で表示されるようになり、少ないプリミティブ面数でリアルな画像を生成できる。また仮想カメラの回転時に(仮想カメラの向きが変わった時に)、隣り合うパーツオブジェクト間の前後関係(奥行き方向での前後関係)が、徐々に入れ替わるようになるため、より自然な画像を生成できる。
【0010】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、各テクセルにZ値のオフセット値が設定されるZテクスチャを記憶するテクスチャ記憶部と、記憶されたZテクスチャをオブジェクトにマッピングするテクスチャマッピング部とを含み(これらの各部としてコンピュータを機能させる、或いはこれらの各部としてコンピュータを機能させるプログラムを記憶し)、前記テクスチャマッピング部が、ピクセル単位でパーツオブジェクトの表示面に凹凸形状を設定するためのZテクスチャを、複数の前記パーツオブジェクトにマッピングするようにしてもよい。
【0011】
このようにすれば、パーツオブジェクトが本来有する凸形状よりも細かな凹凸形状(仮想Z値)を、パーツオブジェクトの表示面側に仮想的に設定でき、微妙な起伏のある交差境界線を表現できる。
【0012】
また本発明は、画像生成を行う画像生成システムであって、オブジェクトデータを記憶するオブジェクトデータ記憶部と、記憶されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、各テクセルにZ値のオフセット値が設定されるZテクスチャを記憶するテクスチャ記憶部と、記憶されたZテクスチャをオブジェクトにマッピングするテクスチャマッピング部と、仮想カメラを制御する仮想カメラ制御部と、隠面消去処理を行いながら、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部とを含み、前記オブジェクト空間設定部が、複数のパーツオブジェクトを有するモデルオブジェクトを、オブジェクト空間に配置設定し、複数の前記パーツオブジェクトを、画像が描かれる表示面が仮想カメラの方に向くようにしながら、仮想カメラの回転情報に基づいて回転させ、前記テクスチャマッピング部が、複数の前記パーツオブジェクトの表示面側に仮想的な凸形状を形成するためのZテクスチャを、複数の前記パーツオブジェクトにマッピングする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0013】
本発明によれば、その表示面が仮想カメラの方に向くようにしながらパーツオブジェクトが回転すると共に、パーツオブジェクトの表示面側に仮想的な凸形状(仮想Z値)を設定するためのZテクスチャが、パーツオブジェクトにマッピングされる。このようにすれば、仮想カメラの方から見える視界画像において、パーツオブジェクトの表示面の画像が最大面積で表示されるようになり、少ないプリミティブ面数でリアルな画像を生成できる。また隣り合うパーツオブジェクト間の前後関係(奥行き方向での前後関係)が、Zテクスチャにより設定された仮想的なZ値を用いて、徐々に入れ替わるようになるため、より自然な画像を生成できる。
【0014】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モデルオブジェクトが柱状のパーツオブジェクトを有し、前記オブジェクト空間設定部が、前記柱状パーツオブジェクトを、鉛直方向であるY軸方向に沿って立つように配置設定し、複数の前記パーツオブジェクトを、前記柱状パーツオブジェクトの中心軸から離れた位置に配置設定し、仮想カメラが前記柱状パーツオブジェクトの方を向きながらY軸回りに回転した場合に、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながらY軸回りに回転させるようにしてもよい。
【0015】
このようにすれば、仮想カメラがモデルオブジェクトの方を向きながら、Y軸回りにパン回転した場合にも、あたかも柱状パーツオブジェクトの全方向にわたって、パーツオブジェクトが存在するかのように見える画像を生成できる。
【0016】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モデルオブジェクトが柱状のパーツオブジェクトを有し、前記オブジェクト空間設定部が、前記柱状パーツオブジェクトを、鉛直方向であるY軸方向に沿って立つように配置設定し、複数の前記パーツオブジェクトを、前記柱状パーツオブジェクトの中心軸から離れた位置に配置設定し、仮想カメラが前記柱状パーツオブジェクトの方を向きながらY軸に直交するX軸回りに回転した場合に、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながらX軸回りに回転させるようにしてもよい。
【0017】
このようにすれば、仮想カメラがモデルオブジェクトの方を向きながら、X軸回りにパン回転した場合にも、あたかも柱状パーツオブジェクトの全方向にわたって、パーツオブジェクトが存在するかのように見える画像を生成できる。
【0018】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記複数のパーツオブジェクトが隣り合う第1、第2のパーツオブジェクトを有し、前記オブジェクト空間設定部が、所与の座標軸回りに仮想カメラが360度回転した場合にも、前記第1、第2のパーツオブジェクトが互いに交差するか、或いは仮想カメラから見た視界画像において前記第1、第2のパーツオブジェクト間にオーバーラップ部分が生じるような配置間隔で、隣り合う前記第1、第2のパートオブジェクトを配置設定するようにしてもよい。
【0019】
このようにすれば、所与の座標軸(Y軸、X軸等)回りに仮想カメラが360度回転した場合にも、仮想カメラから見た視界画像において、隣り合う第1、第2のパーツオブジェクト間に隙間が生じるのを防止でき、より自然でリアルな画像を生成できる。
【0020】
【発明の実施の形態】
以下、本実施形態について説明する。
【0021】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0022】
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図1の構成要素(各部)を全て含む必要はなく、その一部(例えば操作部160、携帯型情報記憶装置194又は通信部196等)を省略した構成としてもよい。
【0023】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、シフトレバー、アクセルペダル、ブレーキペダル、マイク、センサー、タッチパネル型ディスプレイ、或いは筺体などのハードウェアにより実現できる。
【0024】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0025】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶(記録、格納)される。
【0026】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0027】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【0028】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。
【0029】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0030】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0031】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。ここで処理部100が行うゲーム処理としては、ゲーム開始条件(コースやマップやキャラクタや参加プレーヤ人数の選択等)が満たされた場合にゲームを開始させる処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了させる処理などがある。また処理部100は記憶部170をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、DSP等)やASIC(ゲートアレイ等)などのハードウェアや、プログラム(ゲームプログラム)により実現できる。
【0032】
処理部100は、オブジェクト空間設定部110、仮想カメラ制御部112、画像生成部120、音生成部130を含む。なおこれらの一部を省略してもよい。
【0033】
オブジェクト空間設定部110は、キャラクタ、樹木、車、柱、壁、建物、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0034】
より具体的にはオブジェクト空間設定部110は、オブジェクトの位置、回転角度、又は種類(オブジェクト番号)などを含むオブジェクトデータを、オブジェクトデータ記憶部172から読み出す。そして読み出されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置する。この場合に、ローカル座標系で表現されるオブジェクトデータ(位置、回転角度)と、座標変換(ワールド座標変換、カメラ座標変換、又は透視変換等)のための各種マトリクス(回転移動マトリクス、又は並進移動マトリクス等)などに基づいて、オブジェクトの配置処理を実現する。
【0035】
なおオブジェクトデータは、画像生成システムへの電源投入時等に例えば情報記憶媒体180から読み出されてオブジェクトデータ記憶部172にロードされる。或いは通信部196、インターネット(広義にはネットワーク)を介してホスト装置からオブジェクトデータ記憶部172にダウンロードされる。
【0036】
またオブジェクト空間設定部110は、移動オブジェクト(車、飛行機、又はキャラクタ等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち、操作部160によりプレーヤが入力した操作データ、プログラム(移動・動作アルゴリズム)、各種データ(モーションデータ)などに基づいて、移動オブジェクトをオブジェクト空間内で移動させたり、移動オブジェクトを動作(モーション、アニメーション)させる処理を行う。より具体的には、移動オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、例えば1フレーム(1/60秒毎)毎に順次求めるシミュレーション処理を行う。
【0037】
仮想カメラ制御部112は、オブジェクト空間内の所与(任意)の視点での画像を生成するための仮想カメラを制御する処理を行う。即ち、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
【0038】
例えば、仮想カメラにより移動オブジェクトを後方から撮影する場合には、移動オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、オブジェクト空間設定部110(移動・動作演算部)で得られた移動オブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた回転角度で回転させるようにしてもよい。この場合には、仮想カメラの位置(移動経路)や回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【0039】
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。即ちいわゆる3次元ゲーム画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ174(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
【0040】
画像生成部120は陰面消去部122を含む。隠面消去部122は、Z値(奥行き情報)が格納されるZバッファ176(奥行きバッファ)等を用いて、Zバッファ法(奥行き比較法)により隠面消去処理を行う。
【0041】
また画像生成部120はテクスチャマッピング部124を含む。テクスチャマッピング部124は、テクスチャ記憶部178に記憶されるテクスチャ(テクスチャデータ)をオブジェクト(プリミティブ面)にマッピングする処理を行う。具体的には、オブジェクト(プリミティブ面)の頂点に設定(付与)されるテクスチャ座標等を用いて、テクスチャ記憶部178からテクスチャ(色、輝度、法線、Z値、或いはα値などの表面プロパティ)を読み出す。そして、2次元の画像又はパターンであるテクスチャをオブジェクトにマッピング(project)する。この場合に、テクセルとピクセルとを対応づける処理やバイリニア補間(テクセル補間)などを行う。また、インデックスカラー・テクスチャマッピング用のLUT(ルックアップテーブル)を用いたテクスチャマッピングを行うようにしてもよい。
【0042】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0043】
そして本実施形態では、オブジェクト空間設定部110が、パーツオブジェクト(狭義には枝オブジェクト)により構成されるモデルオブジェクト(狭義には樹木オブジェクト、植物オブジェクト)を、オブジェクト空間に配置する(オブジェクトデータに基づいて設定する)。そしてこれらのパーツオブジェクトを、その表示面(画像が描かれる面。テクスチャがマッピングされる面)が仮想カメラの方に向くようにしながら回転させる。この回転処理は仮想カメラの回転情報(回転角度、向き)に基づき行うことができる。またパーツオブジェクトは、画像が描かれる表示面側に凸部(頂点、稜線)が形成される凸形状のオブジェクト(錐状オブジェクト、傘状オブジェクト)である。
【0044】
具体的にはオブジェクト空間設定部110(回転制御部)は、仮想カメラが所与の座標軸回りに回転した場合に、モデルオブジェクトのパーツオブジェクトを、その座標軸回りに回転させる。更に具体的にはオブジェクト空間設定部110は、仮想カメラのY軸(ワールド座標系での鉛直方向の座標軸。第1の座標軸)回りの回転角度に基づいて、パーツオブジェクトをY軸回りに回転させる。また仮想カメラのX軸(Y軸に直交する座標軸。第2の座標軸)回りの回転角度に基づいて、パーツオブジェクトをX軸回りに回転させる。
【0045】
また本実施形態では、各テクセルにZ値のオフセット値(変化値、補正値)が設定(格納)されるZテクスチャ(Zテクスチャデータ)が、テクスチャ記憶部178に記憶される。そしてテクスチャマッピング部124が、このZテクスチャを読み出して、オブジェクトにマッピングする。
【0046】
具体的には、ピクセル単位(プリミティブ面単位よりも小さな単位)でパーツオブジェクトの表示面に凹凸形状(パーツオブジェクトの全体的な凸形状よりも細かな凹凸形状)を設定するためのZテクスチャが、テクスチャ記憶部178に記憶される。そしてテクスチャマッピング部124は、このZテクスチャを読み出して、モデルオブジェクトを構成する各パーツオブジェクトにマッピングする。或いは、パーツオブジェクト(平板形状のパーツオブジェクト)の表示面側に仮想的な凸形状(パーツオブジェクトの本来のZ値にZオフセット値を加算又は減算することで得られる仮想的な凸形状)を形成するためのZテクスチャが、テクスチャ記憶部178に記憶される。そしてテクスチャマッピング部124は、このZテクスチャを読み出して、各パーツオブジェクトにマッピングする。或いは、パーツオブジェクトに仮想的な凸部を形成すると共にピクセル単位でパーツオブジェクトの表示面に凹凸形状を設定するZテクスチャを読み出して、各パーツオブジェクトにマッピングする。このようにすることで、パーツオブジェクト間の交わり部分のチラツキを目立たなくすることができる。
【0047】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0048】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0049】
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【0050】
2.1 凸形状のパーツオブジェクトによる樹木の表現
樹木(植物)を表現する手法の1つとして、ビルボードと呼ばれる手法を考えることができる。この手法では図2(A)に示すように、平板状のポリゴンPL1、PL2に樹木画像のテクスチャをマッピングし、ポリゴンPL1、PL2を仮想カメラVCに対して常に正対させる。
【0051】
しかしながらこの手法では、図2(A)のA1からA2に示すように仮想カメラVCの位置、回転角度(向き)が変化すると、図2(B)のA3、A4に示すように、ポリゴンPL1、PL2の前後関係が入れ替わる瞬間が目立ってしまう。即ちZバッファ法ではZ値(奥行き値)に基づいて隠面消去が行われる。そして図2(A)のA1では、PL1のZ値の方がPL2のZ値よりも手前側になるのに対して、A2では、PL2のZ値の方がPL1のZ値よりも手前側になっている。従って、図2(C)のA3、A4に示すような前後関係の瞬間的な入れ替わりが生じる。従って、板状ポリゴンPL1、PL2により樹木が表現されていることをプレーヤに気づかれてしまい、高品質な画像を生成できないという課題がある。
【0052】
そこで本実施形態では、このような課題を解決するために、樹木(モデルオブジェクト)の枝を、図3(A)に示すような形状(傘状)のパーツオブジェクトPOBで表現する。即ち画像が描かれる表示面側(テクスチャがマッピングされる面側)に凸部PV(projection portion)が形成される凸形状(projection shape)のパーツオブジェクトPOBで、枝オブジェクトを枝を表現する。より具体的には、中心部(凸部)が盛り上がった錐状(錐体の底面を除いた形状)のパーツオブジェクトPOBで枝を表現する。このPOBは、頂点(凸部PV)を共有する複数のプリミティブ面(3角形のポリゴン)により構成される。
【0053】
そして図4(A)のB1、B2、B3に示すように、画像が描かれる表示面側(凸部PV1、PV2側)が仮想カメラVCの方に常に向くように(錐体の底面がVCに正対するように)、モデルオブジェクトMOB(樹木)を構成するパーツオブジェクトPOB1、POB2(枝)を回転させる。
【0054】
このようにすれば図4(B)のB4に示すように、隣り合うパーツオブジェクトPOB1、POB2同士が重なりあっても互いにのめり込むため、Zバッファ法の隠面消去が有効利用されて、前後関係が滑らかに入れ替わるようになる。
【0055】
即ち図2(B)のA3、A4では、PL1、PL2の前後関係が瞬間的に入れ替わるのに対して、図4(B)では、B4に示す交差境界線の形状が徐々に変化しながら、POB1、POB2の前後関係が徐々に入れ替わる。従って、簡易的なパーツオブジェクトP0B1、POB2により樹木の枝が表現されていることを、プレーヤに気づかれなくなり、少ないデータ量で高品質な画像を生成できる。
【0056】
例えば本実施形態と異なる手法として、図3(A)に示すような形状のパーツオブジェクトPOBを、仮想カメラVCの位置に依らずに全方向にわたって固定配置する手法も考えられる。しかしながらこの手法では、図3(A)に示すような形状のパーツオブジェクトPOBを、幹の回りの全方向にわたって配置する必要があるため、樹木を表すモデルオブジェクトのポリゴン数が多くなってしまう。
【0057】
これに対して本実施形態の手法によれば、図4(A)に示すように表示面が仮想カメラVCの方に向くように枝パーツオブジェクトが回転するため、幹の回りの全方向にわたって枝パーツオブジェクトを配置しなくても済む。従ってモデルオブジェクトのポリゴン数(プリミティブ面数)を最小限に抑えながら、図2(A)(B)の手法では実現できない高品質な画像を生成できる。
【0058】
なおパーツオブジェクトPOBの形状は図3(A)の形状に限定されない。例えば図3(A)のように角錐形状ではなく、円錐形状にしてもよい。また図3(B)に示すように凸部となる複数の頂点が形成される形状であってもよい。或いは図3(C)に示すように、凸部が稜線となるような山折り形状であってもよい。
【0059】
2.2 回転処理
次にパーツオブジェクトの具体的な回転処理について説明する。本実施形態では図5(A)に示すように、樹木を表すモデルオブジェクトMOBは、枝を表すパーツオブジェクトPOBと、幹を表す柱状パーツオブジェクトCOB(略柱状の場合を含む)で構成される。
【0060】
柱状パーツオブジェクトCOBは、鉛直方向であるY軸方向に沿って立つように、オブジェクト空間に配置される。またパーツオブジェクトPOBは、柱状パーツオブジェクトCOBの中心軸CAから離れた位置に配置される。より具体的には、中心軸CAから離れた位置であり且つCOBとオーバーラップしない位置にPOBは配置される。
【0061】
そして図5(A)(B)に示すように、仮想カメラVCが柱状パーツオブジェクトCOB(POB)の方を向きながら、Y軸回りに回転すると(中心軸CAの回りでパン回転すると)、オブジェクト空間設定部110は、その表示面(凸部PV)が仮想カメラVCの方に向くように、パーツオブジェクトPOBをY軸回りに回転させる。即ち仮想カメラVCの回転に追従するように中心軸CAの回りでPOBを回転させる。例えば仮想カメラVCがY軸回りに回転角度θYだけ回転した場合には、パーツオブジェクトPOBもY軸回りに回転角度θYだけ回転させる。一方、幹を表す柱状パーツオブジェクトCOBについては回転させない。
【0062】
例えばPOB1、POB2、COBで構成されるモデルオブジェクトMOBと仮想カメラVCとが図6(A)のような位置関係にある場合には、図6(B)に示すような画像(視界画像)が生成される。そして図6(A)の状態から、図7(A)に示すように仮想カメラVCがY軸回りに回転すると(MOBの方を向きながらパン回転すると)、図7(B)に示すような画像が生成される。
【0063】
即ち本実施形態によれば、パーツオブジェクトPOB1、POB2の表示面(凸部)が常に仮想カメラVCの方を向くようになるため、POB1、POB2を、あたかも空間が閉じた立体のように見せることができ、立体感を増すことができる。また仮想カメラVCがMOBの方を向きながらMOBの回りを360度回転しても(所与の座標軸回りにVCが360度回転しても)、パーツオブジェクトPOB1、POB2は、幹である柱状パーツオブジェクトCOBの手前に位置してCOBを隠すようになる。従って、2つのパーツオブジェクトPOB1、POB2しか用いていないのに、あたかも幹(COB)の全方向にわたって枝(POB1、POB2)が生えているかのように見せることができる。従って少ないプリミティブ面数で、よりリアルで自然な画像を生成できる。
【0064】
また図8(A)(B)に示すように、仮想カメラVCが柱状パーツオブジェクトCOB(POB)の方を向きながら、X軸(Y軸に直交する軸)回りに回転すると、その表示面(凸部PV)が仮想カメラVCの方に向くように、パーツオブジェクトPOBをX軸回りに回転させる。即ち仮想カメラVCがX軸回りに回転角度θXだけ回転した場合には、パーツオブジェクトPOBもX軸回りに回転角度θXだけ回転させる。
【0065】
例えば仮想カメラVCがX軸回りに回転して、VCとモデルオブジェクトMOBとの関係が、図6(A)から図9(A)に示すような位置関係(VCがMOBを所定の仰角で見下ろす関係)に変化すると、図9(B)に示すような画像が生成される。また仮想カメラVCがX軸回りで更に回転して、VCとモデルオブジェクトMOBとの関係が、図10(A)に示すような位置関係(VCがMOBを真上から見下ろす関係)になると、図10(B)に示すような画像が生成される。
【0066】
このように本実施形態によれば、仮想カメラVCがY軸回りに回転した場合のみならずX軸回りに回転した場合(VCがMOBを上方から見下ろした場合)にも、パーツオブジェクトPOB1、POB2の表示面が常に仮想カメラVCの方に向くようになる。そしてPOB1、POB2は、幹である柱状パーツオブジェクトCOBを隠すようになる。従って、あたかも閉じた立体のように見える枝を表現できると共に、幹の全方向にわたって枝が生えているかのように見えるリアルな画像を生成できる。また例えば飛行機ゲームのように、樹木の上を移動オブジェクト(飛行機等)が飛行しながら地面を見下ろすようなゲームにおいても、より自然で矛盾の無い画像を生成できる。
【0067】
また本実施形態によれば図9(B)のC1、図10のD1に示すように、パーツオブジェクトPOB1、POB2間の前後関係(カメラ座標系の奥行き方向での前後関係)が、Zバッファ法の隠面消去機能が有効利用されて滑らかに入れ替わるようになる。従ってプレーヤが不自然さの感じない画像を生成できる。
【0068】
なお枝を表すパーツオブジェクトの数は2個に限定されず、3個以上のパーツオブジェクトを設けてもよい。或いはパーツオブジェクトの個数を1つにすることも可能である。例えば図11(A)(B)、図12(A)(B)に、多数(例えば10個)のパーツオブジェクトを含ませたモデルオブジェクトMOBの例を示す。このようにパーツオブジェクトの数を増やすことで、プリミティブ面数は増えるが、より立体的に見える樹木画像を生成できる。
【0069】
図13に、パーツオブジェクトに樹木のテクスチャをマッピングすることで得られる最終的な画像の例を示す。この場合にマッピングされるテクスチャは、各テクセルにα値(透明度、半透明度)を設定できるテクスチャであることが望ましい。
【0070】
2.3 パーツオブジェクトの配置間隔
モデルオブジェクト(樹木)を構成する隣り合うパーツオブジェクト(枝)の配置間隔は以下のように設定することが望ましい。例えば図14において、モデルオブジェクトMOBが含むパーツオブジェクトPOB1、POB2(第1、第2のパーツオブジェクト)は隣り合って配置されている。
【0071】
そして図14のE1〜E8に示すように、所与の座標軸(Y軸、X軸等)回りに仮想カメラVCが360度回転した場合にも、パーツオブジェクトPOB1、POB2が互いに交差するか、或いは仮想カメラVCから見た視界画像においてPOB1、POB2間にオーバーラップ部分が生じるような配置間隔で、POB1、POB2を配置する。このような配置間隔は例えば、POB1の凸部(頂点)PV1からPOB1の周縁部に至る母線の長さをL(図14のE1参照)とした場合に、PV1から半径L(又は2×L)の円内にPOB2の凸部PV2が位置するように、POB1、POB2を配置することで実現できる。
【0072】
例えば図14のE2、E6では、隣り合うパーツオブジェクトPOB1、POB2が互いに交差している。即ち図9(B)のC1に示すような交差境界線が生じている。一方、図14のE1、E3、E4、E5、E7、E8では、仮想カメラVCから見た視界画像においてPOB1、POB2間にオーバーラップ部分が生じている。即ち図10(B)のD1に示すように、POB1が手前側でPOB2が奥側になるように、POB1、POB2が奥行き方向において前後に配置される。そして図10(B)に示す仮想カメラVCの視界画像において、POB1、POB2間にオーバーラップ部分が生じている。
【0073】
このような配置間隔でPOB1、POB2を配置すれば、仮想カメラVCから見てPOB1、POB2間に隙間が生じず、幹を表す柱状パーツオブジェクトCOBをPOB1、POB2により隠すことが可能になる。これにより、自然でリアルな画像を生成できる。
【0074】
なお図14では、パーツオブジェクト(枝)が2個の場合の例を示したが、パートオブジェクトが3個以上の場合も同様な配置間隔で配置できる。
【0075】
2.4 Zテクスチャ
本実施形態では、各テクセルにZオフセット値(Z変化値、Z補正値)が設定されたZテクスチャをパーツオブジェクトPOBにマッピングすることで、パーツオブジェクトの仮想的な形状を表現してもよい。
【0076】
図15(A)にZテクスチャマッピング手法の原理を示す。図15(A)ではオブジェクトOB(狭義にはポリゴン。他の説明でも同様)の各頂点に対して、Zテクスチャを読み出すためのテクスチャ座標(U、V)が設定されている。
【0077】
通常のテクスチャマッピングでは、オブジェクトOBを描画する際に、図1のテクスチャ記憶部178に記憶される色の「模様」がOBにつけられる。これに対してZテクスチャマッピングでは、オブジェクトOBに対応するZバッファ176上の領域に対して、Z値の「模様」をつけるようにZオフセット値が加算(或いは減算)される。
【0078】
例えば図15(A)のF1ではオブジェクトOBを描画バッファ174に描画することで、そのオブジェクトOBに対応するZ値(図15(A)では「1」)がZバッファ176に書き込まれる。
【0079】
一方、図15(A)のF2に示すようにテクスチャ記憶部178(Zテクスチャの空間)の各テクセルにはZオフセット値が設定されている。そしてオブジェクトOBの各頂点に設定されたテクスチャ座標(U、V)に基づいて、テクスチャ記憶部178からZオフセット値が読み出される。
【0080】
そしてF1に示すZバッファ176上のZ値(OBの元々のZ値)に対して、F2で読み出されたZオフセット値がF3に示すように加算(減算)される。これにより、F4に示すようにオブジェクトOBの元々のZ値に対してZオフセット値が加算(減算)されたZ値(Zプレーン)が生成される。そしてオブジェクトOB(ポリゴン)についての隠面消去処理(Z値に基づく前後判定処理)は、F4に示すZオフセット値加算(減算)後のZ値に基づいて行われる。
【0081】
例えばZテクスチャマッピングを用いない場合には、パーツオブジェクトPOB1、POB2間の交差境界線はF5に示すように直線になる。これに対してZテクスチャマッピングを用いれば、図15(C)のF6に示すようにP0B1、POB2間の交差境界線に微少な起伏を持たせることが可能になる。本実施形態ではこのZテクスチャマッピング手法を用いて、パーツオブジェクトの微少な凹凸形状を表現したり、パーツオブジェクトの凸形状自体を表現する。
【0082】
例えば図16(A)では、パーツオブジェクトPOBとして、画像が描かれる表示面側に凸部が形成される凸形状のオブジェクトを採用している。そしてこの凸形状のパーツオブジェクトPOBに対して、ピクセル単位でPOBの表示面に凹凸形状を設定するためのZテクスチャをマッピングする。このようにすることで、仮想的な凹凸形状VZSがパーツオブジェクトPOBに対して設定される。即ちパーツオブジェクトPOBに対応するZバッファ176上の領域には、ピクセル単位で視線方向に凹凸をつける仮想的なZ値が設定される。
【0083】
そしてパーツオブジェクトPOBについての隠面消去処理(他のパーツオブジェクトとの間の隠面消去処理)は、この仮想的なZ値(形状VZS)に基づいて行われる。従って図9(B)のC1に示すPOB1、POB2間の交差境界線に更に細かな起伏がつくようになる。この結果、仮想カメラVCの位置や回転角度が変化した場合にも、POB1、POB2の前後関係をピクセル単位で細かに入れ替えることが可能になり、より自然でリアルな画像を生成できる。
【0084】
なお図16(B)に示すように、パーツオブジェクトPOBとして平板状のオブジェクト(ポリゴン)を使用し、POBの表示面側に仮想的な凸形状VZS(図16(A)のPOBの凸形状と同様の凸形状)を形成するためのZテクスチャを、POBにマッピングしてもよい。このようにすれば、パーツオブジェクトPOBとして単純な形状のものを使用でき、プリミティブ面の数を更に減少できる。
【0085】
また図16(C)に示すように、平板状のパーツオブジェクトPOBに対して、大きな凸形状のみならずピクセル単位の微少な凹凸形状を設定するためのZテクスチャをマッピングしてもよい。このようにすれば、少ないプリミティブ面数で更にリアルな画像を生成できる。
【0086】
なお図16(A)の手法は、図16(B)(C)の手法に比べて、プリミティブ面数が多くなる。しかしながら、光源を用いたシェーディング処理(陰影づけ)については、パーツオブジェクトPOBの凸形状が反映されるようになるため、リアルに陰影づけされた画像を生成できる。但し図16(B)(C)の手法でも、各テクセルに法線情報が設定された法線テクスチャを用いれば、シェーディング処理についてもリアルな表現が可能になる。
【0087】
3.本実施形態の処理
次に、本実施形態の詳細な処理例について図17のフローチャートを用いて説明する。
【0088】
まず仮想カメラVCの位置(CX、CY、CZ)、各座標軸回りの回転角度(θX、θY、θZ)を設定する(ステップS1)。例えば仮想カメラVCが飛行機、車などの移動オブジェクトに追従する場合には、移動オブジェクトの位置や回転角度により、仮想カメラVCの位置や回転角度を設定できる。また仮想カメラVCが所定の軌道上を移動する場合には、仮想カメラデータに基づいて仮想カメラの位置や回転角度を設定できる。
【0089】
次に変数iを1に設定する(ステップS2)。そしてi番目の枝パーツオブジェクトPOBiのオブジェクトデータを読み出し、POBiが仮想カメラVCの方に向くように、VCの回転角度(θX、θY、θZ)に基づいて、POBiの回転角度をワールド座標系に変換する(ステップS3)。これにより図5(A)(B)、図8(A)(B)に示すようなパーツオブジェクトの回転処理を実現できる。なお図18にオブジェクトデータの例を示す。このオブジェクトデータは、各枝パーツオブジェクトPOBiのローカル座標系での位置Xi、Yi、Zi、回転角度θXi、θYi、θZi、オブジェクト番号を有する。
【0090】
次に枝パーツオブジェクトPOBiの位置(オブジェクトデータに含まれる位置)をワールド座標系に変換する(ステップS4)。そして枝パーツオブジェクトPOBiに対して、カメラ座標(視点座標)変換、透視変換を行って、POBiを、Zバッファを用いた隠面消去処理を行いながら描画バッファに描画する(ステップS5)。そして変数iを「1」だけインクリメントする(ステップS6)。
【0091】
次に、iがN(枝パーツオブジェクトの個数)より大きいか否かを判断し(ステップS7)、i≦Nである場合にはステップS3に戻る。一方、i>Nであれば、幹(柱状)パーツオブジェクトCOBに対してワールド座標変換、カメラ座標変換、透視変換を行って、COBを、Zバッファを用いた隠面消去処理を行いながら描画バッファに描画する(ステップS8)。これにより図6(B)、図7(B)等に示すような視界画像が生成される。
【0092】
なお図17では枝パーツオブジェクトを描画した後に幹パーツオブジェクトを描画しているが、幹パーツオブジェクトを描画した後に枝パーツオブジェクトを描画してもよい。
【0093】
4.ハードウェア構成
図19に本実施形態を実現できるハードウェア構成の例を示す。
【0094】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【0095】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0096】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0097】
データ伸張プロセッサ906は、圧縮された画像データや音データのデコード(伸長)処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できる。
【0098】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を高速に実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。そして1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0099】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介して入力される。
【0100】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御する。CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982にアクセスする処理を行う。
【0101】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行う。通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどがある。
【0102】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0103】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0104】
図20(A)に業務用ゲームシステムへの本実施形態の適用例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、操作部1102を操作してゲームを楽しむ。内蔵されるシステムボード1106にはプロセッサ、メモリなどが実装される。本実施形態の各部の処理を実現するためのプログラム(データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、このプログラムを格納プログラムと呼ぶ。
【0105】
図20(B)に家庭用ゲームシステムへの本実施形態の適用例を示す。この場合、上記格納プログラム(格納情報)は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209に格納される。
【0106】
図20(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1302を介して接続される端末1304-1〜1304-n(ゲーム機、携帯電話)とを含むシステムへの本実施形態の適用例を示す。この場合、上記格納プログラムは、ホスト装置1300の情報記憶媒体1306(ハードディスク、磁気テープ装置等)に格納される。また本実施形態の各部の処理をホスト装置と端末の分散処理で実現してもよい。
【0107】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0108】
例えば、明細書又は図面中の記載において広義や同義な用語(モデルオブジェクト、パーツオブジェクト、柱状パーツオブジェクト、オブジェクト、樹木等)として引用された用語(樹木、枝、幹、ポリゴン・プリミティブ面、植物等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0109】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0110】
またパーツオブジェクトの回転処理も本実施形態で説明した処理に限定されず種々の変形実施が可能である。
【0111】
また、本発明は種々のゲーム(格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等)に適用できる。
【0112】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムの機能ブロック図の例である。
【図2】図2(A)(B)は平板状ポリゴンを用いる手法の説明図である。
【図3】図3(A)(B)(C)はパーツオブジェクトの例である。
【図4】図4(A)(B)は凸形状パーツオブジェクトを用いる本実施形態の手法の説明図である。
【図5】図5(A)(B)はY軸回りの回転処理についての説明図である。
【図6】図6(A)(B)は仮想カメラがY軸回りで回転した場合の画像例である。
【図7】図7(A)(B)は仮想カメラがY軸回りで回転した場合の画像例である。
【図8】図8(A)(B)はX軸回りの回転処理についての説明図である。
【図9】図9(A)(B)は仮想カメラがX軸回りで回転した場合の画像例である。
【図10】図10(A)(B)は仮想カメラがX軸回りで回転した場合の画像例である。
【図11】図11(A)(B)はモデルオブジェクトを多数のパーツオブジェクトで構成した場合の画像例である。
【図12】図12(A)(B)はモデルオブジェクトを多数のパーツオブジェクトで構成した場合の画像例である。
【図13】テクスチャマッピング後の画像の例である。
【図14】パーツオブジェクトの配置間隔についての説明図である。
【図15】図15(A)(B)はZテクスチャマッピングの説明図である。
【図16】図16(A)(B)(C)はZテクスチャマッピングを利用して全体的な凸形状や微少な凹凸形状を表現する手法の説明図である。
【図17】本実施形態の処理のフローチャート例である。
【図18】オブジェクトデータの例である。
【図19】ハードウェア構成例である。
【図20】図20(A)(B)(C)は種々の形態のシステム例である。
【符号の説明】
MOB モデルオブジェクト、POB1、POB2 パーツオブジェクト、
PV、PV1、PV2 凸部(頂点)、VC 仮想カメラ、
COB 柱状パーツオブジェクト、
100 処理部、110 オブジェクト空間設定部、
112 仮想カメラ制御部、120 画像生成部、122 隠面消去部、
124 テクスチャマッピング部、130 音生成部、160 操作部、
170 記憶部、172 オブジェクトデータ記憶部、174 描画バッファ、
176 Zバッファ、178 テクスチャ記憶部、
180 情報記憶媒体、190 表示部
192 音出力部、194 携帯型情報記憶装置、196 通信部

Claims (13)

  1. 画像生成を行う画像生成システムであって、
    オブジェクトデータを記憶するオブジェクトデータ記憶部と、
    記憶されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、
    仮想カメラを制御する仮想カメラ制御部と、
    隠面消去処理を行いながら、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部とを含み、
    前記オブジェクト空間設定部が、
    画像が描かれる表示面側に凸部が形成される凸形状の複数のパーツオブジェクトを有するモデルオブジェクトを、前記複数のパーツオブジェクトが所与の位置から離れた位置で、前記所与の位置を中心に移動可能にオブジェクト空間に配置設定する処理と、
    前記所与の位置のまわりを仮想カメラが移動する場合、移動する仮想カメラの回転情報に基づいて、前記複数のパーツオブジェクトをその表示面が仮想カメラの移動に追従して仮想カメラの方に向くように前記所与の位置を中心に移動制御する処理とを行うことを特徴とする画像生成システム。
  2. 請求項1において、
    各テクセルにZ値のオフセット値が設定されるZテクスチャを記憶するテクスチャ記憶部と、
    記憶されたZテクスチャをオブジェクトにマッピングするテクスチャマッピング部とを含み、
    前記テクスチャマッピング部が、
    ピクセル単位でパーツオブジェクトの表示面に凹凸形状を設定するためのZテクスチャを、複数の前記パーツオブジェクトにマッピングすることを特徴とする画像生成システム。
  3. 画像生成を行う画像生成システムであって、
    オブジェクトデータを記憶するオブジェクトデータ記憶部と、
    記憶されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、
    各テクセルにZ値のオフセット値が設定されるZテクスチャを記憶するテクスチャ記憶部と、
    記憶されたZテクスチャをオブジェクトにマッピングするテクスチャマッピング部と、
    仮想カメラを制御する仮想カメラ制御部と、
    隠面消去処理を行いながら、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部とを含み、
    前記オブジェクト空間設定部が、
    複数のパーツオブジェクトを有するモデルオブジェクトを、前記複数のパーツオブジェクトが所与の位置から離れた位置で、前記所与の位置を中心に移動可能にオブジェクト空間に配置設定する処理と、
    前記所与の位置のまわりを仮想カメラが移動する場合、移動する仮想カメラの回転情報に基づいて、前記複数のパーツオブジェクトを画像が描かれる表示面が仮想カメラの移動に追従して仮想カメラの方に向くように前記所与の位置を中心に移動制御する処理とを行い
    前記テクスチャマッピング部が、
    複数の前記パーツオブジェクトの表示面側に仮想的な凸形状を形成するためのZテクスチャを、複数の前記パーツオブジェクトにマッピングすることを特徴とする画像生成システム。
  4. 請求項1乃至3のいずれかにおいて、
    前記モデルオブジェクトが柱状のパーツオブジェクトを有し、
    前記オブジェクト空間設定部が、
    前記柱状パーツオブジェクトを、鉛直方向であるY軸方向に沿って立つように配置設定し、
    複数の前記パーツオブジェクトを、前記柱状パーツオブジェクトの中心軸から離れた位置に配置設定し、
    仮想カメラが前記柱状パーツオブジェクトの方を向きながらY軸回りに回転移動した場合に、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながらY軸回りに移動させることを特徴とする画像生成システム。
  5. 請求項1乃至4のいずれかにおいて、
    前記モデルオブジェクトが柱状のパーツオブジェクトを有し、
    前記オブジェクト空間設定部が、
    前記柱状パーツオブジェクトを、鉛直方向であるY軸方向に沿って立つように配置設定し、
    複数の前記パーツオブジェクトを、前記柱状パーツオブジェクトの中心軸から離れた位置に配置設定し、
    仮想カメラが前記柱状パーツオブジェクトの方を向きながらY軸に直交するX軸回りに回転移動した場合に、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながらX軸回りに移動させることを特徴とする画像生成システム。
  6. 請求項1乃至5のいずれかにおいて、
    前記複数のパーツオブジェクトが隣り合う第1、第2のパーツオブジェクトを有し、
    前記オブジェクト空間設定部が、
    所与の座標軸回りに仮想カメラが360度回転移動した場合にも、前記第1、第2のパーツオブジェクトが互いに交差するか、或いは仮想カメラから見た視界画像において前記第1、第2のパーツオブジェクト間にオーバーラップ部分が生じるような配置間隔で、隣り合う前記第1、第2のパートオブジェクトを配置設定することを特徴とする画像生成システム。
  7. 画像を生成するためのプログラムであって、
    オブジェクトデータを記憶するオブジェクトデータ記憶部と、
    記憶されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、
    仮想カメラを制御する仮想カメラ制御部と、
    隠面消去処理を行いながら、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部として、
    コンピュータを機能させると共に、
    前記オブジェクト空間設定部が、
    画像が描かれる表示面側に凸部が形成される凸形状の複数のパーツオブジェクトを有するモデルオブジェクトを、前記複数のパーツオブジェクトが所与の位置から離れた位置で、前記所与の位置を中心に移動可能にオブジェクト空間に配置設定する処理と、
    前記所与の位置のまわりを仮想カメラが移動する場合、移動する仮想カメラの回転情報に基づいて、前記複数のパーツオブジェクトをその表示面が仮想カメラの移動に追従して仮想カメラの方に向くように前記所与の位置を中心に移動制御する処理とを行うことを特徴とするプログラム。
  8. 請求項7において、
    各テクセルにZ値のオフセット値が設定されるZテクスチャを記憶するテクスチャ記憶部と、
    記憶されたZテクスチャをオブジェクトにマッピングするテクスチャマッピング部として、
    コンピュータを機能させると共に、
    前記テクスチャマッピング部が、
    ピクセル単位でパーツオブジェクトの表示面に凹凸形状を設定するためのZテクスチャを、複数の前記パーツオブジェクトにマッピングすることを特徴とするプログラム。
  9. 画像を生成するためのプログラムであって、
    オブジェクトデータを記憶するオブジェクトデータ記憶部と、
    記憶されたオブジェクトデータに基づいて、複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、
    各テクセルにZ値のオフセット値が設定されるZテクスチャを記憶するテクスチャ記憶部と、
    記憶されたZテクスチャをオブジェクトにマッピングするテクスチャマッピング部と、
    仮想カメラを制御する仮想カメラ制御部と、
    隠面消去処理を行いながら、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部として、
    コンピュータを機能させると共に、
    前記オブジェクト空間設定部が、
    複数のパーツオブジェクトを有するモデルオブジェクトを、前記複数のパーツオブジェクトが所与の位置から離れた位置で、前記所与の位置を中心に移動可能にオブジェクト空間に配置設定する処理と、
    前記所与の位置のまわりを仮想カメラが移動する場合、移動する仮想カメラの回転情報に基づいて、前記複数のパーツオブジェクトを画像が描かれる表示面が仮想カメラの移動に追従して仮想カメラの方に向くように前記所与の位置を中心に移動制御する処理とを行い
    前記テクスチャマッピング部が、
    複数の前記パーツオブジェクトの表示面側に仮想的な凸形状を形成するためのZテクスチャを、複数の前記パーツオブジェクトにマッピングすることを特徴とするプログラム。
  10. 請求項7乃至9のいずれかにおいて、
    前記モデルオブジェクトが柱状のパーツオブジェクトを有し、
    前記オブジェクト空間設定部が、
    前記柱状パーツオブジェクトを、鉛直方向であるY軸方向に沿って立つように配置設定し、
    複数の前記パーツオブジェクトを、前記柱状パーツオブジェクトの中心軸から離れた位置に配置設定し、
    仮想カメラが前記柱状パーツオブジェクトの方を向きながらY軸回りに回転移動した場合に、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながらY軸回りに移動させることを特徴とするプログラム。
  11. 請求項7乃至10のいずれかにおいて、
    前記モデルオブジェクトが柱状のパーツオブジェクトを有し、
    前記オブジェクト空間設定部が、
    前記柱状パーツオブジェクトを、鉛直方向であるY軸方向に沿って立つように配置設定し、
    複数の前記パーツオブジェクトを、前記柱状パーツオブジェクトの中心軸から離れた位置に配置設定し、
    仮想カメラが前記柱状パーツオブジェクトの方を向きながらY軸に直交するX軸回りに回転移動した場合に、複数の前記パーツオブジェクトを、その表示面が仮想カメラの方に向くようにしながらX軸回りに移動させることを特徴とするプログラム。
  12. 請求項7乃至11のいずれかにおいて、
    前記複数のパーツオブジェクトが隣り合う第1、第2のパーツオブジェクトを有し、
    前記オブジェクト空間設定部が、
    所与の座標軸回りに仮想カメラが360度回転移動した場合にも、前記第1、第2のパーツオブジェクトが互いに交差するか、或いは仮想カメラから見た視界画像において前記第1、第2のパーツオブジェクト間にオーバーラップ部分が生じるような配置間隔で、隣り合う前記第1、第2のパートオブジェクトを配置設定することを特徴とするプログラム。
  13. コンピュータ読み取り可能な情報記憶媒体であって、請求項7乃至12のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
JP2003094489A 2003-03-31 2003-03-31 画像生成システム、プログラム及び情報記憶媒体 Expired - Fee Related JP3989396B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003094489A JP3989396B2 (ja) 2003-03-31 2003-03-31 画像生成システム、プログラム及び情報記憶媒体
US10/808,424 US7881521B2 (en) 2003-03-31 2004-03-25 Rotational image generation method, program, and information storage medium and virtual camera

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003094489A JP3989396B2 (ja) 2003-03-31 2003-03-31 画像生成システム、プログラム及び情報記憶媒体

Publications (2)

Publication Number Publication Date
JP2004298375A JP2004298375A (ja) 2004-10-28
JP3989396B2 true JP3989396B2 (ja) 2007-10-10

Family

ID=33407044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003094489A Expired - Fee Related JP3989396B2 (ja) 2003-03-31 2003-03-31 画像生成システム、プログラム及び情報記憶媒体

Country Status (2)

Country Link
US (1) US7881521B2 (ja)
JP (1) JP3989396B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101739220B1 (ko) 2016-02-04 2017-05-24 민코넷주식회사 게임 플레이 상황에 대한 특수 영상 생성 시스템

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4183082B2 (ja) * 2003-09-26 2008-11-19 シャープ株式会社 3次元画像描画装置および3次元画像描画方法
US7973789B2 (en) * 2005-06-03 2011-07-05 Pixar Dynamic model generation methods and apparatus
US8370360B2 (en) * 2005-12-31 2013-02-05 G & G Commerce Ltd. Merchandise recommending system and method thereof
US8095745B1 (en) * 2006-08-07 2012-01-10 Marvell International Ltd. Non-sequential transfer of data from a memory
WO2008105494A1 (ja) * 2007-02-28 2008-09-04 Nec Corporation Dma転送装置及び方法
US20090174703A1 (en) * 2008-01-07 2009-07-09 Disney Enterprises, Inc. Particle-based method of generating and animating three-dimensional vegetation
JP2011022726A (ja) * 2009-07-14 2011-02-03 Sony Corp 画像処理装置および画像処理方法
US8884916B2 (en) 2010-12-09 2014-11-11 Synaptics Incorporated System and method for determining user input using polygons
JP5411385B1 (ja) * 2013-08-12 2014-02-12 株式会社 ディー・エヌ・エー ゲームを提供するサーバ及び方法
US10303211B2 (en) * 2017-02-01 2019-05-28 Facebook Technologies, Llc Two part cone display using flexible substrates
US10409080B2 (en) * 2017-02-01 2019-09-10 Facebook Technologies, Llc Spherical display using flexible substrates

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6831659B1 (en) * 1998-05-20 2004-12-14 Kabushiki Kaisha Sega Enterprises Image processor unit, game machine, image processing method, and recording medium
JP3269814B2 (ja) * 1999-12-03 2002-04-02 株式会社ナムコ 画像生成システム及び情報記憶媒体
JP2002024858A (ja) 2000-07-06 2002-01-25 Namco Ltd ゲームシステム及び情報記憶媒体
US7198568B2 (en) * 2002-05-01 2007-04-03 Nintendo Co., Ltd. Game machine and game program for changing the movement of one character based on the movement of another character

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101739220B1 (ko) 2016-02-04 2017-05-24 민코넷주식회사 게임 플레이 상황에 대한 특수 영상 생성 시스템

Also Published As

Publication number Publication date
US20040246250A1 (en) 2004-12-09
US7881521B2 (en) 2011-02-01
JP2004298375A (ja) 2004-10-28

Similar Documents

Publication Publication Date Title
JP3989396B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3249955B2 (ja) 画像生成システム及び情報記憶媒体
JP2007140842A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4610748B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4749198B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4223244B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3413383B2 (ja) ゲームシステム及び情報記憶媒体
JP4229319B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4167358B2 (ja) 画像生成システム及び情報記憶媒体
JP2009129167A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2006323512A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4577968B2 (ja) ゲームシステム及び情報記憶媒体
JP4159082B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4717624B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4229317B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4187192B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4913399B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4707078B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2010033288A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2010055638A (ja) 画像生成システム及び情報記憶媒体
JP4698701B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4394211B2 (ja) 画像生成システム及び情報記憶媒体
JP4162125B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2008077406A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2006323514A (ja) 画像生成システム、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070521

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: 20070620

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070717

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

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 3989396

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130727

Year of fee payment: 6

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

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

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

LAPS Cancellation because of no payment of annual fees