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

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

Info

Publication number
JP2010033295A
JP2010033295A JP2008194204A JP2008194204A JP2010033295A JP 2010033295 A JP2010033295 A JP 2010033295A JP 2008194204 A JP2008194204 A JP 2008194204A JP 2008194204 A JP2008194204 A JP 2008194204A JP 2010033295 A JP2010033295 A JP 2010033295A
Authority
JP
Japan
Prior art keywords
vertex
sprite
color
texture
processing
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.)
Withdrawn
Application number
JP2008194204A
Other languages
English (en)
Inventor
Takashi Kumakura
崇 熊倉
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.)
Bandai Namco Entertainment Inc
Original Assignee
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 Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2008194204A priority Critical patent/JP2010033295A/ja
Publication of JP2010033295A publication Critical patent/JP2010033295A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

【課題】仮想カメラの向きに正対するスプライトに対して、小さな処理負荷で光源に応じた陰影をつけるようにした画像生成システム、プログラム及び情報記憶媒体を提供すること。
【解決手段】オブジェクト空間を所与の視点CMから見た画像を生成するための画像生成システムである。この画像生成システムでは、視点CMの向きvvに正対するように配置されるスプライトSPを構成する複数の頂点のうち少なくとも2つの頂点に対して向きの異なる法線npが設定されており、頂点色設定部124が、各頂点に設定されている法線npの向きと光源LTからの光の向きlvとに応じて、当該各頂点の頂点色Cpを設定する。
【選択図】図5

Description

