説明

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

【課題】自然界の様々な要因によって変化する虹等の見え方を少ない処理付加で効果的に表現すること。
【解決手段】オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、光源位置または光線ベクトルの方向に基づき、光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つ変化させる光効果表現オブジェクト設定部116と、光効果表現オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部120と、してコンピュータを機能させるプログラムである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【背景技術】
【0002】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【0003】
さてこのようなゲームシステムでは、プレーヤの仮想現実向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。
【特許文献1】特開平11−306391号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
例えば虹は空気中の水滴に光が反射するときに、色(光の波長)によって光の屈折率が異なることによって発生するものであり、光源からの光線の角度や空気の状態等の自然界の様々な要因によりその現れ方は変化する。
【0005】
ところがゲーム空間にかかる虹を表現する場合、通常は予め用意された虹オブジェクトを配置して描画するという単純な構成で実現するため、いつも同じ虹が表示されていた。従って自然描写としては単調であり、自然描写を楽しむという要素が強いゲームには、物足りないものであった。
【0006】
しかし自然界の様々な要因が絡みあって変化する虹の見え方を厳密にシミュレーションすると演算付加が増大し、限られたハードウエア資源でリアルタイムに画像生成を行うことが必要なゲーム装置等では処理が困難であるという問題点があった。
【0007】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、自然界の様々な要因によって変化する虹の見え方を少ない処理付加で効果的に表現することが可能な画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【0008】
(1)本発明は、
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成装置であって、
光源位置または光線ベクトルの方向に基づき、光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つ変化させる光効果表現オブジェクト設定部と、
光効果表現オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部と、
とを含む画像生成システムに関係する。
【0009】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0010】
光効果表現物オブジェクトとは、例えば虹でもよいし、光の反射、屈折、発光等によって引き起こされる様々な現象を表現するためのオブジェクトでも良いし、その他オーロラ、雲、蜃気楼等でもよい。
【0011】
また現実世界には存在しない光の現象を表現する場合も本発明の範囲内である。
【0012】
光線ベクトルとは並行光源の光線ベクトルでもよい。また点光源でもオブジェクト空間から遠く離れた場所に設定される場合には光線ベクトルはほぼ並行になるため、点光源の光線ベクトルでもよい。
【0013】
光源位置又は光線ベクトルの方向に基づき、光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つを含む光効果表現オブジェクト設定情報を決定するとは、例えば光源位置又は光線ベクトルの方向(例えば光線ベクトルの入射角や地平円とのなす角度や反射角等)と光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つの対応付けを予めテーブルデータ等として設定しておき、当該テーブルデータに基づき光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つを決定する構成でもよい。
【0014】
また光源位置又は光線ベクトルの方向を変数として光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つを求める関数を設定しておき、当該関数に基づき光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つを決定する構成でもよい。
【0015】
また光源位置又は光線ベクトルの方向にもとづき視点位置に所定のベクトルVを設定して、所定のベクトルVで所定の仮想投影面に円弧を描いた時の円弧に基づき光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つを求めるアルゴリズムを設定しておき、当該アルゴリズムに基づき光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つを決定する構成でもよい。
【0016】
光効果表現オブジェクトは空気中の水滴に太陽光線が反射する事によっておこるため、太陽の位置がことなると光効果表現オブジェクトのできる位置や大きさも異なってくる。
【0017】
本発明によれば、光源位置や光線ベクトルの方向に基づき形状、大きさ及び出現位置の少なくとも1つが異なる光効果表現オブジェクトの画像を生成することができる。従って太陽の位置によって変化する虹等の光効果表現物の見え方を厳密にシミュレーション演算を行うことなしに、少ない演算負荷で効果的な光効果表現物の表現を行うことができる。
【0018】
(2)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
ゲーム時刻の変化に従って光源位置または光線ベクトルの方向を変化させる光源制御部を含むことを特徴とする。
【0019】
現実世界の時刻に応じて太陽の位置が変化する様子(例えば朝東から上り昼間に南の空に登り夕刻に西に沈む)をモデルにしてゲーム時刻に応じて光源位置または光線ベクトルの方向を変化させるようにしてもよい。
【0020】
本発明によれば、光効果表現オブジェクトが出現するゲーム時刻がことなれば、形状、大きさ及び出現位置の少なくとも1つの異なる光効果表現オブジェクトの画像を生成することができる。
【0021】
従ってゲーム時刻によって異なる形状、大きさ及び出現位置の少なくとも1つの異なる光効果表現オブジェクトの画像が生成されるので、単調でない深みのある虹の表現を行うことができるとともに、ゲーム空間の時間の流れも感じさせることができる。
【0022】
(3)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記光効果表現オブジェクト設定部は、
視点位置から光源とは逆方向に所定の距離だけ離れた地点に仮想投影面を設定し、
前記光線ベクトルの方向に対して所定角度だけずらして第1の方向ベクトルV1を設定し、第1の方向ベクトルV1に対し微少角度だけずらして第2の方向ベクトルV2を設定し、第1の方向ベクトルV1、第2の方向ベクトルV2を視点位置を始点として前記仮想投影面にむけてのばし、第1の方向ベクトルV1、第2の方向ベクトルV2の延長線と前記仮想投影面の交点に基づいて光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つを設定することを特徴とする。
【0023】
仮想投影面は視点から遠方に設定すればよいので、所定の距離は視点から遠方であれば、適宜設定可能である。
【0024】
第1の方向ベクトルV1と第2の方向ベクトルV2は微少角度だけずれたベクトルである。微少角度は、光の波長による屈折率の違いを反映させるように設定することができる。例えば赤の反射光と紫の反射光のなす角に基づき設定してもよい。
【0025】
このようにすると光線ベクトルの方向に基づき光効果表現オブジェクトの、形状、大きさ及び出現位置の少なくとも1つを決定することができるので、リアルな虹の画像を生成することができる。
【0026】
(4)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記光効果表現オブジェクト設定部は、
視点位置から光源とは逆方向に所定の距離だけ離れた地点に仮想投影面を設定し、
前記光線ベクトルの方向に対して所定角度だけずらして得られる方向ベクトルVを視点位置から前記仮想投影面にむけてのばし、方向ベクトルVの延長線と前記仮想投影面の交点である第1の交点と、光線ベクトルを視点位置から前記仮想投影面にむけてのばし光線ベクトルの延長線と前記仮想投影面の交点である第2の交点を求め、第1の交点と第2の交点に基づき光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つ設定することを特徴とする。
【0027】
仮想投影面は視点から遠方に設定すればよいので、所定の距離は視点から遠方であれば、適宜設定可能である。
【0028】
第1の交点と第2の交点に基づき光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つ設定することとは、例えば第1の交点と第2の交点に基づき、円の半径を特定し、特定された半径を有する円に基づき光効果表現オブジェクトの形状を設定する場合でもよい。
【0029】
また第2の交点に基づき、光効果表現オブジェクトの位置を決定する場合(例えば、第2の交点に光効果表現オブジェクトの設定位置とする)でもよい。
【0030】
本発明によれば光線ベクトルの方向に応じて光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つ変更することができる。
【0031】
例えば光線ベクトルの方向が垂直に近いほど、又は光源の位置が高いほど半径の大きな円に基づいて光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つを決定することができる。
【0032】
(5)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記光効果表現オブジェクト設定部は、
光効果表現オブジェクトとして、円環状のオブジェクトを設定することを特徴とする。
【0033】
円環状の光効果表現オブジェクトの上半分を用いるようにしてもよい。
【0034】
前記円環状の光効果表現オブジェクトに対し、光効果表現オブジェクトの模様の虹テクスチャ(例えば七色の光の帯の模様)をマッピングして虹の画像を生成するようにしてもよい。
【0035】
(6)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記光効果表現オブジェクト設定部は、
光効果表現オブジェクトを、所与のタイミングで所定時間配置するように設定することを特徴とする。
【0036】
(7)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記光効果表現オブジェクト設定部は、
光効果表現オブジェクトを、配置開始から所定期間に光効果表現オブジェクトをフェードイン表示させるための設定処理、及び配置終了前の所定期間に光効果表現オブジェクトをフェードアウト表示させるための設定処理の少なくとも1つを行うことを特徴とする。
【0037】
フェードイン処理とは光効果表現オブジェクトが見えない状態(透明の状態)から徐徐に濃くなって(だんだん透明度が低くなってくる)はっきり見える状態に、時間の経過に従って光効果表現オブジェクトの表示状態を変化させる処理である。
【0038】
フェードアウト処理とは光効果表現オブジェクトがはっきり見える状態から徐徐に薄くなって(だんだん透明度が高くなる)見えない状態(透明度0の状態)に、時間の経過に従って光効果表現オブジェクトの表示状態を変化させる処理である。
【0039】
光効果表現オブジェクト画像をフェードイン表示させるための表示制御や光効果表現オブジェクト画像をフェードアウト表示させるための表示制御は、光効果表現オブジェクトのα値を変化させ、光効果表現オブジェクトを加算半透明で描画させることにより実現してもよい。
【0040】
例えば光効果表現オブジェクトの基準値または光効果表現オブジェクトに設定されていた値をα、あるゲーム時刻における値をα’として、光効果表現オブジェクト配置開始からの経過時間tに応じた制御パラメータkを求め、α’=kαとなるα’を求めるようにしてもよい。
【0041】
α値はオブジェクト単位に設定されていてもよいし、ポリゴンの頂点単位に設定されていてもよいし、画素単位に設定されていてもよい。
【0042】
上記透明度の制御は描画部が行うピクセル処理(シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現してもよい。
【0043】
またテクスチャマッピングにより実現してもよい。この場合には、光効果表現オブジェクトに対してマッピングするテクスチャの色分布やα値の分布(テクセルパターン)をフェードイン、フェードアウトに合わせて動的に変化させるようにしてもよい。
【0044】
この場合において、色分布やα値の分布が異なるテクスチャを動的に生成してもよいし、色分布やα値の分布が異なる複数のテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよいし、オブジェクト単位でテクスチャの色分布を変化させるようにしてもよい。
【0045】
本発明によれば、光効果表現オブジェクトの見え始めはうすく、だんだんはっきり見えてきて、また次第に薄くなって消えていく光効果表現オブジェクトの出現から消滅の様子を画像で表現することができる。
【0046】
(8)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記光効果表現オブジェクト設定部は、
光効果表現オブジェクトの表示範囲を制御するための表示範囲制御情報を設定し、表示範囲制御情報に基づき表示範囲外に当たる部分については光効果表現オブジェクトが表示されないように設定することを特徴とする。
【0047】
表示範囲制御情報として例えば表示範囲となる領域を規定し、当該表示範囲となる領域に属するか否か判定し、光効果表現オブジェクトの当該表示範囲となる領域に属しない部分については表示されないようにしてもよい。
【0048】
例えば仮想投影面上に光効果表現オブジェクトを設定すると仮定して、仮想平面上で光効果表現オブジェクトの現れるエリアを設定するようにしてもよいし、光効果表現オブジェクトの現れない非表示領域を設定する場合も本発明の範囲内である。仮想投影面は例えば始点座標系においてZ軸と直交するYX平面として設定することができる。
【0049】
そして仮想投影面上のX、Yの値で光効果表現オブジェクト表示領域を定義するようにしてもよい。
【0050】
なお表示/非表示領域の設定はランダムに行っても良いし、例えばオブジェクト空間の大気の状態(水蒸気の状態)等に応じて設定するようにしてもよい。
【0051】
表示/非表示の制御は、例えばオブジェクト自体は存在して、オブジェクトの表示領域に属する部分についてのみ表示し、非表示領域に属する部分については表示しないように制御する場合でもよい。この場合、非表示領域の透明度(例えばα値)を高くして透明にすることで表示されないように制御してもよい。
【0052】
また表示領域については光効果表現オブジェクトを切り取るようにしてもよいし、表示領域に対応する部分のみ光効果表現オブジェクトを生成するようにしてもよい。
【0053】
本発明によれば、大気の状態等を反映して多様な見え方をする虹等の光効果表現物の画像表現を行うことができる。
【発明を実施するための最良の形態】
【0054】
以下、本実施形態について説明する。
【0055】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0056】
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図1の構成要素(各部)の一部を省略した構成としてもよい。
【0057】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【0058】
記憶部170は、描画バッファ172やZバッファ174やテクスチャ記憶部176を含み、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどにより実現できる。
【0059】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶(記録、格納)される。
【0060】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0061】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。
【0062】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0063】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0064】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。また処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は、各種プロセッサ(CPU、DSP等)やASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0065】
処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、光効果表現オブジェクト設定部116、光源制御部118、描画部120、音生成部130を含む。なおこれらの一部を省略してもよい。
【0066】
オブジェクト空間設定部110は、キャラクタ、樹木、車、柱、壁、建物、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0067】
移動・動作処理部112は、オブジェクト(車、飛行機、又はキャラクタ等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち、操作部160によりプレーヤが入力した操作データ、プログラム(移動・動作アルゴリズム)、或いは各種データ(モーションデータ)などに基づいて、オブジェクト(移動オブジェクト)をオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。ここでフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0068】
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点での画像を生成するための仮想カメラを制御する処理を行う。即ち、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
【0069】
例えば仮想カメラによりオブジェクトを後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた回転角度で回転させるようにしてもよい。この場合には、仮想カメラの位置(移動経路)や回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【0070】
光効果表現オブジェクト設定部116は、光源位置または光線ベクトルの方向に基づき、光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つ変化させる処理を行う。
【0071】
光効果表現オブジェクト設定部116は、視点位置から光源とは逆方向に所定の距離だけ離れた地点に仮想投影面を設定し、前記光線ベクトルの方向に対して所定角度だけずらして第1の方向ベクトルV1を設定し、第1の方向ベクトルV1に対し微少角度だけずらして第2の方向ベクトルV2を設定し、第1の方向ベクトルV1、第2の方向ベクトルV2を視点位置を始点として前記仮想投影面にむけてのばし、第1の方向ベクトルV1、第2の方向ベクトルV2の延長線と前記仮想投影面の交点に基づいて光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つを設定するようにしてもよい。
【0072】
前記光効果表現オブジェクト設定部116は、視点位置から光源とは逆方向に所定の距離だけ離れた地点に仮想投影面を設定し、前記光線ベクトルの方向に対して所定角度だけずらして得られる方向ベクトルVを視点位置から前記仮想投影面にむけてのばし、方向ベクトルVの延長線と前記仮想投影面の交点である第1の交点と、光線ベクトルを視点位置から前記仮想投影面にむけてのばし光線ベクトルの延長線と前記仮想投影面の交点である第2の交点を求め、第1の交点と第2の交点に基づき光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つ設定するようにしてもよい。
【0073】
前記光効果表現オブジェクト設定部116は、光効果表現オブジェクトとして、円環状のオブジェクトを設定するようにしてもよい。
【0074】
前記光効果表現オブジェクト設定部116は、光効果表現オブジェクトを、所与のタイミングで所定時間配置するように設定するようにしてもよい。
【0075】
前記光効果表現オブジェクト設定部116は、光効果表現オブジェクトを、配置開始から所定期間に光効果表現オブジェクトをフェードイン表示させるための設定処理、及び配置終了前の所定期間に光効果表現オブジェクトをフェードアウト表示させるための設定処理の少なくとも1つを行うようにしてもよい。
【0076】
前記光効果表現オブジェクト設定部116は、光効果表現オブジェクトの表示範囲を制御するための表示範囲制御情報を設定し、表示範囲制御情報に基づき表示範囲外に当たる部分については光効果表現オブジェクトが表示されないように設定するようにしてもよい。
【0077】
光源制御部118は、ゲーム時刻の変化に従って光源位置または光線ベクトルの方向を変化させる処理を行う。
【0078】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。
【0079】
描画部120は、光効果表現オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する。
【0080】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0081】
なお描画部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0082】
そして描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0083】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、主記憶部172に保存される。
【0084】
テクスチャマッピングは、記憶部170のテクスチャ記憶部178に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部178からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【0085】
特に本実施形態では、光効果表現オブジェクトを描画する際に、例えば虹等を表現するための光効果表現用のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、光効果表現オブジェクトに対してマッピングされるテクスチャの色分布(テクセルパターン)を動的に変化させるようにしてもよい。 この場合において、色分布が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよいし、オブジェクト単位でテクスチャの色分布を変化させるようにしてもよい。
【0086】
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0087】
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより2つの色を合成した色を求める処理を行う。
【0088】
RQ=(1−α)×R1+α×R2 (1)
GQ=(1−α)×G1+α×G2 (2)
BQ=(1−α)×B1+α×B2 (3)
また合成処理が加算αブレンディングである場合を例にとれば、色合成部126は下式に従ったα合成処理を行う。
【0089】
RQ=R1+α×R2 (4)
GQ=G1+α×G2 (5)
BQ=B1+α×B2 (6)
また合成処理がα乗算である場合を例にとれば、色合成部126は下式に従ったα合成処理を行う。
【0090】
RQ=α×R1 (7)
GQ=α×G1 (8)
BQ=α×B1 (9)
また合成処理がα乗加算である場合を例にとれば、色合成部126は下式に従ったα合成処理を行う。
【0091】
RQ=α×R1+R2 (7)
GQ=α×G1+G2 (8)
BQ=α×B1+B2 (9)
ここで、R1、G1、B1は、描画バッファ172に既に描画されている画像(背景画像)の色(輝度)のR、G、B成分であり、R2、G2、B2は、描画バッファ172に描画するオブジェクト(プリミティブ)の色のR、G、B成分である。また、RQ、GQ、BQは、αブレンディングにより得られる画像の色のR、G、B成分である。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0092】
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えばRGBの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0093】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0094】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0095】
2.虹オブジェクトの設定制御
以下、光効果表現オブジェクトの一例である虹オブジェクトを用いて虹の画像を生成する場合の虹オブジェクトの設定処理について説明する
図2は光線ベクトルに基づき設定される第1の方向ベクトルV1、第2の方向ベクトルV2について説明するための図である。
【0096】
同図はオブジェクト空間をX軸方向に見た図(YZ平面)である。
【0097】
ここで210は平行光源であり、LVは光線ベクトルである。平行光源を用いる場合にはオブジェクト空間内の光線ベクトルLVはどの地点でも同方向となる
230は、オブジェクト空間内に仮想的に想定した仮想投影面である。本実施の形態では、この仮想投影面に虹が写っているか仮定して虹の画像を生成する。虹は視点(仮想カメラの位置)に対して光源と反対側にできるので、仮想投影面230は、視点250に対して仮想投影面と反対側の視点から離れた地点に水平面260に対して垂直に仮想的におかれた面として設定される。
【0098】
前記光線ベクトルLVの方向に対して所定角度だけずらして第1の方向ベクトルV1を設定し、第1の方向ベクトルV1に対し微少角度だけずらして第2の方向ベクトルV2を設定する。
【0099】
光線ベクトルの方向に対して所定角度θだけずらして第1の方向ベクトルV1を設定し、第1の方向ベクトルV1に対し微少角度Δθだけずらして第2の方向ベクトルV2を設定する。
【0100】
図3は、第1の方向ベクトルV1と第2の方向ベクトルV2に基づき虹オブジェクトの設定を行う手法について説明するための図である。
【0101】
視点位置250から光源210とは逆方向に仮想投影面230を設定し、第1の方向ベクトルV1、第2の方向ベクトルV2を視点位置を始点として仮想投影面230にむけてのばし、第1の方向ベクトルV1、第2の方向ベクトルV2の延長線と前記仮想投影面230の交点P1、P2に基づいて虹オブジェクト300の位置と大きさを決定する。
【0102】
図4は虹オブジェクトの円環オブジェクトの形状設定手法について説明するための図である。
【0103】
視点位置250から光源210とは逆方向に仮想投影面230を設定する。
【0104】
光線ベクトルLVの方向に対して所定角度だけずらして得られる方向ベクトルVを視点位置から前記仮想投影面にむけてのばし、方向ベクトルVの延長線と前記仮想投影面の交点である第1の交点Pを求める。
【0105】
また光線ベクトルLVを視点位置250から仮想投影面にむけてのばし光線ベクトルの延長線と前記仮想投影面の交点である第2の交点Qを求める。
【0106】
交点Qを光効果表現オブジェクトである円環オブジェクトの円の中心として設定するようにしてもよい。
【0107】
そして第1の交点Pと第2の交点Qに基づき光効果表現オブジェクトである円環オブジェクトの半径rを決定するようにしてもよい。
【0108】
Qを中心として半径rの円を仮想的に設定し、かかる円の円周320にそって虹オブジェクトを設定するようにしてもよい。例えば、円に沿って虹オブジェクトの位置を決定する場合(この場合円の位置と虹オブジェクトの位置が重なるように虹オブジェクトを設定している。虹オブジェクトの最高点と円の最高点が重なるように虹オブジェクトの位置を決定している)や、円の大きさに応じて虹オブジェクトの大きさを決定する場合(例えば虹オブジェクトの円弧の半
径を決定する場合)を含む。
【0109】
図5は、光源位置(光源の高さ)と設定される虹オブジェクトの大きさや位置の関係について説明するための図である。
【0110】
例えば210−1に光源がある場合には、光線ベクトルLV−1に対して第1の方向ベクトルV1−1、第2の方向ベクトルV2−1が設定され、視点位置250を始点として、第1の方向ベクトルV1−1、第2の方向ベクトルV2−1を仮想投影面の方向にのばしたときの仮想投影面との交点P1−1、P2−1によって、虹オブジェクト400−1が設定される。
【0111】
また例えば210−2に光源がある場合には、光線ベクトルLV−2に対して第1の方向ベクトルV1−2、第2の方向ベクトルV2−2が設定され、視点位置250を始点として、第1の方向ベクトルV1−2、第2の方向ベクトルV2−2を仮想投影面の方向にのばしたときの仮想投影面との交点P1−2、P2−2によって、虹オブジェクト400−2が設定される。
【0112】
本実施の形態では、ゲーム時刻の変化に従って光源位置または平行光源の光線ベクトルの向きを変化させるので、光源位置や光線ベクトルの向きを反映して、大きさやかかる位置の異なる虹画像が生成される。
【0113】
図6は(A)(B)は、本実施の形態の虹オブジェクトの表示範囲の制御について説明するための図である。
【0114】
本実施の形態では仮想投影面上に虹オブジェクトが設定されるが、このとき虹オブジェクトの現れるエリアを設定することができる。仮想投影面は例えば視点座標系においてZ軸と直交するYX平面として設定することができる。
【0115】
図6(A)は、仮想投影面上のX>aの領域を虹オブジェクトの表示領域として設定した場合である。この場合、仮想投影面の550−1が表示領域、560−1が非表示領域となる。そして虹オブジェクト510のなかで、表示領域に属する部分510−2が表示され、非表領域に属する部分510−1、510−3は表示されない。
【0116】
図6(B)は、仮想投影面上のX>bかつY>cの領域を虹オブジェクトの表示領域として設定した場合である。この場合、仮想投影面の550−2が表示領域、560−2が非表示領域となる。そして虹オブジェクト510のなかで、表示領域に属する部分510−2’が表示され、非表領域に属する部分510−1’、510−3’は表示されない。
【0117】
なお表示/非表示領域の設定はランダムに行っても良いし、例えばオブジェクト空間の大気の状態(水蒸気の状態)等に応じて設定するようにしておよい。
【0118】
表示/非表示の制御は、例えばオブジェクト自体は存在して、オブジェクトの表示領域に属する部分についてのみ表示し、非表示領域に属する部分については表示しないように制御する場合でもよい。この場合、非表示領域の透明度(例えばα値)を高くして透明にすることで表示されないように制御してもよい。
【0119】
また表示領域については虹オブジェクトを切り取るようにしてもよいし、表示領域に対応する部分のみ虹オブジェクトを生成するようにしてもよい。
【0120】
図7は本実施の形態の虹のフェードイン/フェードアウト処理について説明するための図である。
【0121】
本実施の形態では、所与のタイミングで所定時間の間、虹オブジェクトを配置する。すなわち虹が出現してから消滅するまでの間(t0〜t3)虹オブジェクトが設定される。
【0122】
例えば所与のタイミングt0で虹オブジェクトが出現する場合、配置開始t0から所定期間(t0〜t1の間)の間はフェードイン期間610となりフェードイン処理が行われる。
【0123】
フェードイン処理とは虹オブジェクトが見えない状態(透明の状態)から徐徐に濃くなって(だんだん透明度が低くなってくる)はっきり見える状態になるように、時間の経過に従って虹オブジェクトの表示状態を変化させる処理である。
【0124】
t1の状態で虹オブジェクトははっきり見える状態となり、配置終了前の所定期間(t2〜t3)はフェードアウト期間620となり、フェードアウト処理が行われる。
【0125】
フェードアウト処理とは虹オブジェクトがはっきり見える状態から徐徐に薄くなって(だんだん透明度が高くなる)見えない状態(透明度0の状態)になるように、時間の経過に従って虹オブジェクトの表示状態を変化させる処理である。
【0126】
図8は経過時間とα値の関係について示した図である。
【0127】
横軸は虹オブジェクトの出現からの経過時間t、縦軸は虹オブジェクトを加算半透明で描画する場合の透明度情報(α値)である。本実施の形態は虹オブジェクトの出現t0から虹オブジェクトの消滅t3までの所定時間の間、虹オブジェクトの設定を行う。
【0128】
虹オブジェクトを加算半透明で描画する場合、α値が0の時に虹オブジェクトは透明となり、α値が1の時に虹オブジェクトははっきり見える状態になる。
【0129】
虹オブジェクトが出現した時点(t0の時点)で、α値を0にして、その後フェードイン期間610の間α値が徐徐に高くなりt1の時点でα値を1になるように制御する。
【0130】
そしてt2のあとフェードアウト期間620の間α値が徐徐に低くなりt3の時点でα値を0になるように制御する。
【0131】
このようにすると、t0の時点から徐徐に虹オブジェクトが見え始め、t1の時点ではっきり見えるようになり、t3の時点から再び薄くなってt4の時点で虹オブジェクトが見えなくなる様子を画像で表現することができる。
【0132】
なお虹オブジェクトのα値を変化させ、虹オブジェクトを加算半透明で描画させることにより虹のフェードイン/フェードアウトを実現する場合、例えば基準値または設定値をα、虹オブジェクトの出現からの経過時間tとして、経過時間tに基づき所定の関数f(t)=αに基づき直接αを制御する場合でもよい。
【0133】
また経過時間tにおけるα値をα’として、経過時間tに基づき所定の関数f’(t)=kでα’=kαとなるkの値を求めるようにしてもよい。
【0134】
なおα値はオブジェクト単位に設定されていてもよいし、ポリゴンの頂点単位に設定されていてもよいし、画素単位に設定されていてもよい。
【0135】
3.本実施形態の処理
図9は、本実施の形態の虹オブジェクトの画像生成処理の流れを示すフローチャート図である。
【0136】
虹オブジェクト表示イベントの発生を検出すると以下の処理を行う(ステップS10)。
【0137】
まず、視点位置に対し光源と反対方向に仮想投影面を設定する(ステップS20)。
【0138】
光線ベクトルの方向に対して所定角度だけずらして第1の方向ベクトルV1を設定し、第1の方向ベクトルV1に対し微少角度だけずらして第2の方向ベクトルV2を設定し、V1ベクトル、V2ベクトルを視点位置を始点として前記仮想投影面にむけてのばし、V1ベクトル、V2ベクトルの延長線と前記前記仮想投影面の交点P1、P2を取得する(ステップS30)。
【0139】
次に光線ベクトルを視点位置から前記仮想投影面にむけてのばし光線ベクトルの延長線と前記仮想投影面の交点を求めて円の中心Oとし、中心Oと交点P1、P2に基づき円の半径を決定し、決定された円に基づき虹オブジェクトの位置と大きさを決定して虹オブジェクトを設定する(ステップS40)。
【0140】
次に虹オブジェクトの仮想投影面に設定された表示領域以外の部分を透明にするようにα値の制御情報を生成する(ステップS50)。
【0141】
次に虹オブジェクト表示開始からの経過時間tに基づきフェードイン期間内又はフェードアウト期間内か否か判定する(ステップS60)
そしてフェードイン期間内であれば、経過時間tに基づき虹オブジェクトがフェードアウトするようにα値の制御情報を生成する(ステップS70、S80)。
【0142】
またフェードアウト期間内であれば、経過時間tに基づき虹オブジェクトがフェードアウトするようにα値の制御情報を生成する(ステップS90、S100)。
【0143】
次に設定された虹オブジェクトを透視変換する(ステップS110)。
【0144】
そして、透視変換された虹オブジェクトに虹テクスチャをマッピングして、設定されたα値の制御情報に基づきα値を設定して、虹オブジェクトを加算半透明で描画する(ステップS120)
4.ハードウェア構成
図10に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0145】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0146】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0147】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0148】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0149】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0150】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0151】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0152】
例えば、明細書又は図面中の記載において広義や同義な用語(テクセル値、テクセル値パターン、プリミティブ面等)として引用された用語(α値・輝度、グラディエーションパターン、ポリゴン等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0153】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0154】
またテクスチャのマッピング処理も、本実施形態で説明したものに限定されず、これらと均等な変換処理も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯端末等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0155】
【図1】本実施形態の画像生成システムの機能ブロック図。
【図2】図2は光線ベクトルに基づき設定される第1の方向ベクトルV1、第2の方向ベクトルV2について説明するための図。
【図3】第1の方向ベクトルV1と第2の方向ベクトルV2に基づき虹オブジェクトの設定を行う手法について説明するための図。
【図4】虹オブジェクトの円環オブジェクトの形状設定手法について説明するための図。
【図5】光源位置(光源の高さ)と設定される虹オブジェクトの大きさや位置の関係について説明するための図である。光源位置(光源の高さ)と設定される虹オブジェクトの大きさや位置の関係について説明するための図。
【図6】図6は(A)(B)は、本実施の形態の虹オブジェクトの表示範囲の制御について説明するための図。
【図7】本実施の形態の虹オブジェクトのフェードイン/フェードアウト処理について説明するための図。
【図8】経過時間とα値の関係について示した図である。
【図9】本実施の形態の虹オブジェクトの画像生成処理の流れを示すフローチャート図。
【図10】ハードウェア構成例である。
【符号の説明】
【0156】
100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、114 仮想カメラ制御部、116 虹オブジェクト設定部、118 光源制御部、120 描画部、122 隠面消去部、124 テクスチャマッピング部、126 α合成部、130 音生成部、160 操作部、170 記憶部、172 描画バッファ、174 Zバッファ、176 テクスチャ記憶部、180 情報記憶媒体、190 表示部、192 音出力部、194 携帯型情報記憶装置、196 通信部

【特許請求の範囲】
【請求項1】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
光源位置または光線ベクトルの方向に基づき、光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つ変化させる光効果表現オブジェクト設定部と、
光効果表現オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部と、
してコンピュータを機能させることを特徴とするプログラム。
【請求項2】
請求項1において、
ゲーム時刻の変化に従って光源位置または光線ベクトルの方向を変化させる光源制御部を含むことを特徴とするプログラム。
【請求項3】
請求項1乃至2のいずれかにおいて、
前記光効果表現オブジェクト設定部は、
視点位置から光源とは逆方向に所定の距離だけ離れた地点に仮想投影面を設定し、
前記光線ベクトルの方向に対して所定角度だけずらして第1の方向ベクトルV1を設定し、第1の方向ベクトルV1に対し微少角度だけずらして第2の方向ベクトルV2を設定し、第1の方向ベクトルV1、第2の方向ベクトルV2を視点位置を始点として前記仮想投影面にむけてのばし、第1の方向ベクトルV1、第2の方向ベクトルV2の延長線と前記仮想投影面の交点に基づいて光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つを設定することを特徴とするプログラム。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記光効果表現オブジェクト設定部は、
視点位置から光源とは逆方向に所定の距離だけ離れた地点に仮想投影面を設定し、
前記光線ベクトルの方向に対して所定角度だけずらして得られる方向ベクトルVを視点位置から前記仮想投影面にむけてのばし、方向ベクトルVの延長線と前記仮想投影面の交点である第1の交点と、光線ベクトルを視点位置から前記仮想投影面にむけてのばし光線ベクトルの延長線と前記仮想投影面の交点である第2の交点を求め、第1の交点と第2の交点に基づき光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つ設定することを特徴とするプログラム。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記光効果表現オブジェクト設定部は、
光効果表現オブジェクトとして、円環状のオブジェクトを設定することを特徴とするプログラム。
【請求項6】
請求項1乃至5のいずれかにおいて、
前記光効果表現オブジェクト設定部は、
光効果表現オブジェクトを、所与のタイミングで所定時間配置するように設定することを特徴とするプログラム。
【請求項7】
請求項6において、
前記光効果表現オブジェクト設定部は、
光効果表現オブジェクトを、配置開始から所定期間に光効果表現オブジェクトをフェードイン表示させるための設定処理、及び配置終了前の所定期間に光効果表現オブジェクトをフェードアウト表示させるための設定処理の少なくとも1つを行うことを特徴とするプログラム。
【請求項8】
請求項1乃至7のいずれかにおいて、
前記光効果表現オブジェクト設定部は、
光効果表現オブジェクトの表示範囲を制御するための表示範囲制御情報を設定し、表示範囲制御情報に基づき表示範囲外に当たる部分については光効果表現オブジェクトが表示されないように設定する処理を行うことを特徴とするプログラム。
【請求項9】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至8のいずれかのプログラムを記憶することを特徴とする情報記憶媒体。
【請求項10】
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
光源位置または光線ベクトルの方向に基づき、光効果表現オブジェクトの形状、大きさ及び出現位置の少なくとも1つ変化させる光効果表現オブジェクト設定部と、
光効果表現オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部と、
含むことを特徴とする画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2007−164736(P2007−164736A)
【公開日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願番号】特願2005−364106(P2005−364106)
【出願日】平成17年12月16日(2005.12.16)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】