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

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

Info

Publication number
JP2003091739A
JP2003091739A JP2001282147A JP2001282147A JP2003091739A JP 2003091739 A JP2003091739 A JP 2003091739A JP 2001282147 A JP2001282147 A JP 2001282147A JP 2001282147 A JP2001282147 A JP 2001282147A JP 2003091739 A JP2003091739 A JP 2003091739A
Authority
JP
Japan
Prior art keywords
field
flow field
primitive
information
point
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
JP2001282147A
Other languages
English (en)
Inventor
Hidetoshi Aoyanagi
秀俊 青柳
Yuichi Hiraiwa
祐一 平岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Original Assignee
Namco Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd filed Critical Namco Ltd
Priority to JP2001282147A priority Critical patent/JP2003091739A/ja
Publication of JP2003091739A publication Critical patent/JP2003091739A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】 オブジェクト空間の任意の場所で、シミュレ
ーション演算により求められた場を反映させた画像の生
成をリアルタイムに処理可能な画像生成システム、プロ
グラム及び情報記憶媒体を提供する。 【解決手段】 シミュレーション空間の各点での時間経
過に伴う物理量の変化を流体シミュレーション演算によ
り求め、その物理量についての流れ場HFを求める。流
れ場HF又は該流れ場の影響を受けた仮想場は、オブジ
ェクト空間に配置されるオブジェクトの表面に、マッピ
ングされる。当該オブジェクトの表面では、流体シミュ
レーションにより、場の状態が更新され、オブジェクト
表面付近の別オブジェクトの位置や、これに付随する情
報(色情報、透明度情報など)を変化させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像生成システ
ム、プログラム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】従来よ
り、テクスチャ・アニメーション等の技法を用いて水の
動き等の自然現象を擬似的に表現することが行われてい
る。しかしながら、この種の技法では、表現が単調にな
って、リアルな動きを表現することができなかった。
【0003】これに対して、このような自然現象をリア
ルに表現するものとして、流体シミュレーションにより
求めた流れ場(流体場、速度場、ベクトル場。広義に
は、場)を、オブジェクトの動作に反映させる手法があ
る。
【0004】しかしながら、従来の流体シミュレーショ
ンは処理負荷が重く、最終的な目的が流れ場の動作を可
視化することにあるため、リアルタイム処理が行われる
ことはなかった。そのため、インタラクティブに発生す
る外因を反映させた表現を行うことはなく、例えばリア
ルタイム処理が要求されるゲーム処理において、流体シ
ミュレーションによる流れ場の動作を反映させた表現を
することができなかった。また、3次元のオブジェクト
空間に配置されるオブジェクトの表面等で、例えば流れ
場の動作を反映させた表現が行われることがなかった。
【0005】本発明は、以上のような課題に鑑みてなさ
れたものであり、その目的とするところは、シミュレー
ションによって得られた場を反映させたオブジェクト画
像の生成をリアルタイムに処理可能な画像生成システ
ム、プログラム及び情報記憶媒体を提供することにあ
る。
【0006】また、本発明の他の目的は、オブジェクト
空間の任意の場所で、シミュレーション演算により求め
られた場を反映させた画像の生成をリアルタイムに処理
可能な画像生成システム、プログラム及び情報記憶媒体
を提供することにある。
【0007】
【課題を解決するための手段】上記課題を解決するため
に、本発明は、画像生成を行う画像生成システムであっ
て、シミュレーション空間の各点での物理量の変化をシ
ミュレーション演算により求め、前記物理量についての
場を求めるシミュレーション演算手段と、求められた場
又は該場の影響を受けた仮想場を、プリミティブにマッ
ピングするマッピング手段と、前記プリミティブが配置
されるオブジェクト空間の所与の視点から見える画像を
生成する手段とを含むことを特徴とする。また本発明に
係るプログラムは、上記手段としてコンピュータを機能
させることを特徴とする。また本発明に係る情報記憶媒
体は、コンピュータにより読み取り可能な情報記憶媒体
であって、上記手段としてコンピュータを機能させるプ
ログラムを記憶することを特徴とする。
【0008】ここで、場とは、物理量が空間的に分布し
ている領域をいい、シミュレーション空間の各点に物理
量を設定することで得ることができる。また、場又は該
場の影響を受けた仮想場とは、シミュレーションにより
直接的に求められる物理量についての場だけではなく、
求められた物理量(例えば速度ベクトル)についての場
の情報に基づいて変化する情報(対象物に適用するため
に、上記物理量についての場の情報に基づいて演算した
結果であって、例えば位置情報、速度情報、温度情報、
物理量など)についての空間的な領域を含むことを意味
する。
【0009】さらに、場又は該場の影響を受けた仮想場
がマッピングされるプリミティブは、2次元のものであ
ってもよいし、3次元のものであってもよい。
【0010】マッピングは、例えばUVマッピングのよ
うに、プリミティブの各頂点と、場の各頂点とを対応付
けることで実現できる。
【0011】本発明によれば、シミュレーション空間の
各点での物理量の変化をシミュレーション演算により求
め、この物理量についての場又は該場の影響を受けた仮
想場を、オブジェクト空間に配置されるプリミティブに
マッピングして、画像を生成するようにしたので、マッ
ピング対象の部位に対応するエリアにおいてのみシミュ
レーションを行えばよく、処理負荷を軽減することがで
きる。しかも、2次元のシミュレーション空間において
シミュレーション演算により求めた場又は該場の影響を
受けた仮想場を、オブジェクト空間の3次元のプリミテ
ィブの状態に反映させることにより、3次元の流体シミ
ュレーションを行う場合に比べて格段に処理負荷を軽減
することができる。したがって、プリミティブに対して
インタラクティブに発生する外因の影響を反映させた画
像を、リアルタイムに生成することができる。
【0012】さらに、場又は該場の影響を受けた仮想場
がマッピングされるプリミティブが平面に限定されるも
のではなく、2次元のシミュレーション空間の演算によ
り得られた場の情報又は場の影響を受けた情報に基づい
て、3次元のプリミティブの任意の曲面に反映させるこ
とができるので、これまでにないリアルな表現が可能な
画像を生成することができる。
【0013】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記プリミティブに関連付
けて与えられる法線ベクトルの向き及び大きさのうち少
なくとも1つを、場の各点について求められた物理量に
基づいて変化させることを特徴とする。
【0014】ここで、プリミティブに関連付けて与えら
れる法線ベクトルとは、例えばプリミティブに対して、
シェーディングなどの画像処理を行う場合に用いられる
法線ベクトルをいい、プリミティブの頂点等ごとに設け
ることができる。
【0015】本発明によれば、シミュレーション空間に
おけるシミュレーション演算によって求められた場又は
場の影響を受けた仮想場を、オブジェクト空間に配置さ
れるプリミティブにマッピングし、このプリミティブに
関連付けて与えられた法線ベクトルの向きや大きさを変
化させることができるので、オブジェクト空間の任意の
位置において、インタラクティブに発生する外因の影響
を反映させて、シェーディング画像を変化させたり、法
線方向に生える草オブジェクトを風になびかせるといっ
た画像を生成することができ、これまでにないリアルな
画像を提供することができる。
【0016】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記プリミティブに関連付
けられた位置に配置された別プリミティブの位置及び前
記別プリミティブに関連付けられる情報のうち少なくと
も1つを、前記場の各点について求められた物理量に基
づいて変化させることを特徴とする。
【0017】ここでプリミティブに関連付けられた位置
とは、プリミティブにマッピングされた場の情報が参照
される位置をいい、例えばプリミティブの周辺や表面が
ある。
【0018】ここで、別プリミティブとは、場がマッピ
ングされたプリミティブとは別のプリミティブであっ
て、場の状態を参照して、位置や状態が変化するプリミ
ティブをいう。
【0019】また、別プリミティブに関連付けられる情
報とは、例えばプリミティブごとに付与される色(輝
度)情報や、透明度情報などをいう。このような情報
は、例えばプリミティブの頂点ごとに設定される。
【0020】本発明によれば、場又は該場の影響を受け
た仮想場がマッピングされたプリミティブの周辺等の別
プリミティブに対して、場の状態を参照して、その位置
や色情報、透明度情報などを変化させるようにしたの
で、例えば人間の腕を流れ落ちる汗を表現する場合、腕
プリミティブの表面に場をマッピングし、腕プリミティ
ブの表面の汗プリミティブの位置や状態を変化させて、
例えば流体シミュレーションに従ったよりリアルな画像
をリアルタイムに生成することができるようになる。
【0021】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記プリミティブの表面に
配置された別プリミティブの構成点又は制御点の位置、
及び前記構成点又は制御点に関連付けれる情報のうち少
なくとも1つを、前記場の各点について求められた物理
量に基づいて変化させることを特徴とする。
【0022】ここで、別プリミティブの構成点とは、例
えばプリミティブの定義点(例えば頂点)をいい、別プ
リミティブの制御点とは、例えば自由曲面の制御点をい
う。
【0023】また、別プリミティブの構成点に関連付け
られる情報とは、例えば別プリミティブの頂点ごとに付
与される色情報や半透明情報をいい、別プリミティブの
制御点に関連付けられる情報とは、例えば自由曲面の制
御点ごとに付与される重みをいう。
【0024】本発明によれば、プリミティブや自由曲面
の位置や、状態の変化を、2次元のシミュレーション空
間におけるシミュレーション演算により求めることがで
きるので、リアルな自然現象をプリミティブや自由曲面
などを用いて、リアルタイムに生成することができるよ
うになる。
【0025】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記プリミティブに関連し
て発生したイベントを検出する手段を含み(或いは該手
段としてコンピュータを機能させ、或いは該手段として
コンピュータを機能させるプログラムを記憶し)、前記
シミュレーション演算手段は、前記イベントを反映させ
たシミュレーション演算により、前記物理量についての
場を求めることを特徴とする。
【0026】ここで、プリミティブに関連して発生した
イベントとは、例えば場面の切り替えといったゲーム進
行の一連のストーリの中で発生するものに限らず、リア
ルタイムで処理されるゲーム処理中にプリミティブに対
して直接的又は間接的に加えられる外因(外力)なども
含む。
【0027】本発明によれば、イベントの発生を監視し
て、必要な時に、必要な位置にマッピングされる場につ
いてシミュレーション計算を行えばよいので、画像生成
処理におけるシミュレーション計算の処理負担を軽減す
ることができ、リアルタイム処理の実現に貢献すること
ができる。
【0028】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、オブジェクト空間内に設定
された前記場の周辺のプリミティブに対し、前記場に基
づいて前記プリミティブの位置及び前記プリミティブに
関連付けられる情報のうち少なくとも1つを求める手段
を含む(或いは該手段としてコンピュータを機能させ
る、或いは該手段としてコンピュータを機能させるプロ
グラムを記憶する)ことを特徴とする。
【0029】ここで、オブジェクト空間内に設定された
場の周辺のプリミティブとは、プリミティブにマッピン
グされる2次元若しくは3次元の場の情報が参照される
位置にあるプリミティブをいう。
【0030】また、プリミティブに関連付けられる情報
とは、例えばプリミティブごとに付与される色(輝度)
情報や、透明度情報などをいう。このような情報は、例
えばプリミティブの頂点ごとに設定される。
【0031】本発明によれば、オブジェクト空間に設定
される場の周辺(例えば、2次元又は3次元の場の外)
のプリミティブが、場の中の状態を参照しているため、
場を求めるためのシミュレーション空間のサイズを大き
くしなくても、ある程度場を反映させてプリミティブの
位置や状態を変化させることができる。したがって、シ
ミュレーションにおける処理負荷を軽減することがで
き、リアルタイム処理の実現に貢献することができる。
【0032】
【発明の実施の形態】以下、本発明の好適な実施形態に
ついて図面を用いて説明する。
【0033】なお、以下に説明する本実施形態は、特許
請求の範囲に記載された本発明の内容を何ら限定するも
のではない。また本実施形態で説明される構成の全てが
本発明の解決手段として必須であるとは限らない。
【0034】1. 構成 図1に、本実施形態の画像生成システム(ゲームシステ
ム)の機能ブロック図の一例を示す。
【0035】なお同図において本実施形態は、少なくと
も処理部100を含めばよく(或いは処理部100と記
憶部170、或いは処理部100と記憶部170と情報
記憶媒体180を含めばよく)、それ以外のブロック
(例えば、操作部160、表示部190、音出力部19
2、携帯型情報記憶装置194、通信部196)につい
ては、任意の構成要素とすることができる。
【0036】ここで処理部100は、システム全体の制
御、システム内の各ブロックへの命令の指示、ゲーム処
理、画像処理、又は音処理などの各種の処理を行うもの
であり、その機能は、各種プロセッサ(CPU、DSP
等)、或いはASIC(ゲートアレイ等)などのハード
ウェアや、所与のプログラム(ゲームプログラム)によ
り実現できる。
【0037】操作部160は、プレーヤが操作データを
入力するためのものであり、その機能は、レバー、ボタ
ン、マイク、或いは筐体などのハードウェアにより実現
できる。
【0038】記憶部170は、処理部100や通信部1
96などのワーク領域となるもので、その機能はRAM
などのハードウェアにより実現できる。
【0039】情報記憶媒体(コンピュータにより使用可
能な記憶媒体)180は、プログラムやデータなどの情
報を格納するものであり、その機能は、光ディスク(C
D、DVD)、光磁気ディスク(MO)、磁気ディス
ク、ハードディスク、磁気テープ、或いはメモリ(RO
M)などのハードウェアにより実現できる。処理部10
0は、この情報記憶媒体180に格納されるプログラム
(データ)に基づいて本発明(本実施形態)の種々の処
理を行う。即ち情報記憶媒体180には、本発明(本実
施形態)の手段(特に処理部100に含まれるブロッ
ク)をコンピュータに実現(実行、機能)させるための
プログラムが格納され、このプログラムは、例えば1又
は複数のモジュール(オブジェクト指向におけるオブジ
ェクトも含む)を含む。
【0040】なお、情報記憶媒体180に格納される情
報の一部又は全部は、システムへの電源投入時等に記憶
部170に転送されることになる。また情報記憶媒体1
80には、本発明の処理を行うためのプログラム、画像
データ、音データ、表示物の形状データ、本発明の処理
を指示するための情報、或いはその指示に従って処理を
行うための情報などを含ませることができる。
【0041】表示部190は、本実施形態により生成さ
れた画像を出力するものであり、その機能は、CRT、
LCD、或いはHMD(ヘッドマウントディスプレイ)
などのハードウェアにより実現できる。
【0042】音出力部192は、本実施形態により生成
された音を出力するものであり、その機能は、スピーカ
などのハードウェアにより実現できる。
【0043】携帯型情報記憶装置194は、プレーヤの
個人データやゲームのセーブデータなどが記憶されるも
のであり、この携帯型情報記憶装置194としては、メ
モリカードや携帯型ゲーム装置などを考えることができ
る。
【0044】通信部196は、外部(例えばホスト装置
や他の画像生成システム)との間で通信を行うための各
種の制御を行うものであり、その機能は、各種プロセッ
サ、或いは通信用ASICなどのハードウェアや、プロ
グラムなどにより実現できる。
【0045】なお本発明(本実施形態)の各手段を実現
(実行、機能)するためのプログラム(情報)は、ホス
ト装置(サーバ)が有する情報記憶媒体からネットワー
ク及び通信部196を介して情報記憶媒体180に配信
するようにしてもよい。このようなホスト装置(サー
バ)の情報記憶媒体の使用も本発明の範囲内に含まれ
る。
【0046】処理部(プロセッサ)100は、操作部1
60からの操作データやプログラムなどに基づいて、ゲ
ーム処理、画像生成処理、或いは音生成処理などの各種
の処理を行う。この場合、処理部100は、記憶部17
0内の主記憶部をワーク領域として使用して、各種の処
理を行う。
【0047】ここで、処理部100が行う処理として
は、コイン(代価)の受け付け処理、各種モードの設定
処理、ゲームの進行処理、選択画面の設定処理、オブジ
ェクト(1又は複数のプリミティブ。以下の説明でも同
様)の位置や回転角度(X、Y又はZ軸回りの回転角
度)を求める処理、オブジェクトを動作させる処理(モ
ーション処理)、視点の位置(仮想カメラの位置)や視
線角度(仮想カメラの回転角度)を求める処理、マップ
オブジェクトなどのオブジェクトをオブジェクト空間へ
配置する処理、ヒットチェック処理、ゲーム結果(成
果、成績)を演算する処理、複数のプレーヤが共通のゲ
ーム空間でプレイするための処理、或いはゲームオーバ
処理などを考えることができる。
【0048】処理部100は、シミュレーション演算部
110、場設定部115、プリミティブ処理部120、
処理監視部125、画像生成部140、音生成部150
を含む。なお、処理部100に、これら全ての機能ブロ
ック110〜150を含ませる必要はなく、一部の機能
ブロックを省略する構成にしてもよい。
【0049】ここでシミュレーション演算部110は、
2次元又は3次元のシミュレーション空間(ゲーム空
間、仮想空間)の各点(狭義には格子点)での時間経過
(仮想時間の経過、実時間の経過又はフレーム進行等)
に伴う物理量(例えば速度、加速度、力、位置、温度、
電気又は磁気等)の変化をシミュレーション演算により
求め、その物理量についての流れ場(流体場、速度場、
加速度場、ベクトル場)又は該流れ場の影響を受けた仮
想場を求める。より具体的には、シミュレーション演算
部110は、流体シミュレーション演算により、2次元
又は3次元のシミュレーション空間における流れ場の変
化を示す流れ場情報(例えば速度ベクトル、加速度ベク
トル、温度変化)を求める。或いはシミュレーション演
算部110は、求められた各点での物理量(例えば速度
ベクトル)についての流れ場の情報に基づいて変化する
情報(対象物に適用するために、上記物理量についての
流れ場の情報に基づいて演算した結果であって、例えば
位置情報、速度情報、温度情報、物理量など)について
の場を、上記物理量についての場の影響を受けた仮想場
として求める。
【0050】なお、ここで、流体シミュレーションと
は、例えば外力に対して形状を変化させて流動する液体
や気体等の流体の静止状態や運動状態を、数値的にモデ
ル化して表現することをいう。
【0051】また流れ場(広義には、場)とは、上述し
た流体の静止状態や動作状態を示す物理量が空間的に分
布している領域をいう。例えば、流体シミュレーション
のシミュレーション空間を格子状に分割し、各格子点に
おける物理量を求めることで、流れ場の状態を表すこと
ができる。そして、時間経過(フレーム進行)にしたが
った流体シミュレーション演算を行うことによって、各
格子点にその位置及び時間に応じた物理量を与えること
ができ、流れ場の状態の変化を表すことができる。した
がって、流れ場の影響を受けた仮想場は、流れ場の各格
子点での物理量に基づいて演算した、同一格子点若しく
は他の格子点における情報を求めることで、表すことが
できる。
【0052】場設定部115は、シミュレーション演算
部110によって求められた流れ場又は該流れ場の影響
を受けた仮想場を、オブジェクト空間に設定する処理を
行う。
【0053】ここで、オブジェクト空間とは、例えば定
義点(ポリゴンの頂点或いは自由曲面の制御点など)に
より形状が特定されるプリミティブが配置される仮想的
な3次元空間をいう。
【0054】より具体的には、場設定部115は、求め
られた流れ場又は該流れ場の影響を受けた仮想場をオブ
ジェクト空間の任意の位置に設定したり、オブジェクト
空間に配置されるオブジェクト(広義には、プリミティ
ブ)にマッピングする。その際、場設定部115は、流
れ場のサイズ、格子状に行われる分割数、設定位置、設
定数及び形状(場若しくはグリッドの形状)のうち少な
くとも1つを変更することができるようになっている。
場設定部115は、複数の場(流れ場)又は該場の影響
を受けた仮想場をオブジェクト空間の複数の位置に設定
することができるとともに、1の場(流れ場)又は該場
の影響を受けた仮想場をオブジェクト空間の複数の位置
に設定することができる。場設定部115が設定する流
れ場又は該流れ場の影響を受けた仮想場は、2次元であ
ってもよいし、3次元であってもよい。
【0055】また、場設定部115は、一連のオブジェ
クト画像生成の処理の開始から流れ場又は該流れ場の影
響を受けた仮想場を設定するようにしてもよいし、例え
ば所与のイベントが検出されたときのみ一時的に設定す
るようにしてもよい。
【0056】プリミティブ処理部120は、シミュレー
ション演算部110によって求められた2次元の流れ場
又は該流れ場の影響を受けた仮想場を、3次元のオブジ
ェクト空間に配置されるプリミティブ(プリミティブに
より構成されるオブジェクトや、パーティクル・プリミ
ティブを含む)に反映させる処理を行う。プリミティブ
処理部120が反映させるプリミティブは、2次元のも
のであってもよいし、3次元のものであってもよい。
【0057】より具体的には、プリミティブ処理部12
0は、シミュレーション前のプリミティブに対し、シミ
ュレーション演算部110により求められた場の情報又
は該場の影響を受けた情報を用いて、プリミティブの位
置やプリミティブに関連付けられた情報(色情報、透明
度情報など)、パーティクル(パーティクル・プリミテ
ィブ)の位置やパーティクルに関連付けられた情報(寿
命、サイズ、色情報や透明度情報、密度など)を更新す
る処理を行う。これにより、プリミティブ処理部120
は、例えば、流れ場の情報としての速度ベクトルにした
がってパーティクルの位置を変化させたり、流れ場の情
報として求められた温度情報にしたがってパーティクル
の寿命や色情報等を変化させたりすることもできる。
【0058】また、プリミティブ処理部120は、流れ
場の情報を用いて、その動作若しくは状態が更新された
プリミティブに対して、ビルボード処理を行う。より具
体的には、プリミティブ処理部120は、更新されたプ
リミティブのプリミティブ面が、例えば仮想カメラ(視
線の向き、視線ベクトル)に対してほぼ垂直になるよう
に設定し、エフェクト等を表すテクスチャをマッピング
する処理を行う。
【0059】したがって、エフェクト等を表すテクスチ
ャを、更新された流れ場の流れ場情報に応じて変更する
ことによって、流体シミュレーションにより求められた
2次元の流れ場の動作若しくは状態の変化を、3次元の
オブジェクト空間における仮想カメラ(所与の視点)か
ら見たオブジェクト画像として表現することができる。
【0060】処理監視部125は、所与のイベントの発
生の有無の検出、又は処理部100において行われてい
る各種処理の負荷を監視する処理を行う。例えば、処理
監視部125によって検出されたイベントに基づき、場
設定部115により、設定される場のサイズ等の変更が
行われる。また、処理監視部125は、例えば処理部1
00において行われる処理単位で負荷を計算し、所与の
閾値以上になったときに処理負荷が高いと判別する。そ
して、例えば、処理監視部125によって処理負荷が高
いと判別されたときに、場設定部115により、設定さ
れる場のサイズ等の変更が行われる。
【0061】画像生成部140は、処理部100で行わ
れる種々の処理の結果に基づいて画像処理を行い、ゲー
ム画像を生成し、表示部190に出力する。例えば、い
わゆる3次元のゲーム画像を生成する場合には、まず座
標変換、クリッピング処理、透視変換、或いは光源計算
等のジオメトリ処理が行われ、その処理結果に基づい
て、プリミティブデータ(プリミティブの構成点(頂
点)又は制御点の位置座標、テクスチャ座標、色(輝
度)データ、法線ベクトル或いはα値等)が作成され
る。そして、このプリミティブデータ(ポリゴン、自由
曲面又はサブディビジョンサーフェス等のプリミティブ
のデータ)に基づいて、ジオメトリ処理後のオブジェク
ト(1又は複数のプリミティブ)の画像が、記憶部17
0の描画バッファ(フレームバッファ、ワークバッファ
等のピクセル単位で画像情報を記憶できるバッファ)に
描画される。これにより、オブジェクト空間内において
仮想カメラ(所与の視点)から見える画像が生成される
ようになる。
【0062】そして本実施形態では画像生成部140
が、シミュレーション演算部110により得られた流れ
場又は該流れ場の影響を受けた仮想場に基づいて画像生
成処理を行う。より具体的には、シミュレーション演算
部110によって求められた流れ場は、まず場設定部1
15によってサイズ等が適宜変更されてオブジェクト空
間内に設定される。このとき、処理監視部125の監視
結果に基づいて、流れ場のサイズや位置等を決めるよう
にしてもよい。そして、プリミティブ処理部120によ
り流れ場又は該流れ場の影響を受けた仮想場を反映させ
たプリミティブ(テクスチャをマッピングされたプリミ
ティブを含む)を用いて、画像生成部140が不定形物
(水、雲、霧、煙、気流、電磁波又は炎等)の画像を生
成する処理を行う。例えば、求められた流れ場の各点
(格子点)を起点とした速度ベクトルの方向にパーティ
クルを発生させたり、求められた流れ場の各点の温度分
布の変化に対応したテクスチャがマッピングされたプリ
ミティブの画像を生成する。また、例えば、オブジェク
ト空間に配置されたオブジェクトにマッピングされた場
の各点(格子点)の状態を反映させたオブジェクトの画
像を生成する。
【0063】音生成部150は、ゲーム処理の結果にし
たがって各種の音処理を行い、BGM、効果音、又は音
声などの音を生成し、音出力部192に出力する。
【0064】なお、シミュレーション演算部110、場
設定部115、プリミティブ処理部120、処理監視部
125、画像生成部140、音生成部150の機能は、
その全てをハードウェアにより実現してもよいし、その
全てをプログラムにより実現してもよい。或いは、ハー
ドウェアとプログラムの両方により実現してもよい。
【0065】なお、本実施形態の画像生成システムは、
1人のプレーヤのみがプレイできるシングルプレーヤモ
ード専用のシステムにしてもよいし、このようなシング
ルプレーヤモードのみならず、複数のプレーヤがプレイ
できるマルチプレーヤモードも備えるシステムにしても
よい。
【0066】また複数のプレーヤがプレイする場合に、
これらの複数のプレーヤに提供するゲーム画像やゲーム
音を、1つの端末を用いて生成してもよいし、ネットワ
ーク(伝送ライン、通信回線)などで接続された複数の
端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0067】2. 本実施形態の特徴 次に本実施形態の特徴について図面を用いて説明する。
なお、以下では流れ場(流速場、速度場、流体場、ベク
トル場)を用いて流体シミュレーション演算を行う場合
について主に例にとり説明する。しかしながら、流れ場
に限定されることなく、流体表現以外の種々の場を反映
させた画像表現に適用することができる。
【0068】2.1 流れ場 本実施形態では、例えばオブジェクト空間に配置された
プリミティブ(パーティクル・プリミティブを含む)の
動作に流体シミュレーションの演算結果を反映させた画
像を生成する。
【0069】流体シミュレーションは、3次元空間で計
算を行った場合、計算量が膨大となるため、インタラク
ティブに発生する外因を反映させた画像の生成をリアル
タイム処理することは困難である。ここで、リアルタイ
ム処理とは、例えばゲーム処理、画像生成処理、音生成
処理などの全ての処理を、1フレーム(1/60秒、1
/30秒)以内に完了させることをいう。
【0070】そこで本実施形態では、奥行きを考慮しな
い2次元平面において流体シミュレーションを行って流
れ場又は該流れ場の影響を受けた仮想場を求め(流れ場
の情報又は該流れ場の影響を受けた情報を求め)、この
流れ場の情報又は該流れ場の影響を受けた情報を3次元
のオブジェクト空間に適用することで処理負荷を軽減
し、リアルタイム処理を可能としている。
【0071】また、この流れ場又は該流れ場の影響を受
けた仮想場を、オブジェクト空間の全てを網羅するよう
に設定すると、シミュレーション空間が大きくなって、
リアルタイム処理が不可能となる。
【0072】そこで、本実施形態では、流体シミュレー
ションによる不定形の画像の表現が必要な場所にのみ流
れ場又は該流れ場の影響を受けた仮想場をマッピング
(流れ場の情報又は該流れ場の影響を受けた情報をマッ
ピング)して、流体シミュレーションによる処理負荷を
軽減する。なお、流れ場又は該流れ場の影響を受けた仮
想場をマッピングするとは、流れ場の情報又は該流れ場
の影響を受けた情報をマッピングすることと同義とする
ことができる。
【0073】さらにまた、上述したような流れ場を反映
させた画像を生成する必要がない場合にも、各フレーム
において流体シミュレーションを行うのは効率的ではな
い。流れ場を反映させた画像を生成する必要がない場合
に、その分の処理負荷を他の処理に割り当てられること
が望ましい。
【0074】そこで、本実施形態では、オブジェクト空
間に設定される流れ場のサイズ、分割数、設定位置、設
定数及び形状のうち少なくとも1つが可変となるように
している。
【0075】これにより、流れ場に基づいて生成される
リアルな画像の表現性を損なうことなくインタラクティ
ブに発生する外因を反映させて、流れ場中のオブジェク
トの構成点、自由曲面の構成点又は制御点、又はパーテ
ィクル等の位置や状態を変化させることができるので、
これまでにないオブジェクトの移動、状態変化(変形を
含む)等を表現することができるようになる。
【0076】流れ場(広義には、場。以下の説明でも同
様)は、シミュレーション空間(ゲーム空間、仮想空
間)を格子状に適当な数に分割して生成される。流体シ
ミュレーション演算(広義には、シミュレーション演
算。以下の説明でも同様)によって時間経過(フレーム
進行)に伴って変化する各格子点(広義には、各点。以
下の説明でも同様)における流れ場情報(例えば速度ベ
クトル)を求め、場の情報を更新する。
【0077】流体シミュレーションは、所与の境界条件
のもと、求める物理量が時間的、空間的に連続性を有
し、与えられた外力(外因)の影響を直接的、間接的に
流れ場の全格子点に及ぼすことができるような所与の計
算式によって行われる。例えば水や空気のように連続体
の運動をシミュレーションする際には、非圧縮性のNavi
er-Stokes方程式等を用いて流れ場の演算を行うことが
できる。
【0078】次に、流体シミュレーション(流体力学計
算)を行う際の手順について説明する。
【0079】流体をシミュレートする空間(流れ場)
の、ある瞬間(例えばあるフレーム)における状態を設
定した後、Navier-Stokes方程式等を解くことで、次の
瞬間(次のフレーム)における流れ場の状態が求まる。
【0080】図2に、流体演算を行う際の手順について
説明するための模式的な図を示す。また、図3に、流体
シミュレーション計算を行う際の手順について説明する
ためのフローチャートを示す。
【0081】図2のA1は、ある瞬間における流れ場H
Fの状態を模式的に表したものであり、図2のA2は、
次の瞬間における流れ場HFの状態を模式的に表したも
のである。図2において、流れ場HFの状態は、ある時
点での各格子点(GP1,GP2,GP3・・・)に設
定された速度ベクトル(FV1,FV2,FV3・・
・)で表すことができる。
【0082】なお、図2では見た目をわかり易くするた
めに、流れ場HFを2次元的に表しているが、流れ場は
3次元であってもよい。また図2では、各格子点(GP
1,GP2,GP3・・・)と速度ベクトル(FV1,
FV2,FV3・・・)の始点をずらしているが、これ
らは一致していてもよい。
【0083】図2のA1の状態からA2の状態を求める
場合、図3に示すような手順で流体演算(流体力学計
算)を行う。
【0084】まず、シミュレーション空間の各格子点
(グリッド点)に対して、ある瞬間(フレーム「N−
1」)における流れ場情報(例えば速度ベクトル)を設
定する(ステップS1。図2のA1参照。)。即ち、流
体シミュレーションの初期条件を設定する。
【0085】次に、各格子点に設定された流れ場情報に
基づき、流体演算を行う(ステップS2)。
【0086】そして、流体演算により求まった各格子点
の流れ場情報が、次の瞬間(フレーム「N」)の流れ場
を表す流れ場情報(各格子点の情報)になる(ステップ
S3。図2のA2参照)。
【0087】それ以降は、ステップS3で得られた各格
子点の流れ場情報を、ステップS1での各格子点の流れ
場情報(流体シミュレーションの初期条件)に設定し
て、再びステップS2の流体演算を再帰的に行うこと
で、流れ場を状態変化させることができる。
【0088】なお、初期条件(ステップS1)は基本的
に自由に設定できるため、任意の時間に任意の点に対し
て外力(例えば速度ベクトル)を加えることも可能であ
る。
【0089】外力を流れ場に反映させるためには、対応
する格子点(例えば外力が加わった位置に近い格子点)
に対して、外力に対応した流れ場情報(例えば外力が速
度ベクトルの場合は、外力に対応した大きさ及び方向を
もつ速度ベクトル)を与えればよい。
【0090】図4(A)、(B)、(C)に、流れ場H
Fに対して、外力に対応した速度ベクトルEFVを与え
た場合の場の状態変化を模式的に表した図を示す。
【0091】なお、図4(A)、(B)、(C)では見
た目をわかり易くするために、格子点と速度ベクトルの
始点をずらしているが、これらが一致していてもよい。
【0092】例えば、図4(A)のような流れ場HFに
対して、図4(B)のように外力に対応した速度ベクト
ルEFVを与えれば、流体演算の後、図4(C)のよう
な流れ場HFを得ることができる。
【0093】ここで、外力を流体シミュレーションに反
映させる手法としては、例えば外力の方向及び大きさに
応じて得られる速度ベクトルEFVを、外力の加わった
位置の最寄りの格子点に初期条件として与える手法を考
えることができる。或いは、外力の大きさ及び方向に得
られる速度ベクトルEFVを、外力の加わった位置の周
囲の格子点GP13、GP14、GP18、GP19に
対して分散して初期条件として与えてもよい。
【0094】このように外力を流れ場に与えることによ
って、流体演算が行われるシミュレーション空間にイン
タラクティブ性を持たせることが可能となる。
【0095】次に流れ場を設定する際の境界条件につい
て説明する。ここで、シミュレーションする空間の境界
での流れ場情報(例えば速度ベクトル)の与え方を境界
条件と呼ぶ。
【0096】境界条件は、流体シミュレーションを行う
上で非常に重要な要素であり、この値の与え方を変える
だけで、仮想的に流体の様々な振る舞いを再現できる。
【0097】例えば、下端の境界における速度ベクトル
の方向を下向きに設定すれば、上から下へ流れる川の水
のような動きになる流体を仮想的に表現することができ
る。
【0098】また、境界での値を全て0に設定すれば、
風呂場の湯船の水面のように閉じた空間での流体の動き
を仮想的に表現でき、流体が渦を巻く様子を表現でき
る。
【0099】例えば図5に示すように、下端での境界条
件として、上向に吹き出すような速度ベクトルを設定す
れば、常に下から上へと気体が流れる状態の場を生成す
ることができる。
【0100】この状態で放置しておけば、しばらくする
と定常的な流れとなり、流体シミュレーションを行うメ
リットは薄れる。しかしながら、流体シミュレーション
を利用すれば、「風を送る」といったような外因が加わ
った流れ場の影響を手軽に表現することができる。
【0101】2.2 Navier-Stokes方程式を用いた流
体シミュレーション 水や空気のような連続体の運動を支配する方程式はNavi
er-Stokes方程式と呼ばれる。流体の流れが音速に比べ
て十分小さい場合は非圧縮性を仮定してよく、この場合
のNavier-Stokes方程式は以下のようになる。
【0102】
【数1】
【0103】ここで、Vは流速、pは圧力、ρは密度、
μは流体の粘性率である。また、∇は勾配演算子、Δは
ラプラシアンを表す。
【0104】これらの方程式を差分化することで各格子
点における解を数値的に得ることができる。差分化によ
って解析を行う空間を流れ場(流体場、ベクトル場)と
して格子状に分割し、各格子点にそれぞれ流れ場情報
(例えば速度ベクトル)を持たせて計算を行う。
【0105】以下、差分化する手法の一例について具体
的に説明する。
【0106】(E1)は質量保存則を表す偏微分方程式
であり、「連続の式」と呼ばれる。また、(E2)は運
動量保存則を表し、(狭義の)Navier-Stokes方程式と
呼ばれる。
【0107】この式において、流れの代表的な長さを
L、代表的な速度をUとして以下のようにおく。
【0108】
【数2】
【0109】これらを(E1)、(E2)に代入すると
以下の式が導かれる。
【0110】
【数3】
【0111】またReはReynolds数と呼ばれ以下の式で
定義される無次元のパラメータである。
【0112】
【数4】
【0113】この方程式に現れるパラメータはただひと
つであり、外力が働かない場合、流れはReynolds数に応
じて変化する。
【0114】その定義から、流速が小さいこと、流れの
スケールが小さいこと、粘性が大きいことは、すべてRe
ynolds数を小さくするという意味で同じ効果をもつ。Re
ynolds数は、物理的には慣性力と粘性力の比を表し、Re
ynolds数が小さいことは、粘性力が慣性力より卓越する
ことを意味する。すなわち、直感的には粘い流体の流れ
となる。
【0115】(E1)´、(E2)´の変数をあらため
てx、V、t、pと置きなおすことにより以下の式が得
られる。
【0116】
【数5】
【0117】(E3)、(E4)の式は、以下の(1)
〜(3)のような特徴を表している。 (1)式(E4)の左辺第2項が非線形であること。 (2)最高階の微係数は式(E4)の右辺第2項の2階
でありさらにパラメータを含んでいること。 (3)速度Vについては時間発展型になっているが圧力
pについては時間発展型になっていないこと。
【0118】特に、(3)は非圧縮性特有の問題であ
り、Navier-Stokes方程式の数値解法を困難にしている
要因である。つまり、速度Vを時間発展的に求める場
合、各時間ステップで連続の式(E3)を満たすよう
に、圧力pを決める必要がある。
【0119】非圧縮性Navier-Stokes方程式を数値的に
解く方法として、圧力を独立に求める方法を採用すると
以下のようになる。
【0120】式(E4)において、両辺の発散をとる
と、
【0121】
【数6】
【0122】D=∇・Vとおくと以下のようになる。
【0123】
【数7】
【0124】連続の式(E3)によれば、D=0となる
はずであるが、(E5)を差分化して解く際、離散化誤
差が集積してDが大きな値となることがあるので、わざ
と残してある。さて、(E5)において、D=0として
求めた圧力分布は以下の式を満たす。
【0125】
【数8】
【0126】ただし、(E6)は必ずしもD=0を意味
しない。それは、D=定数(≠0)が(E6)を満たす
ことからもわかる。境界上で常にD=0が満足され、さ
らに領域内すべてでD=0を満足するように初期条件が
与えられれば式(E6)はD=0を意味するが、これら
の条件を満たすのは困難である。
【0127】そこで、まず式(E5)をtについて離散
化する。
【0128】
【数9】
【0129】ここでDn+1=0とおくと、(E5)は以
下のようになる。
【0130】
【数10】
【0131】このようにして求まるpはDn≠0であっ
ても、Dn+1=0となるように決めているため、境界条
件の不正確さや時間進行による誤差集積に対して常にD
を小さな値にとどめておくことができる。
【0132】式(E7)から圧力が決まれば、式(E
4)に圧力を代入することにより、Vを時間発展的に求
めることが可能になる。この方法は一般に、MAC法と
呼ばれる。
【0133】また、(E7)において、Δtは十分小さ
いため、α=0と、みなすことができる。
【0134】従って、非圧縮性Navier-Stokes方程式を
解くためには、以下の2式を解くことになる。
【0135】
【数11】
【0136】2次元のデカルト座標系として、(E
8)、(E9)を成分表示すると以下のようになる。
【0137】
【数12】
【0138】式(E10)は圧力に関するPoisson方程
式である。
【0139】また、式(E11)、(E12)に関して
は、それぞれの非線型項uux+vuy,uvx+vvy
対し以下の式を用いることができる。
【0140】
【数13】
【0141】以下、計算の一例としてキャビティ問題を
とりあげる。
【0142】図6(A)、(B)、(C)は具体的な計
算例について説明する際に用いる図である。
【0143】ここでいうキャビティ問題とは、図6
(A)のような正方形領域を満たしている流体を考え、
DC上を速度1で右方向に移動させた際の、内部の流体
の動きを数値的に求めることである。
【0144】まず、速度の境界条件を考えると、AD、
AB、BC上において、u=v=0であり、CD上にお
いて、u=1,v=0である。
【0145】次に、圧力の境界条件を考える。
【0146】式(E9)において、粘性項を除いてV=
0を代入すると以下の式が成り立つ。
【0147】
【数14】
【0148】この式は、AD、BC上ではy方向に沿っ
てu=0であるから以下の式が成り立つ。
【0149】
【数15】
【0150】また、AB、CD上ではx方向に沿ってv
=0であるから以下の式が成り立つ。
【0151】
【数16】
【0152】ここで差分化に際して、スタガード格子と
呼ばれる格子を用いている。これは、図6(B)に示す
ように、個々の物理量の定義が同一でないもので、これ
とは逆に、全ての物理量が同一の点で定義される格子は
レギュラー格子と呼ばれる。
【0153】図6(B)からわかるように、スタガード
格子の利点として、1つの格子セルで連続の式が自然に
表現でき、「各方向の圧力勾配がその方向の速度を決め
る」というNavier-Stokes方程式の性質が自然に表現で
きる、といった点が挙げられる。
【0154】具体的に図6(B)のセルにおいて連続の
式を近似すると以下の式が成り立つ。
【0155】
【数17】
【0156】スタガード格子を用いてNavier-Stokes方
程式を解く場合の注意点として、例えばuに対する方程
式を考えると、方程式中に以下の項が現れる。
【0157】
【数18】
【0158】この項中のvは本来であればuの定義点に
おける値をとるべきであるが、スタガード格子を用いた
場合、その点ではvの値が定義されていない。従って、
vの定義点から何らかの方法で値を決定する必要があ
る。ここでは、まわりの点の平均値によって定めた。
【0159】すなわち、先の例の場合以下のようにな
る。
【0160】
【数19】
【0161】vに関する方程式についても同様である。
【0162】また、圧力に関するPoisson方程式(E1
0)の右辺に関しても同様の処理を行うものとする。
【0163】これでNavier-Stokes方程式を解くために
必要な条件が揃ったことになるので、後は(E10)、
(E11)、(E12)を差分化して計算すれば良い。
【0164】念のため、以下に差分化した結果を示して
おく。
【0165】
【数20】
【0166】なお、いずれの式も上添え字のnは省略し
てある。
【0167】方程式を解く際の手順であるが、速度の初
期条件あるいは、前の時間ステップにおける速度から
(F1)のPoisson方程式を解いて圧力を求め、その圧
力と速度を用いることで(F2)、(F3)を解き、次
の時間ステップでの速度を求める。この手順を繰り返す
ことで、解を時間発展的に求めることが可能になる。
【0168】本実施形態では流れ場(流体場、ベクトル
場)を構成する各格子点ごとに、(F1)〜(F3)を
解いて、各格子点に与える速度ベクトルを求める。
【0169】ここで(F1)は圧力を求める方程式であ
り、(F2)はx方向の速度を求める方程式であり、
(F3)はy方向の速度を求める方程式である。また
i、jはそれそれ2次元流れ場(流体場、ベクトル場)
における各格子点のx、y座標を表す添え字である。ま
たuの上添え字のn+1は、次の瞬間のuの値を意味し
ている。
【0170】本実施形態では、外因に基づき流れ場に対
して与えられる速度ベクトルを流体シミュレーション演
算に反映させる場合には、(F2)式のuijとして前記
速度ベクトルのx成分を用い、(F3)式のvijして前
記速度ベクトルのy成分を用いるとよい。
【0171】最後に、境界条件について述べる。
【0172】速度の境界条件については、壁面を図6
(C)に示すような位置にとると、u W=0となる。
【0173】圧力の境界条件については、例えば仮想点
Pエにおける圧力をp´とすると、式(E14)から、
以下のようになる。
【0174】
【数21】
【0175】また、速度の2階微分は図の点Wにおいて
評価する必要があるが、1次精度の片側差分で近似する
と以下のようになる。
【0176】
【数22】
【0177】中心差分で近似するときは仮想点Aにおけ
るuの値が必要となるが、この場合はuA=uBととる。
また、vに関して仮想点での値が必要な時はvD=−vE
ととる。(このとき、vWをまわりの4点の平均とする
と、vW=0が成り立つ。) 2.3 2次元の流れ場の3次元への適用 上述したように、本実施形態では、流体シミュレーショ
ンにより求められた2次元の流れ場の情報又は該流れ場
の影響を受けた情報に基づいて、位置や状態(色(輝
度)、透明度などのプリミティブに付随(関連)する情
報)が制御されたプリミティブ(パーティクルシステム
を構成するパーティクル・プリミティブを含む)を、3
次元のオブジェクト空間に配置する。
【0178】図7に、本実施形態における2次元の流れ
場と3次元のオブジェクト空間との関係を模式的に示
す。
【0179】すなわち、本実施形態では、Navier-Stoke
s方程式を用いた流体シミュレーションにより得られた
2次元の流れ場HFの情報として各格子点について求め
られた流れ場情報(例えば速度ベクトル)又は該流れ場
の影響を受けた情報を用いて、プリミティブ(オブジェ
クトの構成点及び制御点を含む)の位置や、プリミティ
ブに関連付けられる情報(例えば、色(輝度)、α値
等)を求めて、該プリミティブに反映させる。そして、
このように求められたプリミティブを、3次元のオブジ
ェクト空間に配置して、所与の視点(仮想カメラ)VC
から見えるオブジェクト画像を生成する。
【0180】より具体的には、流れ場の情報又は該流れ
場の影響を受けた情報を用いて、例えば流れ場HFの中
のオブジェクトの構成点の位置、色、又は透明度を変化
させたり、オブジェクトの制御点(例えば、NURBS
の制御点)に関連付けられた情報である重みを変化させ
たりする。
【0181】これにより、炎等の自然現象をリアルに表
現するための流体計算の負荷を軽減し、インタラクティ
ブに発生する外因(例えば、外力に対応した速度ベクト
ルEFV)を反映させた画像をリアルタイムで生成する
ことができるようになる。
【0182】なお、実際の流れ場は、図2、図4、図5
で説明したように格子状に分割され、各格子点ごとに流
れ場の情報(速度ベクトル)を有しているが、説明の都
合上特に問題のない場合には見やすくするために流れ場
に生じた流れのみを模式的に図示することにとどめてい
る。
【0183】図8に、上述した2次元の流れ場を、焚き
火の炎の表現に適用した場合のオブジェクト画像の一例
を示す。
【0184】ここでは、パーティクルシステムにより焚
き火の炎を表現する場合について示している。このよう
に、焚き火の中心から発生させたパーティクルPTを、
2次元の流れ場HFの中で位置や状態を更新し、このパ
ーティクルPTに炎の画像をテクスチャとしてマッピン
グして表示させることで、炎がめらめらと燃える様子を
表現することが可能となる。
【0185】この場合、インタラクティブに発生する外
因の発生位置を焚き火の火の中心とし、外因としての外
力に対応した速度ベクトルの向きを上向きとすること
で、外因の発生位置から発生したパーティクルの位置が
流れ場の状態を参照して次第に拡散し、パーティクルに
付随する情報(色やα値)が流れ場の状態を参照して次
第に変化して、よりリアルな炎を表現する。
【0186】また、このような流れ場又は該流れ場の影
響を受けた仮想場を、プリミティブの構成点又は制御点
の位置に反映させることによって、プリミティブを変形
させることも可能となる。さらに、流れ場又は該流れ場
の影響を受けた仮想場を、プリミティブの構成点に関連
付けられる情報(例えば、色情報、透明度情報など)や
プリミティブの制御点に関連付けられる情報(例えば、
重み付けなど)に反映させることで、流体シミュレーシ
ョンにしたがった色変化や透明度変化を表現し、これま
で表現できなかった画像変化が可能となる。
【0187】さらに、インタラクティブに発生した外因
の影響を受けた流れ場HFの情報又は該流れ場の影響を
受けた情報に基づいて、プリミティブの法線ベクトルの
向きや大きさを変化させたプリミティブに関連付けられ
た法線ベクトルを得るようにしてもよい。このようなプ
リミティブに関連付けられた法線ベクトルを用いてオブ
ジェクトのシェーディングを行う場合、外因に応じてシ
ェーディングが変化する画像を生成することができる。
【0188】さらにまた、プリミティブの位置及び状態
の変化を3次元のオブジェクト空間に反映させるため
に、2次元の流れ場を反映させるプリミティブ(パーテ
ィクル・プリミティブ)の位置にスプライトポリゴン
(広義には、プリミティブ面)を配置するようにしても
よい。
【0189】ここで、スプライトポリゴンは、ビルボー
ド処理されたポリゴンである。また、ビルボード処理と
は、常に仮想カメラの向きに正対するように処理するこ
とをいう。
【0190】これにより、仮想カメラの位置を変えても
常に仮想カメラの向きに正対する2次元平面(流れ場)
上を、プリミティブが移動し、このプリミティブの位置
にビルボード処理されたスプライトポリゴンが配置され
る。したがって、ポリゴン数の削減と、テクスチャマッ
ピングとにより、描画処理の負荷の軽減を図ることがで
きる。
【0191】2.4 2次元の流れ場の3次元オブジェ
クトへのマッピング また本実施形態では、流体シミュレーションにより求め
られた流れ場又は該流れ場の影響を受けた仮想場がマッ
ピングされたオブジェクトに関連付けられた位置(例え
ば、オブジェクトの周囲や表面等であって、流れ場の影
響を受ける位置)で、流れ場内のプリミティブ(パーテ
ィクルシステムを構成するパーティクル・プリミティブ
を含む)(広義には、別プリミティブ)に流体動作を反
映させた画像を生成する。
【0192】なお、マッピングする流れ場又は該流れ場
の影響を受けた仮想場は、2次元のものでも3次元のも
のでもよいが、2次元の場合には、上述したようにその
分処理負荷を軽減することができる。また、流れ場又は
該流れ場の影響を受けた仮想場がマッピングされるオブ
ジェクトは、2次元のものであってもよいし、3次元の
ものであってもよい。
【0193】図9に、本実施形態において、オブジェク
トにマッピングされる場を模式的に示す。
【0194】ここでは、2次元の流れ場HFを、3次元
のオブジェクトにマッピングする場合について示してい
る。
【0195】本実施形態では、上述したNavier-Stokes
方程式を用いた流体シミュレーションにより求められた
流れ場HFを、オブジェクト空間に配置されたオブジェ
クトOBJにマッピングする。
【0196】流れ場HFは、例えば格子状に分割された
各格子点の位置における流れ場情報(例えば速度ベクト
ル)を、Navier-Stokes方程式を用いた流体シミュレー
ション演算により求めることで、得ることができる。
【0197】したがって、このようにして得られた流れ
場HFを、例えばオブジェクトOBJの表面にマッピン
グすることで、流れ場HF内のプリミティブの位置の変
化や、プリミティブに関連付けられる情報としての色情
報、透明度情報などによるプリミティブの状態の変化
に、流体の動作を反映させることができる。すなわち、
流れ場HF内のプリミティブの位置及び状態を、流体シ
ミュレーションにしたがって制御することができる。
【0198】例えば人間の腕を流れ落ちる汗を表現する
場合、腕オブジェクトの表面に流れ場HFをマッピング
し、腕オブジェクトの表面の汗オブジェクトの位置及び
状態を流体シミュレーションにしたがって制御すること
により、リアルに表現することができる。また、例えば
車のフロントガラスを流れ落ちる水滴を表現する場合、
フロントガラスオブジェクトの表面に流れ場HFをマッ
ピングし、フロントガラスオブジェクトの表面の水滴オ
ブジェクトの位置及び状態を流体シミュレーションにし
たがって制御することで、リアルに表現することができ
る。
【0199】なお、流れ場の影響を受けた仮想場につい
ても同様にマッピングすることで、オブジェクトに反映
させることができる。
【0200】また、例えば、流れ場HFをUVマッピン
グによりオブジェクトOBJの表面にマッピングした場
合、オブジェクトOBJの形状が変化した場合にもその
表面に流れ場HFの情報をマッピングすることができる
ので、オブジェクトOBJの表面の形状にかかわらず、
プリミティブの位置又は状態を、流体シミュレーション
にしたがって制御することができる。
【0201】図10に、本実施形態において、オブジェ
クトOBJ1に対して行われる2次元の流れ場HFのU
Vマッピングについて説明するための図を示す。
【0202】ここで、オブジェクトOBJ1の頂点座標
が(X,Y)=(0,0),(Xmax,0),(0,
Ymax),(Xmax,Ymax)であるものとす
る。このようなオブジェクトOBJ1に対して、UVマ
ッピングする流れ場HFの頂点座標を(U,V)=
(0,0),(1,0),(0,1),(1,1)とす
る。
【0203】UVマッピングでは、例えばオブジェクト
OBJ1の各頂点に、流れ場HFの各頂点が対応付けら
れる。すなわち、オブジェクトOBJ1の頂点座標
(X,Y)=(0,0)に流れ場HFの頂点座標(U,
V)=(0,0)を、オブジェクトOBJ1の頂点座標
(X,Y)=(Xmax,0)に流れ場HFの頂点座標
(U,V)=(1,0)を、オブジェクトOBJ1の頂
点座標(X,Y)=(0,Ymax)に流れ場HFの頂
点座標(U,V)=(0,1)を、オブジェクトOBJ
1の頂点座標(X,Y)=(Xmax,Ymax)に流
れ場HFの頂点座標(U,V)=(1,1)を、それぞ
れコーディネートする。
【0204】こうすることで、オブジェクトOBJ1を
描画する際、オブジェクトOBJ1の各点が流れ場HF
のどの位置を参照しているかを求めることができるの
で、各点の流れ場情報として速度ベクトルが求められて
いる場合には、流れ場HFの格子点GPの速度ベクトル
を、オブジェクトOBJ1表面の対応位置GP´の速度
ベクトルとすることができる。これにより、オブジェク
トOBJ1表面上のプリミティブの位置又は状態を変化
させることができる。
【0205】図11に、オブジェクト表面に流れ場HF
がマッピングされたオブジェクト画像の一例を示す。
【0206】ここでは、オブジェクト空間にオブジェク
トOBJ2、OBJ3が配置され、それぞれ表面に流れ
場HFがUVマッピングによりマッピングされている。
図11では、流れ場の格子点ごとに求められた速度ベク
トルを矢印で示している。
【0207】このように、マッピング対象のオブジェク
トの表面に流れ場HFをマッピングすることができるの
で、オブジェクト表面上のプリミティブの位置及び状態
を、Navier-Stokes方程式にしたがって求められた流れ
場情報に基づいて変化させて表現することができる。
【0208】以上のように、オブジェクト空間に配置さ
れるオブジェクトの任意の位置に流れ場HF又は該流れ
場の影響を受けた仮想場を配置することができる。した
がって、流体シミュレーションによる不定形の画像の表
現が必要な場所にのみ、マッピングすればよいので、流
体シミュレーションによる処理負荷を軽減することがで
きる。また、オブジェクトの表面において、流体動作を
反映させたプリミティブの位置若しくは状態を変化させ
ることができ、これまでにないリアルな画像を生成する
ことができるようになる。
【0209】2.4.1 マッピングされた流れ場にお
ける動作 本実施形態において、オブジェクトに流れ場HF又は該
流れ場の影響を受けた仮想場をマッピングすることによ
って、以下に述べるような表現を行うことができる。以
下では、流れ場をマッピングする場合について説明する
が、該流れ場の影響を受けた仮想場をマッピングする場
合でも同様の表現が可能である。
【0210】例えば、流れ場HFがマッピングされたオ
ブジェクトに関連付けられた法線ベクトルの向きや大き
さ、オブジェクトの頂点情報(色情報、透明度情報、位
置情報)を変化させることができる。
【0211】図12(A)、(B)に、本実施形態にお
ける流れ場HFがマッピングされたオブジェクトに関連
付けられた法線ベクトルを、流れ場HFの情報に基づい
て変化させる場合について説明するための図を示す。
【0212】オブジェクトの表面に流れ場HFがマッピ
ングされ、図12(A)に示すように格子点GPO1〜
GPO4に、流れ場情報として速度ベクトルVV1〜V
V4が求められているものとする。
【0213】例えば、流れ場HFの格子点GPO1〜G
PO4とオブジェクトの各頂点が一致している場合に
は、オブジェクトに関連付けられた法線ベクトルNVO
1〜NVO4の大きさを、速度ベクトルVV1〜VV4
の大きさに応じて変化させるようにしてもよい。また、
流れ場HFの格子点GPO1〜GPO4とオブジェクト
の各頂点が一致してない場合でも、オブジェクトに関連
付けられた法線ベクトルNVO1〜NVO4の大きさ
を、速度ベクトルVV1〜VV4の大きさの比で変化さ
せるようにしてもよい。
【0214】或いは、オブジェクトに関連付けられた法
線ベクトルNVO1〜NVO4の向きを、速度ベクトル
VV1〜VV4の向きに応じて変化させて、オブジェク
トに関連付けられた法線ベクトルNVO1´〜NVO4
´を生成するようにしてもよい。
【0215】これにより、このようなオブジェクトに関
連付けられた法線ベクトルNVO1´〜NVO4´を用
いてオブジェクトのシェーディングを行う場合、これま
でにないオブジェクトの表面のシェーディングが変化す
る画像を生成することができる。また、うねる地面の形
状の地面オブジェクトの表面に、法線ベクトルの方向に
草が生えている場合には、外因として加えられた風若し
くは突風などによりオブジェクトに関連付けられた法線
ベクトルNVO1´〜NVO4´が生成さされる。した
がって、このオブジェクトに関連付けられた法線ベクト
ルNVO1´〜NVO4´を用いて、風になびく草むら
を表現するといったことも可能となる。
【0216】図13(A)、(B)に、本実施形態にお
ける流れ場HFがマッピングされたオブジェクトの頂点
の位置を、流れ場HFの情報に基づいて変化させる場合
について説明するための図を示す。
【0217】オブジェクトの表面に流れ場HFがマッピ
ングされ、図13(A)に示すように格子点(頂点)G
PO1〜GPO4に、流れ場情報として速度ベクトルV
V1〜VV4が求められているものとする。
【0218】この場合、オブジェクトの格子点GPO1
〜GPO4の位置を、流れ場情報として速度ベクトルV
V1〜VV4の向き又は大きさに応じて変化させるよう
にしてもよい。また、格子点GPO1〜GPO4の位置
を、速度ベクトルのVV1〜VV4の向きと大きさに応
じて変化させるようにしてもよい。
【0219】また、流れ場HFの格子点GPO1〜GP
O4とオブジェクトの各頂点が一致してない場合でも、
オブジェクトの頂点の位置を、速度ベクトルVV1〜V
V4の向きの比で変化させるようにしてもよい。或い
は、オブジェクトの頂点の位置を、速度ベクトルVV1
〜VV4の大きさの比に応じて変化させるようにしても
よい。
【0220】これにより、流体シミュレーションにした
がって、流れ場HF(又は該流れ場の影響を受けた仮想
場)がマッピングされたオブジェクト自体を変形するこ
とができるようになり、これまでにないオブジェクトの
変形画像を生成することができる。また、インタラクテ
ィブに発生する外因の影響を反映させたオブジェクトの
変形画像を、リアルタイムに生成することができるよう
になる。
【0221】図14(A)、(B)に、本実施形態にお
ける流れ場HFがマッピングされたオブジェクトの表面
から発生したパーティクルを、流れ場HFの情報に基づ
いて変化させる場合について説明するための図を示す。
【0222】オブジェクトの表面に流れ場HFがマッピ
ングされ、図14(A)に示すように格子点GPO1〜
GPO4に、流れ場情報として速度ベクトルVV1〜V
V4が求められているものとする。
【0223】例えば、流れ場HF内で発生させたパーテ
ィクルPTの位置を、各格子点PO1〜GPO4の速度
ベクトルVV1〜VV4にしたがって、変化させるよう
にしてもよい。また、パーティクルPTの色情報又は透
明度情報などのパーティクルPTに関連付けられる情報
(例えば、寿命、色情報、透明度情報)を、各格子点P
O1〜PO4の速度ベクトルVV1〜VV4にしたがっ
て変化させるようにしてもよい。
【0224】これにより、オブジェクト表面から、流体
シミュレーションに対応した位置や状態が変化するパー
ティクルを発生させることができ、埃や粉のまきあげと
いった現象をよりリアルに表現することができる。
【0225】2.4.2 イベント発生によるマッピン
グ 本実施形態では、オブジェクト空間に設定された流れ場
の中に配置されたプリミティブ(オブジェクト)に関連
して発生した所与のイベント発生時に、上述した流れ場
をオブジェクトにマッピングするようにしている。
【0226】ここで、プリミティブに関連して発生した
イベントとは、例えば場面の切り替えといったゲーム進
行の一連のストーリの中で発生するものに限らず、リア
ルタイムで処理されるゲーム処理中にプリミティブに対
して直接的又は間接的に外因(外力)として加えられる
ものも含む。こうすることで、流体シミュレーションの
計算が必要最小限で済むので、処理負荷の軽減を図るこ
とができる。
【0227】図15に、イベント発生による流れ場のマ
ッピングについて説明するための図を示す。
【0228】ここでは、進行方向に進む車オブジェクト
COBJのフロントガラスFGに流れる水滴オブジェク
トWOBJを表現する場合について説明する。
【0229】例えば、車オブジェクトCOBJが進行方
向に進むときの外力(例えば、他の水滴の衝突や風圧の
表現)EFを反映させて、流体シミュレーションにより
得られた流れ場HFを用いて、フロントガラスFG上を
下から上に流れる水滴オブジェクトWOBJの移動を表
現することができる。また、車オブジェクトCOBJが
急停車や急発進したときは、これに対応する外力を与え
ることで、水滴オブジェクトWOBJが一斉に落ちるよ
うな表現をすることができる。
【0230】さらに、ヒットチェック処理を行って、ヒ
ットしたことをイベントとして検出するようにしてもよ
い。このとき、与えられた外因(風向きや遠心力に対応
する流れ場情報)を反映させた流れ場HFにより、位置
や状態が変化する水滴オブジェクトWOBJが、フロン
トガラスFGに配置される。
【0231】これにより、車オブジェクトCOBJが進
行方向に進むときの外力(例えば、他の水滴の衝突や風
圧の表現)EFとともに、車オブジェクトCOBJが進
行方向に対して左右に進むときの慣性力に対応する向き
にベクトルを与えることができ、フロントガラスFG上
を移動する水滴オブジェクトWOBJをリアルに表現す
ることができる。
【0232】そのため本実施形態では、2次元の流れ場
HF(又は該流れ場の影響を受けた仮想場)において、
所与のイベント発生位置に対応するグリッドに、外力E
Fに対応した速度ベクトルEFVを加味した流体シミュ
レーションを行って流れ場HFを更新する。そして、更
新された流れ場HFの各格子点の速度ベクトルを用い
て、水滴オブジェクトWOBJのフロントガラスFGの
表面上での位置を変化させる。
【0233】このように、検出したイベントに対応した
2次元のシミュレーション空間において得られた場の情
報(又は場の影響を受けた情報)を用い、且つテクスチ
ャマッピングと同様のUVマッピングによる手法でマッ
ピングするようにしたので、プリミティブに関連付けら
れた位置(例えば、イベント発生位置)において、プリ
ミティブの位置や状態の変化に、流体の動作を反映させ
ることができ、その計算処理負荷を軽減することができ
る。
【0234】2.4.3 流れ場のマッピングの処理例 次に、上述した流れ場又は該流れ場の影響を受けた仮想
場をマッピングする場合の本実施形態の処理の詳細例に
ついて説明する。以下では、流れ場をマッピングする場
合の処理例について説明するが、該流れ場の影響を受け
た仮想場をマッピングする場合も同様である。
【0235】図16に、本実施形態における2次元の流
れ場を3次元のオブジェクトにマッピングする処理の一
例を示す。
【0236】まず、処理部100は、流れ場HFの初期
化を行う(ステップS10)。より具体的には、処理部
100の場設定部115において、処理監視部125に
より検出されたイベントの種類や処理負荷に応じたサイ
ズの場を格子状に適切な数で分割した流れ場を設定し、
各格子点に流れ場情報(例えば速度ベクトル、濃度、温
度)を設定する。
【0237】次に、場設定部115は、オブジェクト空
間に配置された3次元のオブジェクトに、ステップS1
0で初期化した流れ場HFをマッピングする(ステップ
S11)。
【0238】続いて、処理部100は、流れ場HFに対
する外部入力を受け付ける(ステップS12)。ここ
で、外部入力として、外力に対応した流れ場情報を受け
付ける。流れ場情報が速度ベクトルの場合、外力に対応
した大きさ及び方向をもつ速度ベクトルEFVが外部入
力となる。
【0239】そして、シミュレーション演算部110に
より、上述したように流体シミュレーションを行って、
次の瞬間(フレーム)における流れ場の各格子点の流れ
場情報を求める(ステップS13)。
【0240】処理部100は、各格子点の流れ場情報を
求めて、流れ場を更新する(ステップS14)。
【0241】続いて、プリミティブ処理部120は、更
新された流れ場がマッピングされたオブジェクトの表面
からパーティクルを発生させたり、格子点の流れ場情報
を用いてオブジェクトの法線ベクトルの向き及び大きさ
を変化させる(ステップS15)。
【0242】そして、プリミティブ処理部120は、流
れ場HF内のパーティクル又はプリミティブに対して、
流れ場HFの流れ場情報を反映させる処理を行う(ステ
ップS16)。例えば、プリミティブの位置を変化させ
たり、プリミティブに関連付けられる情報を変化させた
りする。
【0243】次に、位置又は状態が変化したプリミティ
ブ(パーティクル)を、オブジェクト空間の所与の視点
から見たオブジェクト画像として生成し、表示部などに
出力する(ステップS17)。
【0244】最後に、パーティクルの寿命が尽きて消滅
するなどの所与の終了条件を満たしたとき(ステップS
18:Y)、一連の処理を終了する(エンド)が、終了
条件を満たしていないとき(ステップS18:N)、ス
テップS12に戻って再度外部入力を受け付けて、流体
シミュレーションにしたがった流れ場の更新を行う。
【0245】以上のようにすることで、流体シミュレー
ションで得られた2次元の流れ場がマッピングされたオ
ブジェクト表面において、流れ場情報に基づいて位置や
状態が変化するプリミティブ(パーティクル)の画像を
生成することができる。なお、3次元の流れ場をマッピ
ングする場合も、同様に行うことができる。
【0246】また、本実施形態では、イベントの発生を
監視し、イベントの検出結果に基づいて、流れ場をオブ
ジェクトにマッピングすることもできる。
【0247】図17に、イベントが外因として流れ場に
影響を及ぼす場合の処理の一例のフローチャートを示
す。
【0248】まず、処理部100の処理監視部125
は、格子状に分割した流れ場がマッピングされるオブジ
ェクトへのイベントを監視して、イベント(外因)の発
生を検出する(ステップS30)。
【0249】次に、処理部100において、流れ場がマ
ッピングされるオブジェクトに対し、ステップS30で
検出されたイベントに基づき、イベントに対応した外力
(例えば、速度ベクトル)に換算して(ステップS3
2)、シミュレーション演算部110により、上述した
ように流体シミュレーションを行って、次の瞬間(フレ
ーム)における流れ場の各格子点の流れ場情報を求める
(ステップS33)。
【0250】次に、場設定部115において、求めた流
れ場をオブジェクトの所与の位置にマッピングする(ス
テップS34)。
【0251】処理部100は、各格子点の流れ場情報を
求めて、流れ場を更新する(ステップS35)。
【0252】続いて、プリミティブ処理部120は、更
新された流れ場がマッピングされたオブジェクトの表面
からパーティクルを発生させたり、格子点の流れ場情報
を用いてオブジェクトの法線ベクトルの向き及び大きさ
を変化させる(ステップS36)。
【0253】そして、プリミティブ処理部120は、流
れ場HF内のパーティクル又はプリミティブに対して、
流れ場HFの流れ場情報を反映させる処理を行う(ステ
ップS37)。例えば、プリミティブの位置を変化させ
たり、プリミティブに関連付けられる情報を変化させた
りする。
【0254】次に、位置又は状態が変化したプリミティ
ブ(パーティクル)を、オブジェクト空間の所与の視点
から見たオブジェクト画像として生成し、表示部などに
出力する(ステップS38)。
【0255】最後に、所与の終了条件を満たしたとき
(ステップS39:Y)、一連の処理を終了する(エン
ド)が、終了条件を満たしていないとき(ステップS4
0:N)、ステップS30に戻って再度イベントの発生
を監視する。
【0256】以上のようにすることで、イベント発生時
のみ、流体シミュレーションを行って求められた流れ場
をマッピングすればよいため、計算処理負荷の軽減が可
能となる。
【0257】2.5 流れ場の可変制御 本実施形態においては、流体シミュレーションにより求
められた流れ場は、サイズ、格子状に行われる分割数、
設定位置、設定数及び形状(場若しくはグリッドの形
状)のうち少なくとも1つを変更することができるよう
になっている。そして、この変更後の場が反映される位
置のプリミティブ(パーティクルシステムを構成するパ
ーティクル・プリミティブを含む)(広義には、別プリ
ミティブ)に流体動作を反映させた画像を生成する。
【0258】なお、流れ場は、2次元のものでも3次元
のものでもよいが、2次元の場合には、上述したように
その分処理負荷を軽減することができる。
【0259】図18に、流れ場の可変制御について説明
するための図を示す。
【0260】以下では、2次元の流れ場を2次元のオブ
ジェクトに適用する場合について説明するが、2次元又
は3次元の流れ場を2次元又は3次元のオブジェクトに
適用する場合は同様である。
【0261】ここで、上述のNavier-Stokes方程式を用
いた流体シミュレーションにより求められた流れ場を、
オブジェクトWOBJXに対して反映させた画像を生成
する場合を考える。
【0262】流れ場を反映させる位置にオブジェクトW
OBJXが配置された場合、流れ場の各格子点の情報に
基づいて、オブジェクトOBJXの構成点又は制御点の
位置や、構成点に関連付けられる情報(色情報、透明度
情報など)や制御点に関連付けられる情報(重み付けな
ど)が変化する。これにより、オブジェクトWOBJX
は、流れ場のサイズ又は分割数に応じた画像が生成され
ることになる。
【0263】例えば図18に示すように、オブジェクト
OBJXは、サイズ又は分割数が異なる流れ場HFX1
〜HFX3の各格子点の流れ場情報(例えば速度ベクト
ル)に基づいてそれぞれオブジェクトの構成点の位置を
変化させた場合、オブジェクトOBJX1〜OBJX3
のように変形する。
【0264】ここで、流れ場HFX1と流れ場HFX2
は、分割数は同等で、サイズが異なる。また、流れ場H
FX1と流れ場HFX3は、サイズが同等で、分割数が
異なる。
【0265】流れ場HFX2を設定する場合は、流れ場
HFX1を設定する場合に比べて、分割数が同等である
ため、流れ場を表す精度が低下する。しかしながら、こ
の場合は、流体シミュレーションの処理負荷を増加させ
ることなく、流れ場HFX1よりも広いエリアで流れ場
の状態を表現することができる。
【0266】一方、流れ場HFX3を設定する場合は、
流れ場HFX1を設定する場合に比べて、分割数が多く
なるため、流体シミュレーションの処理負荷が重くなっ
てしまう。しかしながら、この場合は、流れ場HFX1
よりも精度良く流れ場の状態を表現することができるの
で、よりリアルな画像を生成することが可能となる。
【0267】このように、オブジェクトに対して、処理
負荷と表現のリアルさとを考慮して流れ場のサイズ又は
分割数を変更することで、流体シミュレーションにより
求められた流れ場の情報に基づく画像生成処理の最適化
を図ることができる。
【0268】なお、本実施形態では、流れ場のサイズ又
は分割数だけに限定されず、流れ場のサイズ、流れ場の
分割数、流れ場の設定する位置や、設定する数及び流れ
場の形状(グリッドの形状も含む)のうち少なくとも1
つを変更することで、同様に処理負荷と精度が高い画像
生成との最適化を図ることができる。
【0269】なお、所与のイベント発生や、処理負荷に
応じて、このような流れ場のサイズ等の変更を行うよう
にしてもよい。
【0270】2.6 場の外への情報の引継ぎ 本実施形態では、上述した2次元の流れ場のサイズを有
限のサイズとすることで、流体シミュレーションの処理
負荷を軽減する。より具体的には、オブジェクト空間内
に配置されるプリミティブのうち、オブジェクト空間に
設定された場(流れ場又は流れ場の影響を受けた仮想
場)の中に位置するプリミティブに当該場を反映させ
る。さらに、本実施形態では、オブジェクト空間に設定
された場の外に位置するプリミティブにも当該場を反映
させることで、流体シミュレーション対象の流れ場のサ
イズを大きくすることなく、処理負荷を軽減し、流体シ
ミュレーションのリアルタイム処理を可能としている。
【0271】以下この点について、パーティクルを例に
説明する。
【0272】場の状態を参照するパーティクル(パーテ
ィクル・プリミティブ)については、流れ場の中と外の
パーティクルに対して、以下のように取り扱うことで、
処理負荷の軽減を実現し、位置や状態(寿命、色、透明
度などパーティクルに関連付けられる情報)の変化が不
自然とならないようにすることができる。
【0273】すなわち、オブジェクト空間に設定された
場内のパーティクルに対しては、場の情報又は該場の影
響を受けた情報に基づいて、パーティクルの位置や状態
を変化させる。一方、オブジェクト空間に設定された流
れ場の外に出たパーティクルに対しては、場の外に出た
時点の場の情報又は該場の影響を受けた情報(例えば速
度ベクトル)に従って、位置や状態を変化させる。
【0274】この場合、場の中と外のパーティクルは、
発生地点からの発生時間に応じた寿命計算が行われる
が、その位置や状態の変化に場の情報又は該場の影響を
受けた情報が用いられるか否かが異なる。
【0275】図19(A)、(B)に、流れ場HFの外
に出たパーティクルについて説明するための図を模式的
に示す。
【0276】上述したように、パーティクルPT0は、
所与のパーティクル発生地点からの発生時間に従って寿
命計算が行われるが、流れ場HFの中ではパーティクル
PT 0は流れ場の情報に基づいて、位置や状態が変化す
る。そして、流れ場HFの外に出た時点の流れ場情報に
基づいて決まるパーティクルPT0の情報(例えば速度
ベクトルFV0)を引き継ぐ。したがって、流れ場HF
の外では流れ場情報を参照することなく、例えば速度ベ
クトルFV0に従ってパーティクルPT0の位置を変化さ
せる。この際、パーティクルPT0の寿命が尽きたとき
には、パーティクルPT0を消滅させる。
【0277】或いは、例えば流れ場HFの最寄りの格子
点の流れ場情報を参照して、パーティクルPT0の位置
や状態を変化させる場合には、図19(B)に示すよう
に、流れ場HFの外に出たパーティクルPT0は、流れ
場HFの外に出た時点の流れ場情報に基づいて決まるパ
ーティクルPT0の情報(例えば速度ベクトルFV0)を
引き継ぎ、流れ場HFの外では最寄りの格子点GPM
流れ場情報のみを参照して求められた速度ベクトルFV
0´により、次の瞬間(フレーム)の位置や情報を定め
るようにしてもよい。また、最寄りの格子点GPM-1
GPM、GPM+1の3点の流れ場情報の比を参照して求め
られた速度ベクトルFV0´により、位置や状態を定め
るようにしてもよい。
【0278】図20に、流れ場HFを離れたパーティク
ルによるオブジェクト画像の一例を示す。
【0279】例えば、焚き火の炎を表現する場合、流れ
場HFを離れたパーティクルPTは、流れ場HFを離れ
た時点の速度ベクトルに従って移動する。このとき、パ
ーティクルPTに配置されるスプライトポリゴンは、黒
い煙を表したポリゴンがマッピングされ、やがて寿命が
尽きたときに消滅するようになっている。
【0280】こうすることで、流体シミュレーションに
より得られた流れ場内では、流れ場の各格子点ごとに求
められた流れ場情報に基づいてパーティクルの位置や状
態を変化させることができ、流れ場外では流れ場内の情
報を引き継いでそのままパーティクルの位置や状態を変
化させることができる。したがって、流れ場のサイズを
小さくし、この流れ場に基づいて表されるパーティクル
による自然現象を表す画像生成のリアルタイム処理の処
理負荷を、軽減することができるようになる。
【0281】ここでは、流れ場の情報を反映させるもの
として説明したが、該流れ場の影響を受けた情報を反映
させる場合も同様である。
【0282】2.6.1 流れ場の情報の引継ぎの処理
例 図21に、パーティクルの位置や状態を変化させる処理
の一例を示す。
【0283】まず、プリミティブ処理部120は、パー
ティクル(パーティクル・プリミティブ)の寿命や、発
生個数などパーティクル・プリミティブに付随する情報
を初期化する(ステップS90)。
【0284】次に、所与の発生地点から、パーティクル
を発生させる(ステップS91)。焚き火の炎を表現す
る場合、焚き火の炎の中心をパーティクルの発生位置と
することができる。
【0285】パーティクルがオブジェクト空間内に設定
された流れ場HF内にあるとき(ステップS92:
Y)、パーティクルに流れ場の情報を与え、パーティク
ルの位置及び状態を更新する(ステップS93)。より
具体的には、各格子点の流れ場情報に基づいて、パーテ
ィクルの速度ベクトルや色、透明度を更新する。
【0286】また、パーティクルが流れ場HF外にある
とき(ステップS92:N)、パーティクルが流れ場H
Fの外に出た時点の流れ場情報を用いて、パーティクル
の位置及び状態を更新する(ステップS94)。より具
体的には、パーティクルが流れ場HFの外に出たとき
は、流れ場HFの流れ場情報を参照することなく、パー
ティクルが流れ場HFの外に出た時点の流れ場情報のみ
をもって、例えばパーティクルの速度ベクトルや色、透
明度を更新する。
【0287】なお、ここでは流れ場HFの外に出たパー
ティクルは、流れ場の情報を参照することなく位置や状
態が更新されるものとしているが、例えば図19(B)
に示したように流れ場HFの最寄りの格子点の流れ場情
報を参照して、その位置や状態を更新するようにしても
よく、表現しようとするものに応じて適宜選択されるも
のである。
【0288】ステップS93或いはステップS94にお
いて、位置及び状態が更新されたパーティクルは、寿命
判定が行われて、寿命が更新される(ステップS9
5)。
【0289】寿命が尽きたと判定されたとき(ステップ
S96:Y)、当該パーティクルを消滅させる処理を行
い、寿命が尽きていないと判定されたとき(ステップS
96:N)、ステップS92に戻って再びパーティクル
の位置及び状態の更新が行われる。
【0290】以上のようにすることで、流体シミュレー
ションにより得られた流れ場内では、流れ場の各格子点
ごとに求められた流れ場情報に基づいてパーティクルの
位置や状態を変化させることができ、流れ場外では流れ
場内の情報を引き継いでそのままパーティクルの位置や
状態を変化させることができる。したがって、図20に
示すように流れ場に基づいて表されるパーティクルによ
る自然現象を表す画像生成のリアルタイム処理の処理負
荷を、さらに軽減することができるようになる。
【0291】なお、上記したパーティクルについては、
流れ場を適用する場合について説明したが、これに限定
されるものではなく、例えば該流れ場の影響を受けた仮
想場を適用する場合も同様である。
【0292】2.7 本実施形態の適用例 これまで説明したような本実施形態における流れ場につ
いては、例えばオブジェクト空間の移動オブジェクトに
追従して設定し、インタラクティブに発生する外因を反
映させたエフェクト効果を与えることができる。
【0293】図22に、このような本実施形態における
移動オブジェクトに追従して設定される流れ場について
説明するための図を示す。
【0294】ここでは、移動オブジェクトとしての車オ
ブジェクトCOBJMに追従して、車オブジェクトCO
BJMの後輪の後方側の地面上に、流れ場HFM又は該
流れ場の影響を受けた仮想場を設定するようにしてい
る。より具体的には、2次元の流れ場HFM又は該流れ
場の影響を受けた仮想場を、地面オブジェクト表面上
に、移動オブジェクトの後方側にマッピングする。
【0295】車オブジェクトCOBJMが前方に進む
と、車オブジェクトCOBJMの後方側に車体の移動や
タイヤの回転などによって砂埃や土煙などが舞い上がる
様子を表現する場合を考える。
【0296】この場合、流れ場HFMにおいて、流体シ
ミュレーションにより、車体の移動方向、移動速度等に
よる外因を反映させることで、場の情報を更新し、例え
ば砂埃オブジェクトSOBJの速度ベクトルが得られ
る。
【0297】このとき、2次元のXY平面上について
は、流体シミュレーションにより求められた場の情報を
用いて、砂埃オブジェクトSOBJの位置や状態を変化
させ、高さ方向については別個の計算式(例えば、重力
を加味した自由落下の計算式)で砂埃オブジェクトSO
BJがゆっくり地面に落ちるように設定することができ
る。
【0298】したがって、流れ場HFMの場の情報に基
づき、例えば砂埃オブジェクトSOBJ等の位置若しく
は色情報等を変化させることができ、これまで表現がで
きなかった車の走行風により舞い上がる砂埃や落ち葉を
表現する画像を、リアルタイムに生成することができ
る。
【0299】この場合、常に車オブジェクトCOBJM
の後方側に流れ場が設定されるように、車オブジェクト
COBJMの位置に応じて設定する流れ場のサイズを変
更した流れ場HFM´を設定するようにしてもよい。
【0300】これにより、移動する車オブジェクトCO
BJMの移動方向、移動速度に応じた砂埃等のエフェク
ト画像の生成を実現することができる。
【0301】なお、車オブジェクトCOBJMが走行す
る地面の性質(アスファルトの道路や、砂利道といった
道路の性質)に応じて流れ場を変更したり、地面の形状
(道路の凸凹)に合わせて流れ場を設定することもでき
る。
【0302】このように、本実施形態によれば、単調な
砂埃等の表現を回避し、移動オブジェクトの移動の仕方
や、地面の性質の影響を反映した移動オブジェクトの後
方に発生する砂埃等を表現する画像をリアルタイムで生
成することができる。
【0303】3. ハードウェア構成 次に、本実施形態を実現できるハードウェアの構成の一
例について図23を用いて説明する。
【0304】メインプロセッサ900は、CD982
(情報記憶媒体)に格納されたプログラム、通信インタ
ーフェース990を介して転送されたプログラム、或い
はROM950(情報記憶媒体の1つ)に格納されたプ
ログラムなどに基づき動作し、ゲーム処理、画像処理、
音処理などの種々の処理を実行する。
【0305】コプロセッサ902は、メインプロセッサ
900の処理を補助するものであり、高速並列演算が可
能な積和算器や除算器を有し、マトリクス演算(ベクト
ル演算)を高速に実行する。例えば、オブジェクトを移
動させたり動作(モーション)させるための物理シミュ
レーションに、マトリクス演算などの処理が必要な場合
には、メインプロセッサ900上で動作するプログラム
が、その処理をコプロセッサ902に指示(依頼)す
る。
【0306】ジオメトリプロセッサ904は、座標変
換、透視変換、光源計算、曲面生成などのジオメトリ処
理を行うものであり、高速並列演算が可能な積和算器や
除算器を有し、マトリクス演算(ベクトル演算)を高速
に実行する。例えば、座標変換、透視変換、光源計算な
どの処理を行う場合には、メインプロセッサ900で動
作するプログラムが、その処理をジオメトリプロセッサ
904に指示する。
【0307】データ伸張プロセッサ906は、圧縮され
た画像データや音データを伸張するデコード処理を行っ
たり、メインプロセッサ900のデコード処理をアクセ
レートする処理を行う。これにより、オープニング画
面、インターミッション画面、エンディング画面、或い
はゲーム画面などにおいて、所与の画像圧縮方式で圧縮
された動画像を表示できるようになる。なお、デコード
処理の対象となる画像データや音データは、ROM95
0、CD982に格納されたり、或いは通信インターフ
ェース990を介して外部から転送される。
【0308】描画プロセッサ910は、ポリゴンや曲面
などのプリミティブ面で構成されるオブジェクトの描画
(レンダリング)処理を高速に実行するものである。オ
ブジェクトの描画の際には、メインプロセッサ900
は、DMAコントローラ970の機能を利用して、オブ
ジェクトデータを描画プロセッサ910に渡すととも
に、必要であればテクスチャ記憶部924にテクスチャ
を転送する。すると、描画プロセッサ910は、これら
のオブジェクトデータやテクスチャに基づいて、Zバッ
ファなどを利用した陰面消去を行いながら、オブジェク
トをフレームバッファ922に高速に描画する。また、
描画プロセッサ910は、痺uレンディング(半透明処
理)、デプスキューイング、ミップマッピング、フォグ
処理、トライリニア・フィルタリング、アンチエリアシ
ング、シェーディング処理なども行うことができる。そ
して、1フレーム分の画像がフレームバッファ922に
書き込まれると、その画像はディスプレイ912に表示
される。
【0309】サウンドプロセッサ930は、多チャンネ
ルのADPCM音源などを内蔵し、BGM、効果音、音
声などの高品位のゲーム音を生成する。生成されたゲー
ム音は、スピーカ932から出力される。
【0310】ゲームコントローラ942からの操作デー
タや、メモリカード944からのセーブデータ、個人デ
ータは、シリアルインターフェース940を介してデー
タ転送される。
【0311】ROM950にはシステムプログラムなど
が格納される。なお、業務用ゲームシステムの場合に
は、ROM950が情報記憶媒体として機能し、ROM
950に各種プログラムが格納されることになる。な
お、ROM950の代わりにハードディスクを利用する
ようにしてもよい。
【0312】RAM960は、各種プロセッサの作業領
域として用いられる。
【0313】DMAコントローラ970は、プロセッ
サ、メモリ(RAM、VRAM、ROM等)間でのDM
A転送を制御するものである。
【0314】CDドライブ980は、プログラム、画像
データ、或いは音データなどが格納されるCD982
(情報記憶媒体)を駆動し、これらのプログラム、デー
タへのアクセスを可能にする。
【0315】通信インターフェース990は、ネットワ
ークを介して外部との間でデータ転送を行うためのイン
ターフェースである。この場合に、通信インターフェー
ス990に接続されるネットワークとしては、通信回線
(アナログ電話回線、ISDN)、高速シリアルバスな
どを考えることができる。そして、通信回線を利用する
ことでインターネットを介したデータ転送が可能にな
る。また、高速シリアルバスを利用することで、他のゲ
ームシステムとの間でのデータ転送が可能になる。
【0316】なお、本発明の各手段は、その全てを、ハ
ードウェアのみにより実行してもよいし、情報記憶媒体
に格納されるプログラムや通信インターフェースを介し
て配信されるプログラムのみにより実行してもよい。或
いは、ハードウェアとプログラムの両方により実行して
もよい。
【0317】そして、本発明の各手段をハードウェアと
プログラムの両方により実行する場合には、情報記憶媒
体には、本発明の各手段をハードウェアを利用して実行
するためのプログラムが格納されることになる。より具
体的には、上記プログラムが、ハードウェアである各プ
ロセッサ902、904、906、910、930等に
処理を指示するとともに、必要であればデータを渡す。
そして、各プロセッサ902、904、906、91
0、930等は、その指示と渡されたデータとに基づい
て、本発明の各手段を実行することになる。
【0318】図24(A)に、本実施形態を業務用ゲー
ムシステムに適用した場合の例を示す。プレーヤは、デ
ィスプレイ1100上に映し出されたゲーム画像を見な
がら、レバー1102、ボタン1104等を操作してゲ
ームを楽しむ。内蔵されるシステムボード(サーキット
ボード)1106には、各種プロセッサ、各種メモリな
どが実装される。そして、本発明の各手段を実行するた
めの情報(プログラム或いはデータ)は、システムボー
ド1106上の情報記憶媒体であるメモリ1108に格
納される。以下、この情報を格納情報と呼ぶ。
【0319】図24(B)に、本実施形態を家庭用のゲ
ームシステムに適用した場合の例を示す。プレーヤはデ
ィスプレイ1200に映し出されたゲーム画像を見なが
ら、ゲームコントローラ1202、1204を操作して
ゲームを楽しむ。この場合、上記格納情報は、本体シス
テムに着脱自在な情報記憶媒体であるCD1206、或
いはメモリカード1208、1209等に格納されてい
る。
【0320】図24(C)に、ホスト装置1300と、
このホスト装置1300とネットワーク1302(LA
Nのような小規模ネットワークや、インターネットのよ
うな広域ネットワーク)を介して接続される端末130
4-1〜1304-nとを含むシステムに本実施形態を適用
した場合の例を示す。この場合、上記格納情報は、例え
ばホスト装置1300が制御可能な磁気ディスク装置、
磁気テープ装置、メモリ等の情報記憶媒体1306に格
納されている。端末1304-1〜1304-nが、スタン
ドアロンでゲーム画像、ゲーム音を生成できるものであ
る場合には、ホスト装置1300からは、ゲーム画像、
ゲーム音を生成するためのゲームプログラム等が端末1
304-1〜1304-nに配送される。一方、スタンドア
ロンで生成できない場合には、ホスト装置1300がゲ
ーム画像、ゲーム音を生成し、これを端末1304-1〜
1304-nに伝送し端末において出力することになる。
【0321】なお、図24(C)の構成の場合に、本発
明の各手段を、ホスト装置(サーバ)と端末とで分散し
て実行するようにしてもよい。また、本発明の各手段を
実行するための上記格納情報を、ホスト装置(サーバ)
の情報記憶媒体と端末の情報記憶媒体に分散して格納す
るようにしてもよい。
【0322】またネットワークに接続する端末は、家庭
用ゲームシステムであってもよいし業務用ゲームシステ
ムであってもよい。そして、業務用ゲームシステムをネ
ットワークに接続する場合には、業務用ゲームシステム
との間で情報のやり取りが可能であるとともに家庭用ゲ
ームシステムとの間でも情報のやり取りが可能な携帯型
情報記憶装置(メモリカード、携帯型ゲーム装置)を用
いることが望ましい。
【0323】なお本発明は、上記実施形態で説明したも
のに限らず、種々の変形実施が可能である。
【0324】例えば、本実施形態では流体シミュレーシ
ョン演算を主に例にとり説明したが、本発明のシミュレ
ーション演算は流体シミュレーション演算に限定されな
い。また、流れ場に限定されず、本発明は種々の物理量
に関する場に適用できる。
【0325】また、シミュレーション演算の手法も図2
〜図6で説明した手法に限定されず、Navier-Stokes方
程式とは異なる方程式に基づいてシミュレーション演算
を行ってもよい。
【0326】また本実施の形態ではベクトル場に属する
点として格子点を例にとり説明したがこれに限られな
い。格子状に並んでいない点でもよい。
【0327】さらに、本実施形態において、流れ場(流
れ場情報)を適用できるものは、同様の手法で該流れ場
の影響を受けた仮想場(該流れ場の影響を受けた情報)
を適用することができる。また、流れ場の影響を受けた
仮想場(流れ場の影響を受けた情報)を適用できるもの
は、同様の手法で該流れ場(該流れ場の情報)を適用す
ることができる。
【0328】また、本発明のうち従属請求項に係る発明
においては、従属先の請求項の構成要件の一部を省略す
る構成とすることもできる。また、本発明の1の独立請
求項に係る発明の要部を、他の独立請求項に従属させる
こともできる。
【0329】また本発明は種々のゲーム(格闘ゲーム、
シューティングゲーム、ロボット対戦ゲーム、スポーツ
ゲーム、競争ゲーム、ロールプレイングゲーム、音楽演
奏ゲーム、ダンスゲーム等)に適用できる。
【0330】また本発明は、業務用ゲームシステム、家
庭用ゲームシステム、多数のプレーヤが参加する大型ア
トラクションシステム、シミュレータ、マルチメディア
端末、ゲーム画像を生成するシステムボード等の種々の
画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムの機能ブロック
図の例である。
【図2】流体シミュレーションを行う際の手順について
説明するための模式図である。
【図3】流体シミュレーションを行う際の手順について
説明するためのフローチャートである。
【図4】図4(A)、(B)、(C)は、流れ場に対し
て外力に対応した速度ベクトルを与えた場合の場の状態
変化を模式的に表した図である。
【図5】境界条件について説明するための図である。
【図6】図6(A)、(B)、(C)は、具体的な計算
例としてキャビティ問題について説明するための図であ
る。
【図7】本実施形態における2次元の流れ場と3次元の
オブジェクト空間との関係を模式的に示す説明図であ
る。
【図8】2次元の流れ場を焚き火の炎の表現に適用した
場合のオブジェクト画像の一例を示す図である。
【図9】本実施形態において、オブジェクトにマッピン
グされる場を模式的に示す説明図である。
【図10】本実施形態において、オブジェクトに対して
行われる2次元の流れ場のUVマッピングについて説明
するための図である。
【図11】本実施形態におけるスプライトポリゴンが配
置されたオブジェクト空間の画像の一例を示す図であ
る。
【図12】図12(A)、(B)は、本実施形態におけ
る流れ場がマッピングされたオブジェクトの法線ベクト
ルを、流れ場の情報に基づいて変化させる場合について
説明するための説明図である。
【図13】図13(A)、(B)は、本実施形態におけ
る流れ場がマッピングされたオブジェクトの頂点の位置
を、流れ場の情報に基づいて変化させる場合について説
明するための説明図である。
【図14】図14(A)、(B)は、本実施形態におけ
る流れ場がマッピングされたオブジェクトの表面から発
生したパーティクルを、流れ場の情報に基づいて変化さ
せる場合について説明するための説明図である。
【図15】本実施形態におけるイベント発生による流れ
場のマッピングについて説明するための図である。
【図16】本実施形態における流れ場を3次元のオブジ
ェクトにマッピングする処理の一例を示すフローチャー
トである。
【図17】本実施形態におけるイベントが外因として流
れ場に影響を及ぼす場合の処理の一例のフローチャート
である。
【図18】本実施形態における流れ場の可変制御につい
て説明するための説明図である。
【図19】図19(A)、(B)は、流れ場の外に出た
パーティクルについて模式的に示す説明図である。
【図20】本実施形態における流れ場を離れたパーティ
クルによるオブジェクト画像の一例を示す図である。
【図21】本実施形態におけるパーティクルの位置や状
態を変化させる処理の一例を示すフローチャートであ
る。
【図22】本実施形態において移動オブジェクトに追従
して流れ場を設定する処理の一例を示すフローチャート
である。
【図23】本実施形態を実現できるハードウェアの構成
の一例を示す図である。
【図24】図24(A)、(B)、(C)は、本実施形
態が適用される種々の形態のシステムの例を示す図であ
る。
【符号の説明】
100 処理部 110 シミュレーション演算部 115 場設定部 120 プリミティブ処理部 125 処理監視部 140 画像生成部 150 音生成部 160 操作部 170 記憶部 180 情報記憶媒体 190 表示部 192 音出力部 194 携帯型情報記憶装置 196 通信部 EFV 外力(速度ベクトル) HF、HFM、HFX1〜HFX3 流れ場 OBJ オブジェクト
フロントページの続き Fターム(参考) 2C001 AA03 AA06 AA11 AA14 AA16 BA02 BA04 BA05 BA06 BA07 BB01 BB02 BB03 BC02 BC03 BC04 BC05 BC06 CA02 CB01 CB02 CB04 CB06 CB08 CC01 CC08 DA04 5B050 BA08 BA11 EA24

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 画像生成を行う画像生成システムであっ
    て、 シミュレーション空間の各点での物理量の変化をシミュ
    レーション演算により求め、前記物理量についての場を
    求めるシミュレーション演算手段と、 求められた場又は該場の影響を受けた仮想場を、プリミ
    ティブにマッピングするマッピング手段と、 前記プリミティブが配置されるオブジェクト空間の所与
    の視点から見える画像を生成する手段と、 を含むことを特徴とする画像生成システム。
  2. 【請求項2】 請求項1において、 前記プリミティブに関連付けて与えられる法線ベクトル
    の向き及び大きさのうち少なくとも1つを、場の各点に
    ついて求められた物理量に基づいて変化させることを特
    徴とする画像生成システム。
  3. 【請求項3】 請求項1又は2において、 前記プリミティブの表面に配置された別プリミティブの
    位置及び前記別プリミティブに関連付けられる情報のう
    ち少なくとも1つを、前記場の各点について求められた
    物理量に基づいて変化させることを特徴とする画像生成
    システム。
  4. 【請求項4】 請求項1又は2において、 前記プリミティブに関連付けられた位置に配置された別
    プリミティブの構成点又は制御点の位置、及び前記構成
    点又は制御点に関連付けれる情報のうち少なくとも1つ
    を、前記場の各点について求められた物理量に基づいて
    変化させることを特徴とする画像生成システム。
  5. 【請求項5】 請求項1乃至4のいずれかにおいて、 前記プリミティブに関連して発生したイベントを検出す
    る手段を含み、 前記シミュレーション演算手段は、 前記イベントを反映させたシミュレーション演算によ
    り、前記物理量についての場を求めることを特徴とする
    画像生成システム。
  6. 【請求項6】 請求項1乃至5のいずれかにおいて、 オブジェクト空間内に設定された前記場の周辺のプリミ
    ティブに対し、前記場に基づいて前記プリミティブの位
    置及び前記プリミティブに関連付けられる情報のうち少
    なくとも1つを求める手段を含むことを特徴とする画像
    生成システム。
  7. 【請求項7】 シミュレーション空間の各点での物理量
    の変化をシミュレーション演算により求め、前記物理量
    についての場を求めるシミュレーション演算手段と、 求められた場又は該場の影響を受けた仮想場を、3次元
    のプリミティブにマッピングするマッピング手段と、 前記プリミティブが配置されるオブジェクト空間の所与
    の視点から見える画像を生成する手段としてコンピュー
    タを機能させることを特徴とするプログラム。
  8. 【請求項8】 請求項7において、 前記プリミティブに関連付けて与えられる法線ベクトル
    の向き及び大きさのうち少なくとも1つを、場の各点に
    ついて求められた物理量に基づいて変化させることを特
    徴とするプログラム。
  9. 【請求項9】 請求項7又は8において、 前記プリミティブに関連付けられた位置に配置された別
    プリミティブの位置及び前記別プリミティブに関連付け
    られる情報のうち少なくとも1つを、前記場の各点につ
    いて求められた物理量に基づいて変化させることを特徴
    とするプログラム。
  10. 【請求項10】 請求項7又は8において、 前記プリミティブの表面に配置された別プリミティブの
    構成点又は制御点の位置、及び前記構成点又は制御点に
    関連付けれる情報のうち少なくとも1つを、前記場の各
    点について求められた物理量に基づいて変化させること
    を特徴とするプログラム。
  11. 【請求項11】 請求項7乃至10のいずれかにおい
    て、 前記プリミティブに関連して発生したのイベントを検出
    する手段としてコンピュータを機能させ、 前記シミュレーション演算手段は、 前記イベントを反映させたシミュレーション演算により
    求め、前記物理量についての場を求めることを特徴とす
    るプログラム。
  12. 【請求項12】 請求項7乃至11のいずれかにおい
    て、 オブジェクト空間内に設定された前記場の周辺のプリミ
    ティブに対し、前記場に基づいて前記プリミティブの位
    置及び前記プリミティブに関連付けられる情報のうち少
    なくとも1つを求める手段としてコンピュータを機能さ
    せることを特徴とするプログラム。
  13. 【請求項13】 コンピュータにより読み取り可能な情
    報記憶媒体であって、請求項7乃至12のいずれかのプ
    ログラムを記憶することを特徴とする情報記憶媒体。
