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

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

Info

Publication number
JP4754384B2
JP4754384B2 JP2006095049A JP2006095049A JP4754384B2 JP 4754384 B2 JP4754384 B2 JP 4754384B2 JP 2006095049 A JP2006095049 A JP 2006095049A JP 2006095049 A JP2006095049 A JP 2006095049A JP 4754384 B2 JP4754384 B2 JP 4754384B2
Authority
JP
Japan
Prior art keywords
pixel
volume
coordinate system
movement
movement trajectory
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.)
Active
Application number
JP2006095049A
Other languages
English (en)
Other versions
JP2007272388A (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 JP2006095049A priority Critical patent/JP4754384B2/ja
Publication of JP2007272388A publication Critical patent/JP2007272388A/ja
Application granted granted Critical
Publication of JP4754384B2 publication Critical patent/JP4754384B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Description

本発明は、プログラム、情報記録媒体および画像生成システムに関する。
近年、仮想的な3次元空間(以下、「オブジェクト空間」という。)に配置設定されたキャラクタなどのオブジェクトを、仮想カメラ(所与の視点)に基づく所定の画像として生成する画像生成システムが実用化されている。このような画像生成システムは、仮想現実を体験させることができるものとして様々なシステムにて用いられるようになっており、特に、ゲームシステムにおいては、娯楽性および興趣性を向上させるためものとして重要視されている。
このような画像生成システムでは、演算処理の効率化を図りつつ、仮想現実感の向上のためによりリアルな画像を生成することが課題となっている。そして、リアルな画像を生成する1つの手法として、ある描画フレームにおいてオブジェクトがぶれたような画像を生成する「モーションブラー」と呼ばれる手法が用いられている。
かかる従来のモーションブラーの代表的な手法としては、
(1)オブジェクトの移動方向と移動速度に応じて当該オブジェクトを引き伸ばした移動軌跡ボリュームを用いたもの、
(2)2つのフレーム間の時間をさらに細かく分割し、当該分割した微少時間だけ時間を進めながら、何度もオブジェクトの画像をレンダリングし、最終的に全ての画像を平均化して合成するもの、
(3)ブラーのない画像とオブジェクトの速度を別々のテクスチャにレンダリングし、速度の向きと大きさからブラーのない画像をマルチサンプリングするもの、
などが知られており、オブジェクトの動きを表現し、現実感の高い画像を提供している(例えば、非特許文献1)。
今給黎隆「DirectX9シェーダプログラミングブック」株式会社毎日コミュニケーションズ発行、2004年1月5日
しかしながら、上述のモーションブラーを適用した画像生成システムにあっては、複数のレンダリングにより処理負荷が大きくなるため、オブジェクトの移動速度が速い場合にオブジェクトが離散的に見えてしまう、処理負荷については軽いものの的確にオブジェクトの動きを表現できない、または、オブジェクトの境界が不正確で、かつ、オブジェクト同士が交差した場合の表現ができないなど、高速処理にて画像を生成しつつ、オブジェクトの動きを適確に表現することができないという問題があった。
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、高速処理にて画像を生成しつつ、オブジェクトの動きを適確に表現することのできる画像生成システムを提供することにある。
(1)上記の課題を解決するために、本発明は、
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記仮想カメラに対してオブジェクトが相対移動する場合に、当該オブジェクトを構成する面の前記相対移動前の状態を示す第1の面と前記相対移動後の状態を示す第2の面とに基づいて、移動軌跡ボリュームを生成するボリューム生成部と、
前記生成された移動軌跡ボリュームを描画する移動軌跡ボリューム描画部とを含み、
前記移動軌跡ボリューム描画部が、
前記オブジェクトを構成する面の色分布に対応するピクセルパターンを有する所定のピクセル座標系における、前記移動軌跡ボリュームの描画ピクセルと前記第1の面との位置関係に応じた第1の位置と、該描画ピクセルと前記第2の面との位置関係に応じた第2の位置とを求め、前記第1の位置と前記第2の位置とに基づいて、該描画ピクセルの色及び透明度の少なくとも一方を求めることを特徴とする画像生成システムに関係する。
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
本発明によれば、移動軌跡ボリュームの描画ピクセルと第1の面と第2の面との対応関係を、所定のピクセル座標系におけるピクセルパターンと第1の位置と第2の位置との対応関係に変換し、第1の位置と第2の位置とに基づいて、移動軌跡ボリュームの描画ピクセルの色及び透明度の少なくとも一方を求める。
ここで本発明によれば、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度が変化すると移動軌跡ボリュームが変化する。すると、所定のピクセル座標系における第1の位置および第2の位置が変化して、ピクセルパターンと第1の位置と第2の位置との対応関係が変化する。即ち本発明によれば、所定のピクセル座標系における第1の位置と第2の位置との関係を描画ピクセルの仮想的な移動状況として用いて、描画ピクセルの色及び透明度の少なくとも一方を求める。
従って本発明によれば、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度の変化に応じて、移動軌跡ボリュームの描画ピクセルの色及び透明度の少なくとも一方を求めることができる。
こうして本発明によれば、オブジェクトの移動軌跡ボリュームを用いて適確にモーションブラーを表現することができるとともに、処理負荷が重い演算処理を行うことなく高速に画像を生成することができる。
(2)また、本発明に係る画像生成システム、プログラムまたは情報記録媒体は、
前記移動軌跡ボリューム描画部が、
前記第1の位置と第2の位置とを端点とする線分と、前記ピクセルパターンとの交差領域を求め、当該交差領域に基づいて前記移動軌跡ボリュームの描画ピクセルの色を求めるようにしてもよい。
本発明によれば、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度が変化すると、ピクセル座標系における交差領域も変化する。従って本発明によれば、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度に応じて、移動軌跡ボリュームにおける描画ピクセルの色を求めることができる。こうして本発明によれば、オブジェクトの移動軌跡ボリュームを用いて適確にモーションブラーを表現することができるとともに、処理負荷が重い演算処理を行うことなく高速に画像を生成することができる。
(3)また、本発明に係る画像生成システム、プログラムまたは情報記録媒体は、
前記移動軌跡ボリューム描画部が、
前記第1の位置と第2の位置とを端点とする線分と、前記ピクセルパターンとの交差領域を求め、前記第1の位置と第2の位置の距離と、前記交差領域の端点間の距離との比に基づいて、前記移動軌跡ボリュームの描画ピクセルの透明度を求めるようにしてもよい。
本発明によれば、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度に応じて、第1の位置と第2の位置の距離と、交差領域の端点間の距離との比が変化する。例えば相対移動速度が大きければ当該比が大きくなり、相対移動速度が小さければ当該比が小さくなる。また、相対移動方向がオブジェクトの短手方向である場合は当該比が大きくなり、相対移動方向がオブジェクトの長手方向である場合は当該比が小さくなる。
従って本発明によれば、移動軌跡ボリュームの透明度を求める際に、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度に応じて、移動軌跡ボリュームにおける描画ピクセルの透明度を求めることができる。こうして本発明によれば、オブジェクトの移動軌跡ボリュームを用いて適確にモーションブラーを表現することができるとともに、処理負荷が重い演算処理を行うことなく高速に画像を生成することができる。
(4)また、本発明に係る画像生成システム、プログラムまたは情報記録媒体は、
前記移動軌跡ボリューム描画部が、
前記第1の位置及び第2の位置の少なくとも一方が前記ピクセルパターン内に存在する場合に、当該ピクセルパターン内に存在する前記第1の位置及び第2の位置の少なくとも一方を前記交差領域の端点とするようにしてもよい。
本発明によれば、オブジェクトの仮想カメラに対する相対移動量が小さく、第1の位置及び第2の位置の少なくとも一方が前記ピクセルパターン内に存在する場合でも、当該移動量に応じた交差領域を求めることができる。従って本発明によれば、相対移動量が小さい場合でも移動量を正確に反映した適確なモーションブラーを表現することができる。
(5)また、本発明に係る画像生成システム、プログラムまたは情報記録媒体は、
前記ピクセルパターンは、前記所定のピクセル座標系において直角三角形を形成するようにしてもよい。
本発明によれば、オブジェクトを構成する三角形のプリミティブ面について簡単な演算を行うことにより、所定のピクセル座標系におけるピクセルパターンを求めることができる。しかも本発明によれば、オブジェクトを構成する三角形のプリミティブ面を所定のピクセル座標系におけるピクセルパターンに変換した際の位置関係の変化量を最小限に抑えることができ、適確に移動軌跡ボリュームの描画ピクセルの色及び透明度の少なくとも一方を求めることができる。
以下、本発明に好適な実施の形態について図面を用いて説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態にて説明される構成の全てが、本発明の必須の構成要件であるとは限らない。
1.構成
まず、図1を用いて本実施形態における画像生成システム(ゲームシステム)の構成について説明する。図1は、本実施形態における画像生成システムの機能ブロック図の一例である。なお、本実施形態の画像生成システムは、図1の構成要素(各部)の一部を省略した構成としてもよい。
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部170は、最終的な表示画像等が記憶されるフレームバッファ172と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部173と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部174と、オブジェクトの画像の生成処理時にZ値が記憶されるZバッファ176と、を含む。なお、これらの一部を省略する構成としてもよい。
特に、本実施形態のオブジェクトデータ記憶部173には、移動体オブジェクト(車、キャラクタ等)、固定物オブジェクト(建物等)、背景オブジェクト(マップ、地形、天球等)のモデルデータが記憶されている。
具体的には、このオブジェクトデータ記憶部173には、ローカル座標系において予め設定され、頂点の位置座標、テクスチャ座標、色データ、法線ベクトル(法線データ)およびα値などの各頂点データを含むオブジェクトデータまたは処理部100によって所定の演算により算出された各頂点データを含むオブジェクトデータが記憶される。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。
この情報記憶媒体180には、処理部100において本実施形態の種々の処理を行うためのプログラム(データ)が記憶されている。即ち、この情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶されている。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
携帯型情報記憶装置194には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
特に、本実施形態の処理部100は、オブジェクト空間に各種のオブジェクトを設定するオブジェクト空間設定部110と、オブジェクト空間における移動体オブジェクトの移動・動作演算を行う移動・動作処理部112と、仮想カメラを制御する仮想カメラ制御部114と、仮想カメラから見える画像を生成する描画部120と、音を生成する音生成部130と、を含む。なお、これらの一部を省略する構成としてもよい。
オブジェクト空間設定部110は、各キャラクタオブジェクト、車、戦車、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ち、オブジェクト設定部110は、ワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
移動・動作処理部112は、移動体オブジェクト(車又は飛行機の他にキャラクタが使用する道具等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち、この移動・動作処理部112は、操作部160によりプレーヤが入力した操作データ、設定されたパラメータや属性又はプログラム(移動・動作アルゴリズム)や各種データ(モーションデータ)などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作(モーション、アニメーション)を制御するための処理を行う。
具体的には、本実施形態の移動・動作処理部112は、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは毎フレーム固定としてもよいし、処理負荷に応じて可変としてもよい。
特に、本実施形態の移動・動作処理部112は、予め定められた特定の移動体オブジェクトがオブジェクト空間内を仮想カメラに対して相対的に移動する相対移動が行われる場合に、相対移動における移動体オブジェクトの移動・動作処理(シミュレーション処理)を行う。
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、本実施形態の描画部120は、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
また、頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。
ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色をフレームバッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
なお、描画部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして、描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)を記憶部170に記憶する。
テクスチャマッピングでは、記憶部170のテクスチャ記憶部174に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部174からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出し、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布(テクセルパターン)を動的に変化させることができる。
また、この場合において、色分布(ピクセルパターン)が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
隠面消去処理では、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照するとともに、当該参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
αブレンディング(α合成)では、描画部120は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
また、描画部120は、移動体オブジェクトの移動軌跡ボリュームを生成する移動軌跡ボリューム生成部122と、移動軌跡ボリュームを描画する移動軌跡ボリューム描画部124と、を含む。
移動軌跡ボリューム生成部122は、仮想カメラに対してオブジェクトが相対移動する場合に、当該オブジェクトを構成する面の相対移動前の状態を示す第1の面と相対移動後の状態を示す第2の面とに基づいて、その描画フレームにおけるオブジェクトの移動の様子(移動軌跡)を示すボリューム(以下、「移動軌跡ボリューム」という。)を生成する。この移動軌跡ボリュームは、オブジェクトが高速で移動する際のモーションブラー(ぶれ)を表現するために用いるものである。
詳細には、移動軌跡ボリューム生成部122は、予め定められた高速移動を行う特定のオブジェクトの相対移動前の位置(頂点座標)と相対移動後の位置(頂点座標)とに基づいて、移動軌跡ボリュームを生成する。この相対移動前の位置と相対移動後の位置は、その描画フレームにおける当該オブジェクトについての移動・動作演算(移動・動作シミュレーション)の結果や、仮想カメラの制御情報等に基づいて求めることができる。具体的には、その描画フレームにおけるオブジェクトの移動速度、移動方向、移動量等の移動情報、及び仮想カメラの位置、向き、画角の変化速度、変化方向、変化量等の制御情報に基づき、その描画フレームにおけるオブジェクトの相対移動前における位置(頂点座標)と相対移動後における位置(頂点座標)を求めることができる。
特に本実施形態では、移動軌跡ボリューム生成部122は、前の描画フレームにおけるオブジェクトの位置をその描画フレームにおける相対移動前における位置とし、その描画フレームにおけるオブジェクトの位置を相対移動後における位置とする。そして、相対移動前における位置と相対移動後における位置とに基づいて、オブジェクトを構成する面の相対移動前の状態を示す第1の面と相対移動後の状態を示す第2の面とを端面とする移動軌跡ボリュームを生成する。
移動軌跡ボリューム描画部124は、オブジェクトを構成する面の色に応じた色分布に対応するピクセルパターンを有する所定のピクセル座標系における、移動軌跡ボリュームの描画ピクセルと第1の面との位置関係に応じた第1の位置と、該描画ピクセルと第2の面との位置関係に応じた第2の位置とを求め、求めた第1の位置と第2の位置とに基づいて該描画ピクセルの色及び透明度を求め、移動軌跡ボリュームを描画する。
具体的には移動軌跡ボリューム描画部124は、所定のピクセル座標系として、生成された移動軌跡ボリュームを所定のマトリクスを用いて変換して得られるピクセル座標系を用いる。特に本実施形態では、移動軌跡ボリュームを構成する面(ポリゴンまたは三角形プリミティブ面)の頂点座標を所定のマトリクスで変換すると、当該面の色に応じた色分布に対応するピクセルパターンが直角三角形を形成するピクセル座標系を用いる。
ここで本実施形態では、移動軌跡ボリュームを変換すると、当該移動軌跡ボリュームの描画ピクセルと第1の面との位置関係に応じた第1の位置と、第2の面との位置関係に応じた第2の位置と、オブジェクトを構成する面の色に応じた色分布を有するピクセルパターンとが配置されるピクセル座標系が構成されるマトリクスを逆算して求めておく。
そして、移動軌跡ボリューム描画部124は、移動軌跡ボリュームの描画ピクセルと第1の面と第2の面との位置関係を、かかる所定のマトリクスを用いることにより、オブジェクトを構成する面の色に応じた色分布を有するピクセルパターンと第1の位置と第2の位置とが構成される所定のピクセル座標系に変換し、所定のピクセル座標系におけるピクセルパターンと第1の位置と第2の位置との位置関係から、移動軌跡ボリュームの描画ピクセルの色及び透明度を求める。
詳細には移動軌跡ボリューム描画部124は、第1の位置と第2の位置とを端点とする線分と、ピクセルパターンとの交差領域を求め、当該交差領域に基づいて移動軌跡ボリュームの描画ピクセルの色を求める。また移動軌跡ボリューム描画部124は、第1の位置と第2の位置とを端点とする線分と、ピクセルパターンとの交差領域を求め、第1の位置と第2の位置の距離と、交差領域の端点間の距離との比に基づいて、移動軌跡ボリュームの描画ピクセルの透明度を求める。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
2.本実施形態の手法
2.1 概要
本実施形態の画像生成システムは、仮想カメラに対してオブジェクトが相対移動する場合に、前フレームのオブジェクトを構成する第1の面(相対移動前の状態を示す第1の面)と、現在フレームのオブジェクトを構成する第2の面(相対移動後の状態を示す第2の面)とを端面とする、当該オブジェクトの移動軌跡ボリュームを生成する。
そして、オブジェクトを構成する面の色に応じた色分布に対応するピクセルパターンを有する所定のピクセル座標系(以下、ローカル座標系という。)における、移動軌跡ボリュームの描画ピクセルと第1の面との位置関係に応じた第1の位置と、該描画ピクセルと前記第2の面との位置関係に応じた第2の位置とを求め、求めた第1の位置と第2の位置とに基づいて該描画ピクセルの色及び透明度を求め、移動軌跡ボリュームを描画する。
即ち本実施形態では、移動軌跡ボリュームの各描画ピクセルについて、ローカル座標系における仮想的な移動軌跡を求める。そして、ローカル座標系において、仮想的な移動軌跡を示す線分(以下、「ピクセル線分」という。)と、オブジェクトを構成する面の色に応じた色分布が展開されたピクセルパターン領域(以下、「色分布領域」という。)とに基づいて、移動軌跡ボリュームの各描画ピクセルの色及び透明度を求める。
このように本実施形態では、特定のオブジェクトのオブジェクト空間内における移動方向や移動速度に応じて変化するピクセル線分と、当該オブジェクトの色が反映された色分布領域とに基づいて、移動軌跡ボリュームの各描画ピクセルの色又は透明度を特定する。従って本実施形態では、オブジェクトのオブジェクト空間内における移動方向や移動速度に応じて、移動軌跡ボリュームの色または透明度を特定することができる。
例えば、図2(A)に示すオブジェクトOBを構成する面について本実施形態の手法を適用すると、図2(B)に示すように、オブジェクトOBの仮想カメラに対する相対移動方向や相対移動速度の変化に応じて、移動軌跡ボリュームMVの描画ピクセルの色及び透明度を適確に描画することができる。こうして本実施形態によれば、オブジェクトの移動軌跡ボリュームMVを用いて適確にモーションブラーを表現することができる。
2.2 移動軌跡ボリュームの生成
次に、本実施形態の移動軌跡ボリュームの生成手法について説明する。図3は、本実施形態の移動軌跡ボリュームの一例を説明するための図である。本実施形態では、図3に示すように、オブジェクト空間に、特定のオブジェクトの前フレームの位置に対応する前フレームのオブジェクトOB0(第1の面)と、現在フレームの位置に対応する現在フレームのオブジェクトOB1(第2の面)とを、それぞれの法線ベクトルnの向きが互いに逆向きになるように配置する。そして、前フレームのオブジェクトOB0の各頂点と現在フレームのオブジェクトOB1の各頂点とを結ぶ各稜線rに基づいて、各オブジェクトの間に法線ベクトルが外側に設定された縮退四角形のメッシュを挿入し、移動軌跡ボリュームMVを生成する。
ここで、それぞれの法線ベクトルnは、前フレームのオブジェクトOB0の頂点座標と現在フレームのオブジェクトOB1の頂点座標とから求められる速度ベクトルaに基づいて向きを定める。即ち、図3に示すように、前フレームのオブジェクトOB0の法線ベクトルnは速度ベクトルaと逆方向に設定し、現在フレームのオブジェクトOB1の法線ベクトルnは速度ベクトルaに沿う方向に設定する。
例えば、特定のオブジェクトが仮想カメラに対して奥側から手前側に相対移動する場合には、速度ベクトルaが手前側を向いているので、前フレームのオブジェクトOB0の法線ベクトルnは奥側を向くように設定され、現在フレームのオブジェクトOB1の法線ベクトルnは手前側を向くように設定される。一方、手前側から奥側に相対移動する場合には、速度ベクトルaが奥側を向いているので、前フレームのオブジェクトOB0の法線ベクトルnは手前側を向くように設定され、現在フレームのオブジェクトOB1の法線ベクトルnは奥側を向くように設定される。従って、本実施形態では、移動軌跡ボリュームMVを生成する際に、仮想カメラに対して手前側にあるオブジェクトOBのみを描画し、奥側にあるオブジェクトOBについてはバックフェースカリングを行うことができる。
なお、特定のオブジェクトについての基準ボリュームを予め用意しておき、移動軌跡ボリュームMVを生成する際に、特定のオブジェクトの相対移動に関する情報に基づいて基準ボリュームを変形させて、そのフレームにおける移動軌跡ボリュームMVを生成するようにしてもよい。また、頂点計算を行った後に、特定のオブジェクトの相対移動に関する情報に基づいて、移動奇跡ボリュームMVを生成するようにしてもよい。
2.3 移動軌跡ボリュームの描画
次に、本実施形態の移動軌跡ボリュームの描画手法について説明する。本実施形態では、生成された移動軌跡ボリュームを透視変換し、スクリーン座標系に射影変換するとともに、移動軌跡ボリュームを所定のマトリクスを用いて変換したローカル座標系におけるピクセルパターンを用いて、移動軌跡ボリュームを構成する各描画ピクセルの色と透明度を求め、移動軌跡ボリュームを描画する。
2.3.1 移動軌跡ボリュームの変換
図4(A)、(B)は、本実施形態の移動軌跡ボリュームMVを所定のローカル座標系に変換する手法の一例を説明するための図である。本実施形態では、図4(A)に示す移動軌跡ボリュームMVを描画する場合には、当該移動軌跡ボリュームMVを構成する面の頂点座標を所定のマトリクスで変換する。そして、図4(B)に示すような、移動軌跡ボリュームMVの現在フレームのオブジェクトOB1の面(q0,q1,q2)の色に応じた色分布に対応するピクセルパターンが、直角三角形((0,0),(0,1),(1,0))を形成するローカル座標系を得て、このローカル座標系を用いて移動軌跡ボリュームMVの各描画ピクセル色及び透明度を求める。
例えば、図4(A)に示す移動軌跡ボリュームMVの描画ピクセルpの色を求める場合を例に挙げると、移動軌跡ボリュームMVを所定のマトリクスで変換すると、図4(B)に示すローカル座標系において直角三角形((0,0),(0,1),(1,0))のピクセルパターンが形成されるとともに、描画ピクセルpと前フレームのオブジェクトOB0との位置関係に応じた前フレームの座標点C0(第1の位置)と、描画ピクセルpと現在フレームのオブジェクトOB1との位置関係に応じた現在フレームの座標点C1(第2の位置)とが求まる。
即ち本実施形態では、所定のマトリクスを用いて、移動軌跡ボリュームMVにおける、描画ピクセルpに対応する前フレームのオブジェクトOB0の対応ピクセルP0と、当該描画ピクセルpに対応する現在フレームのオブジェクトOB1の対応ピクセルP1とを、オブジェクトOB1の面(q0,q1,q2)が直角三角形の色分布領域Tとなるローカル座標系における、前フレームの座標点C0と現在フレームの座標点C1に変換する。
詳細には本実施形態では、描画ピクセルの位置をp(t)とし、時刻tの時の特定のオブジェクトの頂点のスクリーン座標上の位置をQ0(t)、Q1(t)、Q2(t)とすると、(式1)から導出された(式2)に基づいて、描画ピクセルの位置p(t)からC(t)を求めることができる。
p(t)−Q0(t)
=C(t).x(Q1(t)−Q0(t))+C(t).y(Q2(t)−Q0(t))
=M(t)C(t)
・・・(式1)
C(t)=M−1(t)(p(t)−Q0(t)) ・・・(式2)
ここで[.x]、[.y]は、特定のオブジェクトのスクリーン座標における頂点位置のx及びy成分を示し、Mは、移動軌跡ボリュームMVをスクリーン座標系からローカル座標系にマトリクス変換する際のマトリクスを示す。
そして本実施形態では、このようにして得られる図4(B)に示すローカル座標系において、前フレームの座標点C0と現在フレームの座標点C1とを端点とする線分と、色分布領域Tとの交差領域を求め、当該交差領域に基づいて移動軌跡ボリュームMVの描画ピクセルpの色と透明度を求める。即ち移動軌跡ボリュームMVの描画ピクセルpの色として、オブジェクトのローカル座標系における仮想的な移動軌跡上の色を設定する。
2.3.2 描画ピクセルの色と透明度の決定
図5は、交差領域に基づいて、図4(A)の描画ピクセルpの色と透明度を求める手法を説明するための図である。本実施形態では、図5(A)に示すように、所定のローカル座標系において、前フレームの座標点C0と現在フレームの座標点C1を端点とする線分Lと、色分布領域Tとに基づいて、交差領域Oを求める。詳細には、本実施形態では、図5(A)に示すように、ローカル座標系におけるx=0、y=0、x+y=1と、前フレームの座標点C0と現在フレームの座標点C1とを通る直線との交点la、lb、lcを求める。そして、各交点la、lb、lcと、前フレームの座標点C0及び現在フレームの座標点C1との関係から、解析的に線分Lと色分布領域Tとの交差領域O(線分lblc)を求める。
そして本実施形態では、この交差領域Oに対応する色分布領域Tのいずれかのピクセルパターンに基づいて、移動軌跡ボリュームMVの描画ピクセルの色を求める。例えば図5(A)の例では、交差領域Oの中点Omに対応する色分布領域Tのピクセルの色を、図4(A)の描画ピクセルpの色として設定する。
また本実施形態では、線分Lの長さ(前フレームの座標点C0と現在フレームの座標点C1の距離)と、交差領域Oの長さ(交点lbと交点lcの距離)との比に基づいて、移動軌跡ボリュームMVの描画ピクセルpの透明度を求める。例えば図5(A)の例では、線分Lの長さと交差領域Oの長さの比は2:1となっており、この場合には透明度1/2(例えばα値0.5)を、図4(A)の描画ピクセルpの透明度として設定する。即ち移動軌跡ボリュームMVの描画ピクセルpの透明度として、オブジェクトのローカル座標系における仮想的な移動量に応じた透明度を設定する。
そして本実施形態では、かかる色と透明度の設定を移動軌跡ボリュームMVの各描画ピクセルについて行う。ここで、移動軌跡ボリュームMVの各描画ピクセルは、前フレームのオブジェクトOB0に対する位置関係、及び現在フレームのオブジェクトOB1に対する位置関係がそれぞれ異なる。従って、それぞれの描画ピクセルについて、図5(A)に示すローカル座標系における前フレームの座標点C0と現在フレームの座標点C1が異なり、交差領域Oの位置、範囲も異なる。
例えば図4(A)において、描画ピクセルpよりも下方であって、現在フレームのオブジェクトOB1に近い描画ピクセルp1の色と透明度を求める場合には、図5(B)に示すように、ローカル座標系における線分L1は、描画ピクセルpに対応する線分Lよりも下方に平行移動する。すると交差領域O1の位置が変化し、中点Om1の位置が下方に変化する。そして、中点Om1に対応する色分布領域Tのピクセルの色を、描画ピクセルp1の色として設定する。即ち描画ピクセルp1は、色分布領域Tにおいて描画ピクセルpよりも下方に位置するピクセルに対応する色で描画する。従って本実施形態では、移動軌跡ボリュームMVの描画ピクセルの色として、オブジェクトの色分布に対応する色を設定することができる。
また、図5(B)の例では、そして、前フレームの座標点C0は色分布領域Tから離れた位置となり、現在フレームの座標点C1は色分布領域Tに近い位置となる。そして、線分Lの長さと交差領域Oの長さの比は3:1となっており、この場合には透明度1/3(例えばα値0.3)を描画ピクセルp1の透明度として設定する。即ち描画ピクセルp1は、描画ピクセルpよりも薄い色で描画する。従って本実施形態では、移動軌跡ボリュームMVの中央部付近が濃く、前後方向に向かうにつれ次第に色が薄くなるように透明度を設定することができる。
こうして本実施形態では、移動軌跡ボリュームMVの各描画ピクセルの色と透明度を、移動軌跡ボリュームMVを所定のマトリクスで変換した所定のローカル座標系を用いて設定し、移動軌跡ボリュームMVを描画する。すると、図2(B)に示すように、オブジェクトの色分布に対応し、前後方向に向かうにつれ次第に色が薄くなるような移動軌跡ボリュームMVを描画することができる。
2.3.3 移動方向、移動速度に応じた色の決定
図6(A)は、特定のオブジェクトの仮想カメラに対する相対的な移動方向が、他の態様である場合に設定されるローカル座標系の例である。図6(A)の例では、特定のオブジェクトの移動方向が、オブジェクト空間において下方向である場合の例である。この場合には、移動軌跡ボリュームMVは上下方向に延びる形状として生成されるので、図6(A)の例では、ローカル座標系における線分L2が、移動軌跡ボリュームMVの延長方向に沿う上下方向に形成される。
ここで図6(A)の線分L2については、前フレームの座標点C0の位置が、色分布領域Tと重なる位置となっている。これは、描画ピクセルの移動軌跡ボリュームMVにおける位置が、前フレームのオブジェクトOB0の位置と重なる位置にあるためである。この場合には、線分L2の一端である前フレームの座標点C0を、交差領域Oの端点lbとする。従って図6(A)の例では、前フレームの座標点C0とlcとを端点とする交差領域O2の中点Om2に基づいて、描画ピクセルの色を設定し、線分L2と交差領域O2との長さ比に基づいて、描画ピクセルの透明度を設定する。
また、図6(B)は、特定のオブジェクトの仮想カメラに対する相対的な移動速度が、他の態様である場合に設定されるローカル座標系の例である。図6(B)の例では、特定のオブジェクトの移動方向は図6(A)と同様であるが、移動速度が遅い、即ち当該描画フレームにおけるオブジェクトの移動量が小さい場合の例である。この場合には、移動軌跡ボリュームMVは長さが短く生成されるので、生成される移動軌跡ボリュームMVにおいて、前フレームのオブジェクトOB0と現在フレームのオブジェクトOB1とが重なる領域が多くなる。
すると図6(B)の線分L3については、前フレームの座標点C0及び現在フレームの座標点C1の位置が、色分布領域Tと重なる位置となっている。これは、描画ピクセルの移動軌跡ボリュームMVにおける位置が、前フレームのオブジェクトOB0と現在フレームのオブジェクトOB1とが重なる位置にあるためである。従って、ローカル座標系における前フレームの座標点C0と現在フレームの座標点C1の位置が、ともに色分布領域Tと重なる位置となっている。即ち図6(B)に示すように、ローカル座標系における線分L3も長さが短く形成される。この場合には、前フレームの座標点C0と現在フレームの座標点C1とを、交差領域O3の端点lb、lcとする。
従って図6(B)の例では、線分L3を交差領域O3として、その中点Om3に基づいて、描画ピクセルの色を設定し、線分L3と交差領域O3との長さ比に基づいて、描画ピクセルの透明度を設定する。この場合には、線分L3と交差領域O3との長さ比は1:1となるため、透明度1/1(例えばα値1.0)を対応する描画ピクセルの透明度として設定する。即ち描画ピクセルの色を中点Om3に対応する色そのままの色として設定する。
このように本実施形態では、図6(B)の例のように、その描画フレームにおけるオブジェクトの移動速度が遅い場合には、移動軌跡ボリュームMVの色の透明度を低く設定する。即ち元のオブジェクトの色をそのまま設定する、或いは濃く残して設定する。一方、特定のオブジェクトの仮想カメラに対する相対的な移動速度が速い場合には、移動軌跡ボリュームMVの長さが長く形成される。すると、ローカル座標系における前フレームの座標点C0と現在フレームの座標点C1との距離即ち線分Lが長くなり、交差領域Oに対する線分Lの比が大きくなる。従って、相対移動速度が速い場合には、移動軌跡ボリュームMVの色の透明度を高く設定する。即ち元のオブジェクトの色を薄くして設定する。
このように本実施形態では、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度が変化すると、ローカル座標系における色分布領域Tに対する前フレームの座標点C0と現在フレームの座標点C1が変化し、交差領域Oも変化する。従って本実施形態によれば、移動軌跡ボリュームMVの色及び透明度を求める際に、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度に応じて、移動軌跡ボリュームMVの描画ピクセルの色を求めることができる。こうして本発明によれば、オブジェクトの移動軌跡ボリュームを用いて適格にモーションブラーを表現することができる。
なお、上記説明においては、第1の面(前フレームのオブジェクトOB0)と第2の面(現在フレームのオブジェクトOB1)とを端面とする移動軌跡ボリュームを生成する例について説明したが、本実施形態では、第1の面と第2の面との間の位置など、第1の面と第2の面とに関連付けられた位置に移動軌跡ボリュームを生成すればよく、移動軌跡ボリュームに第1の面と第2の面とが含まれなくてもよい。また、第1の面と第2の面については描画しても描画しなくてもよい。
また図5(A)の例では、処理の簡単化のために交差領域Oの中点に対応する色を描画ピクセルpの色として設定したが、中点に限らず交差領域Oに対応する色分布領域Tの任意のピクセルの色を設定することができる。また、色分布領域Tの1のピクセルの色情報に基づいて描画ピクセルpの色を設定してもよいし、複数のピクセルの色情報に基づいて色を設定してもよい。複数のピクセルの色情報に基づく場合には、複数のピクセルの色の平均値を設定するようにしてもよい。
また、色分布領域Tのピクセルパターンは、対応するオブジェクトの頂点色情報から構成してもよいし、テクスチャ色情報から構成してもよい。また、対応するオブジェクトの頂点色情報とテクスチャ色情報とを掛け合わせた色情報から構成してもよい。具体的には本実施形態のローカル座標系(オブジェクトを構成する面の色に応じた色分布に対応するピクセルパターンを有する所定のピクセル座標系)の座標点に、オブジェクトに対応するテクスチャ座標点を変換し、ピクセルパターンに対応するテクセルパターンを求めて色を求めるようにしてもよい。また、ローカル座標系のピクセルデータを、直接的にピクセルの色を指定するピクセルデータから構成してもよいし、間接的にピクセルの色を指定するピクセルデータから構成してもよい。
また、本実施形態では、移動軌跡ボリュームの各描画ピクセルにおける色及び透明度を求める場合に、描画ピクセルに対応するオブジェクトを構成する面の色に応じた色分布を有する2次元のローカル座標系を用いているが、オブジェクトを3次元的に解析して3次元のローカル座標を用いるようにしてもよい。
2.4 マトリクスの詳細
次に、本実施形態において用いるマトリクスMの算出過程について説明する。例えば、オブジェクトを構成するポリゴンの頂点位置のローカル座標系における値をv0、v1、v2とし、当該ポリゴンの頂点位置の射影座標系における値をV0、V1及びV2とすると、射影座標Vは、ローカル座標vと、ワールド行列Mw、ビュー行列Mv及び射影行列Mpを通して(式3)の関係が成立する。ただし、i=(0,1,2)を示す。
Vi=Mp×Mv×Mw×vi ・・・(式3)
このとき、スクリーン座標に対応した2次元のポリゴンの頂点位置座標Qを(式4)にて定義すると、このスクリーン座標系におけるスクリーン上のピクセルの位置pは(式5)にて対応付けられる。
なお、[.x]、[.y]、[.w]は、頂点位置のx、y、w成分を示す。また、(x,y)はスクリーンにおけるピクセルの位置及び(X,Y)は、スクリーンの大きさを示す。
ここで、スクリーン上のピクセルの位置pを頂点の位置座標Qiの差分から作ったベクトルで展開すると、展開係数ベクトルCにおいて(式6)の関係が成り立ち、これは(式7)によってマトリクスMにて書き直すことができる。
p=C.x×(Q1−Q0)+C.y×(Q2−Q0)+Q0 ・・・(式6)
p=M(t)×C+Q0 ・・・(式7)
そして、展開係数ベクトル(ローカル座標における座標点)Cの定義から、このマトリクスMを(式8)のように表すことができる。ただし、[.x]、[.y]、[.w]は、上述と同様に頂点位置のx、y、w成分を示す。ここで、Mは、描画ピクセルpをオブジェクトを構成するポリゴンのローカル座標に座標変換する際に用いるマトリクスを示す。
そして、マトリクスMはポリゴンの位置から求められ、pについても描画ピクセルの位置が定まれば特定することができるので、ローカル座標系におけるC、すなわち、展開係数ベクトルCを(式7)から逆算して(式9)のように求めることができる。
3.本実施形態の処理
次に、本実施形態における移動軌跡ボリュームを描画する際の詳細な処理例について、図7のフローチャートを用いて説明する。まず、高速移動を行う予め定められた特定オブジェクトが、仮想カメラに対して相対的に移動する相対移動が行われた場合に、当該描画フレームにおける特定オブジェクトの相対移動に関する情報を求める(ステップS10)。具体的には、操作部160からの操作データやプログラムなどに基づいて、仮想カメラのオブジェクト空間内における位置を基準に、当該描画フレームにおける特定オブジェクトの位置の変化や方向の変化をリアルタイムに演算する。
次いで、画面をクリアし、当該描画フレームにおける背景を描画する(ステップS20)。
次いで、取得した特定オブジェクトの相対移動に関する情報に基づいて、特定オブジェクトに対応する基準ボリュームを変形し、特定オブジェクトの移動軌跡ボリュームを生成する(ステップS30)。
次いで、生成された移動軌跡ボリュームを透視変換・射影変換し、スクリーン上における移動軌跡ボリュームの描画ピクセルを求める(ステップS40)。
次いで、移動軌跡ボリュームの各描画ピクセルを、所定のマトリクスを用いてローカル座標系における前フレームの座標点と現在フレームの座標点に変換する(ステップS50)。
次いで、各描画ピクセルについて、ローカル座標系における前フレームの座標点と現在フレームの座標点に基づいて、描画ピクセルの色(RGB)及び透明度(α)を求める(ステップS60)。
そして、求めた色及び透明度に基づいて、移動軌跡ボリュームをフレームバッファに出力する(ステップS70)。
4.ハードウェア構成
次に、図8を用いて本実施形態を実現できるハードウェア構成について説明する。なお、図8は、本実施形態を実現できるハードウェア構成を示す一例である。
メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。
また、この描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
なお、上記各プロセッサの各機能は、ハードウェアとして別々のプロセッサにより実現してもよいし、1つのプロセッサにより実現してもよい。また、プロセッサとしてCPUとGPUを設けた場合でも、いずれのプロセッサによりいかなる機能を実現するかは、任意に設定することができる。
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
ROM950には、システムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。
RAM960は、各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるDVD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
なお、本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
そして、本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
また、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(プリミティブ面等)として引用された用語(ポリゴン等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
また、本実施形態においては、移動軌跡ボリュームにおける各描画ピクセルに対して当該各描画ピクセルの色及び透明度を特定しているが、スクリーンを構成する移動軌跡ボリューム以外を含む全描画ピクセルに対して上述の描画処理を行い、各描画ピクセルの色及び透明度を特定してもよい。
また、上述の描画処理は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含むことができる。
また、本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
本実施形態の画像生成システムの機能ブロック図の例。 図2(A)は、本実施形態の処理対象の画像の一例の説明図、図2(B)は、本実施形態の処理結果として生成される画像の一例の説明図。 本実施形態で生成される移動軌跡ボリュームの一例の説明図。 図4(A)は、本実施形態のマトリクス変換前の移動軌跡ボリュームの一例の説明図、図4(B)は、本実施形態のマトリクス変換後のローカル座標系の一例の説明図。 本実施形態のローカル座標系の一例の説明図。 本実施形態のローカル座標系の一例の説明図。 本実施形態の処理の一例を示すフローチャート図。 ハードウェアの構成例。
符号の説明
OB オブジェクト、MV 移動軌跡ボリューム、
OB0 前フレームのオブジェクト、OB1 現在フレームのオブジェクト、
p 描画ピクセル、C0 前フレームの座標点、C1 現在フレームの座標点、
L 線分、T 色分布領域、O 交差領域、
100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、120 画像生成部、122 移動軌跡ボリューム生成部、124 移動軌跡ボリューム描画部、130 音生成部、160 操作部、
170 記憶部、172 フレームバッファ、173 オブジェクトデータ記憶部、
174 テクスチャ記憶部、176 Zバッファ176、180 情報記憶媒体、
190 表示部、192 音出力部、194 携帯型情報記憶装置、196 通信部

Claims (8)

  1. オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
    前記仮想カメラに対してオブジェクトが相対移動する場合に、当該オブジェクトを構成する面の前記相対移動前の状態を示す第1の面と前記相対移動後の状態を示す第2の面とに基づいて、移動軌跡ボリュームを生成するボリューム生成部と、
    スクリーン座標系と前記オブジェクトを構成する面の色分布に対応するピクセルパターンを有する所定のピクセル座標系とを用いて前記生成された移動軌跡ボリュームを描画する移動軌跡ボリューム描画部としてコンピュータを機能させ、
    前記移動軌跡ボリューム描画部が、
    前記移動軌跡ボリュームを前記スクリーン座標系に座標変換し、
    前記ピクセル座標系における、前記移動軌跡ボリュームの描画ピクセルと前記第1の面との位置関係に応じた第1の位置と、該描画ピクセルと前記第2の面との位置関係に応じた第2の位置とを求め、
    前記第1の位置と第2の位置とを端点とする線分と、前記ピクセルパターンとの交差領域を求め、当該交差領域に基づいて、前記描画ピクセルの色を求め、
    前記求めた描画ピクセルの色に基づいて、スクリーン座標系に座標変換された移動軌跡ボリュームを描画することを特徴とするプログラム。
  2. オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
    前記仮想カメラに対してオブジェクトが相対移動する場合に、当該オブジェクトを構成する面の前記相対移動前の状態を示す第1の面と前記相対移動後の状態を示す第2の面とに基づいて、移動軌跡ボリュームを生成するボリューム生成部と、
    スクリーン座標系と前記オブジェクトを構成する面の色分布に対応するピクセルパターンを有する所定のピクセル座標系とを用いて前記生成された移動軌跡ボリュームを描画する移動軌跡ボリューム描画部としてコンピュータを機能させ、
    前記移動軌跡ボリューム描画部が、
    前記移動軌跡ボリュームをスクリーン座標系に座標変換し、
    前記ピクセル座標系における、前記移動軌跡ボリュームの描画ピクセルと前記第1の面との位置関係に応じた第1の位置と、該描画ピクセルと前記第2の面との位置関係に応じた第2の位置とを求め、
    前記第1の位置と第2の位置との線形的な長さに応じて、前記描画ピクセルの透明度を求め、
    前記求めた描画ピクセルの透明度に基づいて、スクリーン座標系に座標変換された移動軌跡ボリュームを描画することを特徴とするプログラム。
  3. 請求項2において、
    前記移動軌跡ボリューム描画部が、
    前記第1の位置と第2の位置とを端点とする線分と、前記ピクセルパターンとの交差領域を求め、前記第1の位置と第2の位置の距離と、前記交差領域の端点間の距離との比に基づいて、前記移動軌跡ボリュームの描画ピクセルの透明度を求めることを特徴とするプログラム。
  4. 請求項1〜3のいずれかにおいて、
    前記移動軌跡ボリューム描画部が、
    前記第1の位置及び第2の位置の少なくとも一方が前記ピクセルパターン内に存在する場合に、当該ピクセルパターン内に存在する前記第1の位置及び第2の位置の少なくとも一方を前記交差領域の端点とすることを特徴とするプログラム。
  5. 請求項1〜4のいずれかにおいて、
    前記ピクセルパターンは、前記所定のピクセル座標系において直角三角形を形成することを特徴とするプログラム。
  6. コンピュータに読み取り可能な情報記憶媒体であって、請求項1乃至5のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
  7. オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
    前記仮想カメラに対してオブジェクトが相対移動する場合に、当該オブジェクトを構成する面の前記相対移動前の状態を示す第1の面と前記相対移動後の状態を示す第2の面とに基づいて、移動軌跡ボリュームを生成するボリューム生成部と、
    スクリーン座標系と前記オブジェクトを構成する面の色分布に対応するピクセルパターンを有する所定のピクセル座標系とを用いて前記生成された移動軌跡ボリュームを描画する移動軌跡ボリューム描画部とを含み、
    前記移動軌跡ボリューム描画部が、
    前記移動軌跡ボリュームをスクリーン座標系に座標変換し、
    前記ピクセル座標系における、前記移動軌跡ボリュームの描画ピクセルと前記第1の面との位置関係に応じた第1の位置と、該描画ピクセルと前記第2の面との位置関係に応じた第2の位置とを求め、
    前記第1の位置と第2の位置とを端点とする線分と、前記ピクセルパターンとの交差領域を求め、当該交差領域に基づいて、前記描画ピクセルの色を求め、
    前記求めた描画ピクセルの色に基づいて、スクリーン座標系に座標変換された移動軌跡ボリュームを描画することを特徴とする画像生成システム。
  8. オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
    前記仮想カメラに対してオブジェクトが相対移動する場合に、当該オブジェクトを構成する面の前記相対移動前の状態を示す第1の面と前記相対移動後の状態を示す第2の面とに基づいて、移動軌跡ボリュームを生成するボリューム生成部と、
    スクリーン座標系と前記オブジェクトを構成する面の色分布に対応するピクセルパターンを有する所定のピクセル座標系とを用いて前記生成された移動軌跡ボリュームを描画する移動軌跡ボリューム描画部とを含み、
    前記移動軌跡ボリューム描画部が、
    前記移動軌跡ボリュームをスクリーン座標系に座標変換し、
    前記ピクセル座標系における、前記移動軌跡ボリュームの描画ピクセルと前記第1の面との位置関係に応じた第1の位置と、該描画ピクセルと前記第2の面との位置関係に応じた第2の位置とを求め、
    前記第1の位置と第2の位置との線形的な長さに応じて、前記描画ピクセルの透明度を求め、
    前記求めた描画ピクセルの透明度に基づいて、スクリーン座標系に座標変換された移動軌跡ボリュームを描画することを特徴とする画像生成システム。
JP2006095049A 2006-03-30 2006-03-30 プログラム、情報記録媒体および画像生成システム Active JP4754384B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006095049A JP4754384B2 (ja) 2006-03-30 2006-03-30 プログラム、情報記録媒体および画像生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006095049A JP4754384B2 (ja) 2006-03-30 2006-03-30 プログラム、情報記録媒体および画像生成システム

Publications (2)

Publication Number Publication Date
JP2007272388A JP2007272388A (ja) 2007-10-18
JP4754384B2 true JP4754384B2 (ja) 2011-08-24

Family

ID=38675154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006095049A Active JP4754384B2 (ja) 2006-03-30 2006-03-30 プログラム、情報記録媒体および画像生成システム

Country Status (1)

Country Link
JP (1) JP4754384B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8587585B2 (en) * 2010-09-28 2013-11-19 Intel Corporation Backface culling for motion blur and depth of field
KR101336411B1 (ko) * 2011-05-27 2013-12-04 한국식품연구원 쌀 추출물의 수면 장애, 불안 또는 우울증의 개선, 예방 또는 치료를 위한 신규 용도
US9501815B2 (en) * 2012-05-18 2016-11-22 Thomson Licensing Processing panoramic pictures
CN103021007B (zh) * 2012-09-04 2016-01-13 小米科技有限责任公司 一种动画播放的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793586A (ja) * 1993-06-30 1995-04-07 Nippon Steel Corp 3次元コンピュータグラフィックスアニメーションにおいてモーションブラーを表現する方法
JP2002015335A (ja) * 2000-06-28 2002-01-18 Toshiba Corp モーションブラー画像描画方法及び描画装置
JP2004303034A (ja) * 2003-03-31 2004-10-28 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793586A (ja) * 1993-06-30 1995-04-07 Nippon Steel Corp 3次元コンピュータグラフィックスアニメーションにおいてモーションブラーを表現する方法
JP2002015335A (ja) * 2000-06-28 2002-01-18 Toshiba Corp モーションブラー画像描画方法及び描画装置
JP2004303034A (ja) * 2003-03-31 2004-10-28 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体

Also Published As

Publication number Publication date
JP2007272388A (ja) 2007-10-18

Similar Documents

Publication Publication Date Title
JP4651435B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4717622B2 (ja) プログラム、情報記録媒体および画像生成システム
JP4804122B2 (ja) プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム
JP2006195882A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3748451B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4651527B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4754384B2 (ja) プログラム、情報記録媒体および画像生成システム
JP4749198B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4868586B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4743770B2 (ja) 画像生成システム、プログラム、及び情報記憶媒体
JP4073031B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006323512A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4754385B2 (ja) プログラム、情報記録媒体および画像生成システム
JP4861862B2 (ja) プログラム、情報記憶媒体、及び、画像生成システム
US7710419B2 (en) Program, information storage medium, and image generation system
JP4528008B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4592087B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2011215724A (ja) プログラム、情報記憶媒体及び画像生成システム
US7724255B2 (en) Program, information storage medium, and image generation system
JP4662260B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2007164651A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4476040B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2010231364A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4521811B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2007164736A (ja) 画像生成システム、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

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

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

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

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4754384

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

Year of fee payment: 3

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250