本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
従来より、仮想的な3次元空間であるオブジェクト空間において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。格闘ゲームを楽しむことができる画像生成システムを例に取れば、プレーヤは、操作部(ゲームコントローラ等)を用いて移動体(キャラクタ等)に関する操作(攻撃操作、防御操作、移動操作等)を行い、他のプレーヤ(コンピュータプレーヤも含まれる)の移動体と格闘するゲームを楽しむ。
ところで、上述した画像生成システムに関して、仮想カメラの向きが変化しても仮想カメラの向きに正対するようにスプライトを配置することにより、スプライトにマッピングされたテクスチャを立体的に見せるようにするいわゆるビルボード手法が提案されている(非特許文献1参照)。
N2Factory、「DirectXゲームグラフィックスプログラミングVer.2.0」P.268、ソフトバンクパブリッシング株式会社、2003年10月1日
しかしながら、従来から提案されている手法では、スプライトは平面であるため光源に応じた陰影がつかず、画像が不自然に見えることがあった。
本出願は上記事情に鑑みてなされたものであり、その目的は、仮想カメラの向きに正対するスプライトに対して、小さな処理負荷で光源に応じた陰影をつけるようにした画像生成システム、プログラム及び情報記憶媒体を提供することにある。
(1)本発明は、
オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、
前記オブジェクト空間に光源を配置するとともに、前記視点の向きに正対するようにスプライトを配置するオブジェクト空間設定部と、
前記スプライトに対応づけられたテクスチャをマッピングするテクスチャマッピング部と、
前記スプライトを構成する複数の頂点のそれぞれに対して、頂点色を設定する頂点色設定部と、
前記各頂点の頂点色と、前記スプライトにマッピングされた前記テクスチャのテクセルの色とに基づいて、前記スプライトの描画ピクセルの色を設定する描画色設定部とを含み、
前記スプライトを構成する複数の頂点のうち少なくとも2つの頂点に対して向きの異なる法線が設定されており、
前記頂点色設定部が、
前記各頂点に設定されている法線の向きと前記光源からの光の向きとに応じて、当該各頂点の頂点色を設定することを特徴とする画像生成システムに関するものである。また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータが読み取り可能な情報記憶媒体に関するものである。
本発明では、仮想カメラの向きが変化することによりスプライトの向きが変化すると、スプライトの頂点に設定された法線の向きと光源からの光の向きとの関係が変化し、向きの異なる法線が設定された各頂点の頂点色が異なる値に変化する。これにより本発明では、スプライトの描画ピクセルの色を仮想カメラの向きと光源からの光の向きとに応じて変化するように設定することができ、いわゆるビルボードにおいて光源に応じた陰影を表現することができる。
(2)また本発明の画像生成システム、プログラム及び情報記憶媒体では、
前記テクスチャマッピング部が、
前記スプライトを構成する各頂点に対応づけられるテクスチャ座標を所定条件下で変動させるようにしてもよい。
このようにすれば、例えば、アニメーションするテクスチャ画像に対して光源に応じた陰影を表現することができる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
操作部160は、プレーヤがプレーヤオブジェクト(移動体オブジェクトの一例、プレーヤが操作するプレーヤキャラクタなど)の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(メインメモリ172)、VRAM(ビデオメモリ174)などにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170のメインメモリ172)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170内のメインメモリ172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU(メインプロセッサ)、GPU(描画プロセッサ)、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、オブジェクト空間設定部110、頂点法線設定部111、移動・動作処理部112、仮想カメラ制御部114、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
オブジェクト空間設定部110は、オブジェクトデータ記憶部172に記憶されているオブジェクトデータに基づいて、キャラクタ、車、建物、樹木、柱、壁、コース(道路)、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)や、光が進行する方向や強さや色を示す光源をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、決定された位置(X、Y、Z)に決定された回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトや光源を配置する。
また本実施形態では、オブジェクト空間設定部110は、平面を構成するオブジェクトであるスプライトをオブジェクト空間に配置する。ここで本実施形態において、スプライトとは、板状のポリゴンからなるオブジェクトであって、スプライトに予め用意された煙や雲などの表現対象を表したテクスチャをマッピングすることによって、煙や雲などの表現対象を頂点データによって定義することなく表現することができる。また煙や雲などの動きを表現する場合には、煙や雲などの動きに応じたテクスチャを複数種類用意して、スプライトにマッピングされるテクスチャを時間経過に伴って変更することによって、または、スプライトにマッピングされるテクスチャの参照先を時間経過に伴って変更することによって、煙や雲などが動いている様子を擬似的に表現することができる。またスプライトは、オブジェクト空間に固定的に配置されるものであってもよいし、オブジェクト空間を所与のアルゴリズムに従って移動あるいは回転させるようにして、表示対象の動きを表現することもできる。
特に本実施形態では、オブジェクト空間設定部110は、このようなスプライトを仮想カメラの向きに正対するように配置する。詳細にはオブジェクト設定部110は、スプライトの面に設定された法線(第1の法線)、すなわちスプライトの面の向きを示す法線と、仮想カメラの向きを示す視線ベクトルとがなす角度が180°となるように、視線ベクトルに合わせてスプライトを配置する。これにより本実施形態では、特定のスプライトをいわゆるビルボードとして機能させている。
頂点法線設定部111は、仮想カメラの向きに正対するように配置されるスプライトを構成する複数の頂点のうち、少なくとも2つの頂点に対して向きの異なる法線を設定する。本実施形態では頂点法線設定部111は、スプライトを構成する各頂点に、所定の角度範囲内でランダムに決定した向きの法線を設定する。そして頂点法線設定部111は、各頂点に設定した法線の向きを時間経過とともに(所定条件下の一例)変更する。
移動・動作処理部112は、オブジェクト(キャラクタ、車、又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
例えば仮想カメラによりオブジェクト(例えばキャラクタ、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報(所定の制御情報の一例)に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させたりする制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータ(所定の制御情報の一例)に基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)がオブジェクトデータ記憶部172Bから入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセル(画素)とが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色をレンダリングターゲット(ピクセル単位で画像情報を記憶できるバッファ。メインメモリ172のフレームバッファ172B、ビデオメモリ174のワークバッファ174Cやフレームバッファ174D)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色(色値、輝度値)、法線、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、メインメモリ172のオブジェクトデータ記憶部172Aに保存される。
テクスチャマッピングは、ビデオメモリ174のデカールテクスチャ記憶部174Aに記憶されるデカールテクスチャなどのテクスチャ(テクセル値、UV座標値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いてビデオメモリ174のデカールテクスチャ記憶部174Aからテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間、トライリニア補間などを行う。
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ174B(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファ174Bに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファ174BのZ値を新たなZ値に更新する。
αブレンディングとしては、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。例えば通常αブレンディングの場合には下式(1)〜(3)の処理を行う。
=(1−α)×R+α×R (1)
=(1−α)×G+α×G (2)
=(1−α)×B+α×B (3)
また、加算αブレンディングの場合には下式(4)〜(6)の処理を行う。なお単純加算の場合はα=1として下式(4)〜(6)の処理を行う。
=R+α×R (4)
=G+α×G (5)
=B+α×B (6)
また、減算αブレンディングの場合には下式(7)〜(9)の処理を行う。なお単純減算の場合はα=1として下式(7)〜(9)の処理を行う。
=R−α×R (7)
=G−α×G (8)
=B−α×B (9)
ここで、R、G、Bは、フレームバッファ172Bあるいはフレームバッファ174Dに既に描画されている画像(原画像)のRGB成分であり、R、G、Bは、フレームバッファ172Bあるいはフレームバッファ174Dに描画すべき画像のRGB成分である。また、R、G、Bは、αブレンディングにより得られる画像のRGB成分である。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
そして本実施形態では描画部120は、上述したテクスチャマッピング処理を行うテクスチャマッピング部122と、頂点色設定部124と、描画色設定部126とを更に含む。
テクスチャマッピング部122は、上述した仮想カメラの向きに正対するスプライトに対応づけられたテクスチャを、スプライトにマッピングする。詳細にはテクスチャマッピング部122は、スプライトを構成する各頂点に対応づけられるテクスチャ座標に基づいて、スプライトの各描画ピクセルにおけるテクスチャの参照先(テクセル値)を設定する。本実施形態では、テクスチャマッピング部122は、スプライトを構成する各頂点に対応づけられるテクスチャ座標を、時間経過とともに(所定条件下の一例)変動させる。
すなわちテクスチャマッピング部122は、テクスチャの参照先を時間経過とともに変化させる。
頂点色設定部124は、スプライトを構成する複数の頂点のそれぞれに対して、頂点色を設定する。本実施形態では、スプライトを構成する複数の頂点のうち少なくとも2つの頂点に対して向きの異なる法線が設定されており、頂点色設定部124は、各頂点に設定されている法線の向きと光源からの光の向きとに応じて、当該各頂点の頂点色を設定する。本実施形態では頂点色設定部124は、各頂点の頂点色をグレースケール値(RGB成分それぞれの輝度値が同一の色値)に設定する。
具体的には本実施形態では、頂点色設定部124は、頂点に設定された法線と光源の向きを示す光源ベクトルとの内積に応じて、当該頂点の頂点色を設定する。例えば頂点色設定部124は、頂点に設定された法線と光源ベクトルとがなす角度が180°(正対する角度)に近づくにつれ、当該頂点の頂点色の輝度値が相対的に高くなるように頂点色を設定し、180°から離れるにつれ、当該頂点の頂点色の輝度値が相対的に低くなるように頂点色を設定する。
ここで本実施形態では、スプライトを構成する複数の頂点に向きの異なる法線(第2の法線)が設定されているので、向きの異なる法線が設定された各頂点は、それぞれの頂点色が異なる値となるように頂点色が変更される。すなわち頂点色設定部124は、各頂点の頂点色が不均一となるように各頂点の頂点色を設定する。
描画色設定部126は、スプライトを構成する各頂点の頂点色と、スプライトにマッピングされたテクスチャのテクセルの色とに基づいて、スプライトの描画ピクセルの色を設定する。詳細には描画色設定部126は、スプライトの描画ピクセルにおけるテクスチャの参照先として設定されたテクスチャのテクセルの色を参照し、参照した色を各頂点の頂点色に基づいて調整し、調整した色を当該描画ピクセルの色として設定する。
具体的には本実施形態では、描画色設定部126は、上述のようにして各頂点の頂点色が不均一となるように設定された頂点色に基づいて、スプライトの各描画ピクセルにおいて頂点色がグラデーションするように、各頂点の頂点色を補間してスプライトの描画ピクセルの補間色を求める。そして描画色設定部126は、描画ピクセルの補間色とその描画ピクセルについてテクセルを参照した参照色とを乗算して、描画ピクセルの色を設定する。すなわち描画色設定部126は、頂点に設定された法線の向きと光源からの光の向きとに応じて不均一に設定された頂点色に基づいて、スプライトの描画ピクセルの色を設定する。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。本実施形態では、板状ポリゴンからなるオブジェクトであるスプライトを構成する複数の頂点のうち、少なくとも2つの頂点に対して向きの異なる法線を設定しておき、各頂点に設定されている法線の向きと光源からの光の向きとに応じて、当該各頂点の頂点色を設定する手法を採用する。これにより本実施形態では、各頂点に設定されている法線の向きと光源からの光の向きとに応じて各頂点の頂点色を異なる値に設定して、仮想カメラの向きと光源からの光の向きとに応じてスプライトの描画ピクセルの色を変化させている。
図2は、本実施形態のスプライトにテクスチャがマッピングされた状態を示す図である。図2に示すように本実施形態では、平面を構成する矩形のスプライトSPに、キャラクタが地面の上を移動する際に発生する土煙を表すテクスチャがマッピングされる。ここで土煙を表すテクスチャは、土煙を表す領域以外の領域は透明となるようにα値が設定されているため、土煙を表す領域の色Ctが描画されることになる。また、スプライトSPの面の向きを示す法線として、スプライトSPの面に対して垂直な法線ns(第1の法線)がスプライトSPの面に対して設定されている。そして仮想カメラCMの向きを示す視線ベクトルvvが変化すると、面に対して設定されている法線nsの向きが視線ベクトルvvと正対するように、スプライトSPの向きが変更される。すなわち本実施形態では、スプライトSPがいわゆるビルボードとして機能して、仮想カメラCMの向きが変化しても土煙を表す領域の色Ctが立体的に描画されているかのように見えるようにしている。
図3は、本実施形態のスプライトSPの頂点に設定されたデータを説明するための図である。図3に示すように、本実施形態のスプライトSPには、4つの頂点に、互いに向きが異なる法線np1〜法線np4(第2の法線)がそれぞれ設定されている。本実施形態では、図3に示すように、法線np1〜法線np4の延長線が互いに交差しないように、スプライトSPの面に対して設定された法線nsの方向に向かって法線np1〜法線np4が開くように、法線np1〜法線np4の向きが決定される。すなわち図9に示すように、法線np1〜法線np4の向きが、法線nsの向きから外側に5°〜20°の範囲でランダムにずれた向きに決定される。
そして本実施形態では、図4に示すように、スプライトSPが視線ベクトルvvに正対するように配置されると、その状態において、各頂点に設定されている法線np1〜法線np4のそれぞれと、平行光源として設定されている光源LTの光源ベクトルlvとの内積が求められる。そして、各頂点についての内積に応じて、各頂点の頂点色Cp1〜Cp4が設定される。
本実施形態では、頂点に設定されている法線npと光源ベクトルlvとがなす角度が180°(正対する角度)に近づくにつれ、当該頂点の頂点色の輝度値が相対的に高くなるように頂点色Cp1〜Cp4が設定され、180°から離れるにつれ、当該頂点の頂点色の輝度値が相対的に低くなるように頂点色Cp1〜Cp4が設定される。すなわち本実施形態では、スプライトSPの面に対して設定された法線nsの方向に向かって法線np1〜法線np4が開くように法線np1〜法線np4の向きが設定されているので、法線npと光源ベクトルlvとがなす角度が180°(正対する角度)により近い場合には、その法線npが設定されている頂点が、光源LTにより近い頂点となる。従って本実施形態では、光源LTにより近い頂点の頂点色の輝度値を、より高くすることができる。
図4の例では、法線np1と光源ベクトルlvとがなす角度が最も180°に近いので、法線np1が設定されている頂点の頂点色Cp1が最も高い輝度値となる。そして、法線np2と光源ベクトルlvとがなす角度が次に180°に近いので、法線np2が設定されている頂点の頂点色Cp2が次に高い輝度値となる。そして、法線np4と光源ベクトルlvとがなす角度が次に180°に近いので、法線np4が設定されている頂点の頂点色Cp4が次に高い輝度値となる。そして、法線np3と光源ベクトルlvとがなす角度が最も180°から離れているので、法線np3が設定されている頂点の頂点色Cp3が最も低い輝度値となる。
従って本実施形態では、頂点色Cp1〜Cp4をスプライトSPの各描画ピクセルについて補間した補間色が、図4に示すように、法線np1が設定されている頂点から法線np3が設定されている頂点に向かって次第に輝度値が低くなるように求められる。すなわち本実施形態では、光源LTに近づくにつれて輝度値が高く、光源LTから離れるにつれて輝度値が低くなるように、スプライトSPの各描画ピクセルの補間色が求められる。
図5は、図4のように各頂点の頂点色Cp1〜Cp4が設定されたスプライトSPに土煙を表すテクスチャがマッピングされた状態を示す図である。本実施形態では、スプライトSPにテクスチャがマッピングされる際には、スプライトSPの各描画ピクセルにおいて、スプライトSPの頂点色を補間した補間色と、テクスチャを参照した参照色とが乗算される。そして乗算結果の色が、描画ピクセルの色として設定される。
従って本実施形態では、図5に示すように、土煙を表す領域の色Ctが、法線np1が設定されている頂点に近づくほど明るく、法線np3が設定されている頂点に近づくほど暗くなるように設定される。すなわち本実施形態では、土煙を表す領域の色Ctが、光源LTに近づくにつれて明るく(輝度値が高く)、光源LTから離れるにつれて暗く(輝度値が低く)なるように設定される。
こうして本実施形態では、スプライトSPの描画ピクセルの色を、光源LTに対するスプライトSPの向きに応じて変化するように設定することができ、いわゆるビルボードにおいて光源に応じた陰影を表現することができる。これにより本実施形態では、スプライトSPをいわゆるビルボードとして機能させる際に、スプライトSPの描画ピクセルの色(土煙を表す領域の色Ct)がより立体的に描画されているかのように見えるようにすることができる。
3.本実施形態の処理
次に、本実施形態の処理の一例についてフローチャートを用いて説明する。図6は、本実施形態の処理の概略を示すフローチャートである。図6に示すように、本実施形態では、まず、キャラクタが地面の上を移動するイベントが発生すると(ステップS10でY)、スプライトSPの各頂点に法線npを向きが互いに異なるようにランダムに設定する(ステップS12)。本実施形態では、同時に複数のスプライトSPをオブジェクト空間に配置するので、複数のスプライトSPの各頂点に法線npをランダムに設定する。そして、複数のスプライトSPを描画し(ステップS14)、イベントが発生してから所定時間が経過すると(ステップS16でN)、処理を終了する。
図7は、図6のステップS14のスプライトSPを描画する処理の詳細を示すフローチャートである。図6に示すように、スプライトSPを描画する処理では、まず、フレームが更新されると(ステップS30でY)、各頂点の法線の向きをランダムに変更する(ステップS32)。すなわち各頂点の法線をアニメーションさせる。そして、各頂点のテクセル値を、土煙を表す領域の色CtがスプライトSPにおいて回転するように変更する(ステップS34)。
そして、仮想カメラの向きに正対するようにスプライトSPをオブジェクト空間に配置する(ステップS36)。そしてこの状態において、各頂点の法線npと光源ベクトルlvとの内積を求め(ステップS38)、各頂点の内積に応じて各頂点の頂点色を設定する(ステップS40)。そして、頂点色を補間した補間色とテクスチャを参照した参照色とを乗算して描画ピクセルに設定する(ステップS42)。
4.ハードウェア構成例
本実施形態の画像生成システムを実現するハードウェアの構成の一例について図8を用いて説明する。なお図8では、主要な構成のみを図示しており、図8に示されていないハードウェア(メモリコントローラやスピーカなど)を必要に応じて設けることができる。
メインプロセッサ10は、光ディスク72(CD、DVD、ブルーレイディスク等の情報記憶媒体)に格納されたプログラム、通信インターフェース80を介して転送されたプログラム、或いはハードディスク60に格納されたプログラムなどに基づき動作し、内部バスb4を介してアクセス可能なメインメモリ40を作業領域(ワーク領域)としてゲーム処理、画像処理、音処理などの種々の処理を実行する。
メインプロセッサ10は、1基のプロセッサ12と複数のベクトルプロセッサ14で構成される。プロセッサ12は、OSの実行、ハードウェアリソースの管理、ゲーム処理、ベクトルプロセッサ14の動作管理などの種々の処理を実行する。またベクトルプロセッサ14は、ベクトル演算に特化したプロセッサであり、主にジオメトリ処理、画像データや音データのコーデック処理などの処理を実行する。
描画プロセッサ20は、内部バスb1(第1の内部バス)を介してビデオメモリ30にアクセス可能に形成されている。また描画プロセッサ20は、描画プロセッサ20とメインプロセッサ10を接続する内部バスb2(第2の内部バス)と、メインプロセッサ10内部のバスb3と、メインプロセッサ10とメインメモリ40を接続する内部バスb4を介してメインメモリ40にアクセス可能に形成されている。すなわち描画プロセッサ20はビデオメモリ30と、メインメモリ40とをレンダリングターゲットとして利用することができる。
描画プロセッサ20は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ10で動作するプログラムが、その処理を描画プロセッサ20に指示する。
また描画プロセッサ20は、ジオメトリ処理後のオブジェクト(ポリゴンや曲面などのプリミティブ面で構成されるオブジェクト)の画像のレンダリング処理を高速に実行するものである。マルチパスレンダリング処理の際には、描画プロセッサ20は、描画データ(頂点データや他のパラメータ)等に基づいて、Zバッファ34などを利用した陰面消去を行いながら、画像をビデオメモリ30又はメインメモリ40の一方のメモリにレンダリングする。そしてビデオメモリ30又はメインメモリ40の一方のメモリに記憶された画像に基づき他方のメモリに新たな画像をレンダリングする処理を必要なレンダリングパスの回数だけ行う。描画プロセッサ20は、上記マルチパスレンダリング処理として、グレアフィルタ処理、モーションブラー処理、被写界深度処理、フォグ処理等のフィルタ処理を行うことができる。
そして、最後のレンダリングパスで画像がビデオメモリ30に設けられたフレームバッファ32にレンダリングされると、その画像をディスプレイ50に出力する。また最後のレンダリングパスで画像がメインメモリ40にレンダリングされた場合には当該画像をフレームバッファ32にコピー(書き込み)した上でディスプレイ50に出力する。
ハードディスク60にはシステムプログラム、セーブデータ、個人データなどが格納される。
光学ドライブ70は、プログラム、画像データ、或いは音データなどが格納される光ディスク72(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
通信インターフェース80は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース170に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
上述したように本実施形態の画像生成システム(コンピュータ)は、内部バスb1(第1の内部バス)を介してビデオメモリ30にアクセス可能であるとともに、内部バスb2(第2の内部バス)を介してメインメモリ40にアクセス可能である描画プロセッサ20を含んで構成されており、描画プロセッサ20は、光ディスク72(情報記憶媒体の一例)あるいはハードディスク60(情報記憶媒体の一例)に格納されているシェーダプログラムに従って種々のシェーダ処理を実行する。
なお、本実施形態の各部(各手段)は、その全てを、ハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
そして、本実施形態の各部をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ10、20等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ10、20等は、その指示と渡されたデータとに基づいて、本発明の各部を実現することになる。
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。またグレアフィルタの手法は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
また本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
また上記実施形態では、本実施形態の手法によりキャラクタが地面の上を移動する際に発生する土煙に対して光源に応じた陰影をつける例を挙げて説明したが、土煙以外の煙や雲などの他、スプライトにおいて表現される種々のものに対して光源に応じた陰影をつける際にも本実施形態の手法を用いることができる。
本実施形態の画像生成システムの機能ブロック図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の手法の説明図。 本実施形態の処理の流れを示すフローチャート。 本実施形態の処理の流れを示すフローチャート。 本実施形態の画像生成システムのハードウェア構成例。 本実施形態の手法の説明図。
符号の説明
100 処理部、110 オブジェクト空間設定部、111 頂点法線設定部、
112 移動・動作処理部、114 仮想カメラ制御部、120 描画部、
122 テクスチャマッピング部、124 頂点色設定部、126 描画色設定部、
130 音生成部、160 操作部、170 記憶部、172 メインメモリ、
172A オブジェクトデータ記憶部、172B フレームバッファ、
174 ビデオメモリ、174A デカールテクスチャ記憶部、174B Zバッファ、
174C ワークバッファ、174D フレームバッファ、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部

Claims (4)

  1. オブジェクト空間を所与の視点から見た画像を生成するためのプログラムであって、
    前記オブジェクト空間に光源を配置するとともに、前記視点の向きに正対するようにスプライトを配置するオブジェクト空間設定部と、
    前記スプライトに対応づけられたテクスチャをマッピングするテクスチャマッピング部と、
    前記スプライトを構成する複数の頂点のそれぞれに対して、頂点色を設定する頂点色設定部と、
    前記各頂点の頂点色と、前記スプライトにマッピングされた前記テクスチャのテクセルの色とに基づいて、前記スプライトの描画ピクセルの色を設定する描画色設定部としてコンピュータを機能させ、
    前記スプライトを構成する複数の頂点のうち少なくとも2つの頂点に対して向きの異なる法線が設定されており、
    前記頂点色設定部が、
    前記各頂点に設定されている法線の向きと前記光源からの光の向きとに応じて、当該各頂点の頂点色を設定することを特徴とするプログラム。
  2. 請求項1において、
    前記テクスチャマッピング部が、
    前記スプライトを構成する各頂点に対応づけられるテクスチャ座標を所定条件下で変動させることを特徴とするプログラム。
  3. コンピュータにより読み取り可能な情報記憶媒体であって、請求項1または2に記載のプログラムを記憶していることを特徴とする情報記憶媒体。
  4. オブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、
    前記オブジェクト空間に光源を配置するとともに、前記視点の向きに正対するようにスプライトを配置するオブジェクト空間設定部と、
    前記スプライトに対応づけられたテクスチャをマッピングするテクスチャマッピング部と、
    前記スプライトを構成する複数の頂点のそれぞれに対して、頂点色を設定する頂点色設定部と、
    前記各頂点の頂点色と、前記スプライトにマッピングされた前記テクスチャのテクセルの色とに基づいて、前記スプライトの描画ピクセルの色を設定する描画色設定部とを含み、
    前記スプライトを構成する複数の頂点のうち少なくとも2つの頂点に対して向きの異なる法線が設定されており、
    前記頂点色設定部が、
    前記各頂点に設定されている法線の向きと前記光源からの光の向きとに応じて、当該各頂点の頂点色を設定することを特徴とする画像生成システム。
JP2008194204A 2008-07-28 2008-07-28 画像生成システム、プログラム及び情報記憶媒体 Withdrawn JP2010033295A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008194204A JP2010033295A (ja) 2008-07-28 2008-07-28 画像生成システム、プログラム及び情報記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008194204A JP2010033295A (ja) 2008-07-28 2008-07-28 画像生成システム、プログラム及び情報記憶媒体

Publications (1)

Publication Number Publication Date
JP2010033295A true JP2010033295A (ja) 2010-02-12

Family

ID=41737698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008194204A Withdrawn JP2010033295A (ja) 2008-07-28 2008-07-28 画像生成システム、プログラム及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP2010033295A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012229981A (ja) * 2011-04-26 2012-11-22 Yokogawa Electric Corp 位置検出装置
CN111508047A (zh) * 2020-04-21 2020-08-07 网易(杭州)网络有限公司 一种动画数据处理方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012229981A (ja) * 2011-04-26 2012-11-22 Yokogawa Electric Corp 位置検出装置
CN111508047A (zh) * 2020-04-21 2020-08-07 网易(杭州)网络有限公司 一种动画数据处理方法和装置
CN111508047B (zh) * 2020-04-21 2023-08-22 网易(杭州)网络有限公司 一种动画数据处理方法和装置

Similar Documents

Publication Publication Date Title
JP4804120B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4804122B2 (ja) プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム
JP2006195882A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4651527B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4223244B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4743770B2 (ja) 画像生成システム、プログラム、及び情報記憶媒体
JP2008077408A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006252426A (ja) プログラム、情報記憶媒体及び画像生成システム
JP5253118B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4488346B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4187192B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4528008B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2010033295A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2010033288A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2010033299A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4704615B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4698701B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2007164651A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2008077406A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2010033302A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2007164736A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2006252423A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006277488A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006323514A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2010033301A (ja) 画像生成システム、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20111004