JP2001282147A 2001-09-17 2001-09-17 画像生成システム、プログラム及び情報記憶媒体 Withdrawn JP2003091739A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001282147A JP2003091739A (ja) 2001-09-17 2001-09-17 画像生成システム、プログラム及び情報記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001282147A JP2003091739A (ja) 2001-09-17 2001-09-17 画像生成システム、プログラム及び情報記憶媒体

Publications (1)

Publication Number Publication Date
JP2003091739A true JP2003091739A (ja) 2003-03-28

Family

ID=19105841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001282147A Withdrawn JP2003091739A (ja) 2001-09-17 2001-09-17 画像生成システム、プログラム及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP2003091739A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017148207A (ja) * 2016-02-24 2017-08-31 株式会社カプコン ゲームプログラムおよびゲームシステム
CN107562984A (zh) * 2017-07-18 2018-01-09 北京航空航天大学 极限流场的保向共轭映射方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017148207A (ja) * 2016-02-24 2017-08-31 株式会社カプコン ゲームプログラムおよびゲームシステム
CN107562984A (zh) * 2017-07-18 2018-01-09 北京航空航天大学 极限流场的保向共轭映射方法和装置

Similar Documents

Publication Publication Date Title
JP4771821B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
EP2158948A2 (en) Image generation system, image generation method, and information storage medium
US7312804B2 (en) Program product, image generation method and image generation system
JP4776017B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4734137B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2003091738A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2002222435A (ja) 画像生成システム、プログラム及び情報記憶媒体
US7881521B2 (en) Rotational image generation method, program, and information storage medium and virtual camera
JP2003091740A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3748451B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3245142B2 (ja) ゲームシステム及び情報記憶媒体
US7106324B1 (en) Image generating system and program
JP4749198B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4318240B2 (ja) 画像生成システム及び情報記憶媒体
JP3576126B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
US20020193161A1 (en) Game system, program and image generation method
JP2003091739A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4743733B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4782583B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4408681B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4488346B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2006285510A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2002222434A (ja) ゲームシステム、プログラム及び情報記憶媒体
JP2003091741A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2001276414A (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: 20081202