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

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

Info

Publication number
JP2002222435A
JP2002222435A JP2001020361A JP2001020361A JP2002222435A JP 2002222435 A JP2002222435 A JP 2002222435A JP 2001020361 A JP2001020361 A JP 2001020361A JP 2001020361 A JP2001020361 A JP 2001020361A JP 2002222435 A JP2002222435 A JP 2002222435A
Authority
JP
Japan
Prior art keywords
field
correction
simulation
vector
image generation
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
JP2001020361A
Other languages
English (en)
Inventor
Kazunori Okuzawa
和則 奥澤
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 JP2001020361A priority Critical patent/JP2002222435A/ja
Publication of JP2002222435A publication Critical patent/JP2002222435A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】 シミュレーションにより得られた場を補正
し、オブジェクトを操作して楽しむゲーム等に好適な画
像を生成できる画像生成システムの提供。 【解決手段】 各格子点での流速ベクトルの変化をシミ
ュレーションすることで流体場HFを求め、HFと補正
場CFに基づき補正処理後の流体場HF’を求め、H
F’に基づきオブジェクトを移動させる処理や流体表現
パーティクルを発生する処理を行う。補正処理後の流体
場を、補正場の各格子点に設定された影響度情報と補正
ベクトル情報に基づき求める。前回のフレームでの補正
処理後の流体場ではなく補正処理前の流体場を初期条件
として、今回のフレームでの流体場を求める。補正場を
流体場の領域外に設定したり、コースに沿ったオブジェ
クトの移動や障害物の回避をアシストするベクトルの場
を補正場として設定する。オブジェクトを仮想的な流れ
に沿って移動させるための仮想的な流れ場を補正場とし
て設定する。補正場の一部又は全部をオブジェクトに追
従させて移動させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像生成システ
ム、プログラム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】従来よ
り、ゲームコントローラ、ステアリング、レバー、ボタ
ンなどの操作手段を用いて画面上のオブジェクト(操作
対象物)を操作して楽しむゲームが知られている。レー
シングゲームを例にとれば、プレーヤは、ステアリング
を操作することで画面上の車(オブジェクト)を左右に
コーナリングさせて、コースに沿って車を移動させてゲ
ームを楽しむ。
【0003】しかしながら、これまでのゲームでは、プ
レーヤがオブジェクトを直接操作していたため、オブジ
ェクトの動きはプレーヤの操作をダイレクトに反映した
ものとなり、作り手が意図したものから逸脱した予想外
の動きをオブジェクトに行わせることができなかった。
【0004】そこで本願発明者は、流体シミュレーショ
ンにより流れ場を求め、この流れ場を介した間接的な操
作でオブジェクトの移動又は回転を制御できるゲームの
開発を行っている。
【0005】しかしながら、流体シミュレーションによ
り得られた流れ場だけでオブジェクトを操作すると、操
作性が難しくなりすぎて、ゲームをスムーズに進行させ
ることができないという課題があることが判明した。
【0006】本発明は、以上のような課題に鑑みてなさ
れたものであり、その目的とするところは、シミュレー
ションにより得られた場を補正し、オブジェクトを操作
して楽しむゲーム等に好適な画像を生成できる画像生成
システム、プログラム及び情報記憶媒体を提供すること
にある。
【0007】
【課題を解決するための手段】上記課題を解決するため
に、本発明は、画像生成を行う画像生成システムであっ
て、シミュレーション空間の各点での時間経過に伴う物
理量の変化をシミュレーション演算により求め、前記物
理量についての第1の場を求めるシミュレーション演算
手段と、求められた第1の場と、該第1の場を補正する
ための設定された補正場とに基づいて補正処理を行い、
補正処理後の第2の場を求める補正処理手段と、求めら
れた第2の場に基づいて、画像生成のために必要な処理
を行う手段とを含むことを特徴とする。また本発明に係
るプログラムは、コンピュータにより使用可能なプログ
ラム(情報記憶媒体又は搬送波に具現化されるプログラ
ム)であって、上記手段をコンピュータに実現させる
(上記手段としてコンピュータを機能させる)ことを特
徴とする。また本発明に係る情報記憶媒体は、コンピュ
ータにより読み取り可能(使用可能)な情報記憶媒体で
あって、上記手段をコンピュータに実現させる(上記手
段としてコンピュータを機能させる)ためのプログラム
を含むことを特徴とする。
【0008】本発明によれば、シミュレーション演算に
より第1の場が求められ、この第1の場を補正場により
補正することで、補正処理後の第2の場が求められる。
そして、この第2の場に基づいて画像生成のために必要
な種々の処理(オブジェクトを移動又は回転させる処理
又はオブジェクトの画像を生成する処理等)が行われ
る。
【0009】このように本発明によれば、シミュレーシ
ョン演算により得られた第1の場ではなく、任意に設定
可能な補正場により補正された第2の場に基づいて、画
像生成のために必要な種々の処理が行われる。従って、
シミュレーション演算だけでは、条件の設定等を工夫し
ても作り出すことが困難な第2の場を作り出すことが可
能になり、スムーズなゲーム進行等を実現できる。
【0010】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、シミュレーション空間の各
点での前記第2の場のベクトルが、シミュレーション空
間の各点に設定される補正ベクトル情報に基づいて求め
られることを特徴とする。
【0011】このようにすれば、シミュレーション空間
の各点でのベクトルを、設定された補正ベクトルに基づ
き補正できるようになり、より自由度の高い、場の設定
作業を実現できるようになる。
【0012】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、シミュレーション空間の各
点での前記第2の場のベクトルが、シミュレーション空
間の各点での前記第1の場のベクトルと、シミュレーシ
ョン空間の各点に設定される、前記第1の場の前記第2
の場に対する影響度情報とに基づいて求められることを
特徴とする。
【0013】このようにすれば、第1の場が第2の場に
与える影響度の大小等を、シミュレーション空間の各点
(補正場の各点)に設定される影響度情報を用いて可変
に制御できるようになる。
【0014】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記シミュレーション演算
手段が、前回のフレームで得られた補正処理後の第2の
場ではなく、前回のフレームで得られた補正処理前の第
1の場を初期条件に設定して、今回のフレームでの第1
の場を求めるシミュレーション演算を行うことを特徴と
する。
【0015】このようにすれば、シミュレーション演算
に破綻が生じる事態を防止できるようになり、シミュレ
ーション演算の整合性を保つことができる。
【0016】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記第1の場の領域外に前
記補正場が設定されることを特徴とする。
【0017】このようにすれば、例えば、第1の場の領
域外に出ようとするオブジェクトを領域内に押し戻すな
どの制御が可能になり、よりスムーズなゲーム進行等を
実現できる。
【0018】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、シミュレーション空間内の
コースに沿って移動するオブジェクトの移動をアシスト
するためのアシストベクトルの場が、前記補正場として
設定されることを特徴とする。
【0019】このようにすれば、オブジェクトに場を作
用させただけではオブジェクトをコースに沿ってスムー
ズに移動させることができないような事態が生じた場合
にも、容易にこれに対処できるようになる。
【0020】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、シミュレーション空間内の
他のオブジェクトを回避して移動するオブジェクトの移
動をアシストするためのアシストベクトルの場が、前記
補正場として設定されることを特徴とする。
【0021】このようにすれば、オブジェクトに場を作
用させただけでは他のオブジェクトを回避できないよう
な事態が生じた場合にも、容易にこれに対処できるよう
になる。
【0022】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記第1の場が前記第2の
場に与える影響度を制限又は無効にする場が、前記補正
場として設定されることを特徴とする。
【0023】このようにすれば、第1の場の影響度が制
限される又は第1の場の影響度が無効にされる領域を、
シミュレーション空間内の任意の場所に設定できるよう
になり、より多様なシミュレーション空間を表現できる
ようになる。
【0024】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、シミュレーション空間内に
おいてオブジェクトを仮想的な流れに沿って移動させる
ための仮想的な流れ場が、前記補正場として設定される
ことを特徴とする。
【0025】このようにすれば、シミュレーション演算
において設定する条件等に工夫を施さなくても、仮想的
な流れ場(コース)をシミュレーション空間内に設定で
きるようになる。
【0026】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、前記補正場の一部又は全部
を、シミュレーション空間内を移動するオブジェクトに
追従させて移動させることを特徴とする。
【0027】このようにすれば、オブジェクトの移動に
伴い補正場の一部又は全部が移動するようになり、例え
ばオブジェクトの後方に発生する流れの跡などを表現す
ることが可能になる。
【0028】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、イベント発生及び時間経過
の少なくとも一方に応じて前記補正場が設定されること
を特徴とする。
【0029】このようにすれば、イベント発生や時間経
過に応じて補正場の設定が変化するようになり、より多
様な画像表現が可能になる。
【0030】また本発明に係る画像生成システム、プロ
グラム及び情報記憶媒体は、操作手段からの操作データ
に基づいてシミュレーション演算を行うことで前記第1
の場が求められ、求められた前記第1の場と前記補正場
とに基づいて、補正処理後の前記第2の場が求められ、
求められた前記第2の場をオブジェクトに作用させるこ
とで該オブジェクトをシミュレーション空間内で移動又
は回転させ、オブジェクトの移動又は回転を前記操作手
段を用いて間接的に制御することを特徴とする。
【0031】このようにすれば、第2の場を介した間接
的な操作でオブジェクトを移動又は回転させることが可
能になり、オブジェクトに予想外の動きを行わせること
が可能になる。
【0032】また本発明は、画像生成を行う画像生成シ
ステムであって、操作手段からの操作データに基づいて
流体シミュレーション演算を行い、流れ場を求めるシミ
ュレーション演算手段と、求められた流れ場と、該流れ
場を補正するための設定された補正場とに基づいて補正
処理を行い、補正処理後の流れ場を求める補正処理手段
と、補正処理後の流れ場をオブジェクトに作用させて、
オブジェクトを移動又は回転させる処理を行う手段とを
含むことを特徴とする。また本発明に係るプログラム
は、コンピュータにより使用可能なプログラム(情報記
憶媒体又は搬送波に具現化されるプログラム)であっ
て、上記手段をコンピュータに実現させる(上記手段と
してコンピュータを機能させる)ことを特徴とする。ま
た本発明に係る情報記憶媒体は、コンピュータにより読
み取り可能(使用可能)な情報記憶媒体であって、上記
手段をコンピュータに実現させる(上記手段としてコン
ピュータを機能させる)ためのプログラムを含むことを
特徴とする。
【0033】本発明によれば、流れ場(仮想流体)を介
した間接的な操作でオブジェクトを移動又は回転させる
ことが可能になり、オブジェクトに予想外の動きを行わ
せることが可能になる。そして本発明によれば、流体シ
ミュレーション演算により得られた流れ場ではなく、任
意に設定可能な補正場により補正された流れ場に基づい
て、画像生成のために必要な種々の処理が行われる。従
って、流体シミュレーション演算だけでは、条件の設定
等を工夫しても作り出すことが困難な流れ場を作り出す
ことが可能になり、仮想流体を用いたゲームのスムーズ
な進行等を実現できるようになる。
【0034】
【発明の実施の形態】以下、本発明の好適な実施形態に
ついて図面を用いて説明する。
【0035】1.構成 図1に、本実施形態の画像生成システム(ゲームシステ
ム)の機能ブロック図の一例を示す。なお同図において
本実施形態は、少なくとも処理部100を含めばよく
(或いは処理部100と記憶部170を含めばよく)、
それ以外のブロックについては任意の構成要素とするこ
とができる。
【0036】操作部160は、プレーヤが操作データを
入力するためのものであり、その機能は、レバー、ボタ
ン、マイク、或いは筺体などのハードウェアにより実現
できる。
【0037】記憶部170は、処理部100や通信部1
96などのワーク領域となるもので、その機能はRAM
などのハードウェアにより実現できる。
【0038】情報記憶媒体180(コンピュータにより
読み取り可能な媒体)は、プログラムやデータなどを格
納するものであり、その機能は、光ディスク(CD、D
VD)、光磁気ディスク(MO)、磁気ディスク、ハー
ドディスク、磁気テープ、或いはメモリ(ROM)など
のハードウェアにより実現できる。処理部100は、こ
の情報記憶媒体180に格納されるプログラム(デー
タ)に基づいて本発明(本実施形態)の種々の処理を行
う。即ち情報記憶媒体180には、本発明(本実施形
態)の手段(特に処理部100に含まれるブロック)を
コンピュータに実現(実行、機能)させるためのプログ
ラムが格納され、このプログラムは、例えば1又は複数
のモジュール(オブジェクト指向におけるオブジェクト
も含む)を含む。
【0039】なお、情報記憶媒体180に格納される情
報の一部又は全部は、システムへの電源投入時等に記憶
部170に転送されることになる。また情報記憶媒体1
80には、本発明の処理を行うためのプログラム、画像
データ、音データ、表示物の形状データ、本発明の処理
を指示するための情報、或いはその指示に従って処理を
行うための情報などを含ませることができる。
【0040】表示部190は、本実施形態により生成さ
れた画像を出力するものであり、その機能は、CRT、
LCD、或いはHMD(ヘッドマウントディスプレイ)
などのハードウェアにより実現できる。
【0041】音出力部192は、本実施形態により生成
された音を出力するものであり、その機能は、スピーカ
などのハードウェアにより実現できる。
【0042】携帯型情報記憶装置194は、プレーヤの
個人データやゲームのセーブデータなどが記憶されるも
のであり、この携帯型情報記憶装置194としては、メ
モリカードや携帯型ゲーム装置などを考えることができ
る。
【0043】通信部196は、外部(例えばホスト装置
や他の画像生成システム)との間で通信を行うための各
種の制御を行うものであり、その機能は、各種プロセッ
サ、或いは通信用ASICなどのハードウェアや、プロ
グラムなどにより実現できる。
【0044】なお本発明(本実施形態)の各手段を実現
(実行、機能)するためのプログラム(情報)は、ホス
ト装置(サーバー)が有する情報記憶媒体からネットワ
ーク及び通信部196を介して情報記憶媒体180に配
信するようにしてもよい。このようなホスト装置(サー
バー)の情報記憶媒体の使用も本発明の範囲内に含まれ
る。
【0045】処理部100(プロセッサ)は、操作部1
60からの操作データやプログラムなどに基づいて、ゲ
ーム処理、画像生成処理、或いは音生成処理などの各種
の処理を行う。この場合、処理部100は、記憶部17
0内の主記憶部172をワーク領域として使用して、各
種の処理を行う。
【0046】ここで、処理部100が行う処理として
は、コイン(代価)の受け付け処理、各種モードの設定
処理、ゲームの進行処理、選択画面の設定処理、オブジ
ェクト(1又は複数のプリミティブ)の位置や回転角度
(X、Y又はZ軸回り回転角度)を求める処理、オブジ
ェクトを動作させる処理(モーション処理)、視点の位
置(仮想カメラの位置)や視線角度(仮想カメラの回転
角度)を求める処理、マップオブジェクトなどのオブジ
ェクトをオブジェクト空間へ配置する処理、ヒットチェ
ック処理、ゲーム結果(成果、成績)を演算する処理、
複数のプレーヤが共通のゲーム空間でプレイするための
処理、或いはゲームオーバー処理などを考えることがで
きる。
【0047】処理部100は、シミュレーション演算部
110、補正処理部112、移動・動作演算部114、
画像生成部120、音生成部130を含む。なお、処理
部100に、これらの全ての機能ブロック110〜13
0を含ませる必要はなく、一部の機能ブロックを省略す
る構成にしてもよい。
【0048】ここでシミュレーション演算部110は、
2次元又は3次元のシミュレーション空間(ゲーム空
間、仮想空間)の各点(狭義には格子点)での時間経過
(仮想時間の経過、実時間の経過又はフレーム進行等)
に伴う物理量(速度、加速度、力、位置、電気又は磁気
等)の変化をシミュレーション演算(流体シミュレーシ
ョン又は物理シミュレーション等)により求め、その物
理量についての第1の場(速度場、加速度場、電場、磁
場又は重力場等)を求める。流体シミュレーションを例
にとれば、シミュレーション空間の各点での時間経過に
伴う流速ベクトル(速度)の変化を求め、流速ベクトル
についての流れ場(流速ベクトルの場、流体場、流速
場)を求める。
【0049】なお、ここで「場」とは、所与の物理量が
空間の各点に応じた値を持つ場合に、その空間の領域を
いう。例えば、処理対象となるシミュレーション空間を
格子状に分割し、各格子点の位置における物理量を求め
ることで、その場の状態を求めることができる。そし
て、時間経過(フレーム進行)に伴って所与のシミュレ
ーション演算を行うことによって、各格子点にその位置
及び時間に応じた物理量を与えることができ、場の状態
の変化をシミュレーションすることができる。
【0050】補正処理部112は、シミュレーション演
算部110で得られた第1の場を補正する処理を行う。
即ち、得られた第1の場と、この第1の場を補正するた
めに設定された補正場とに基づき補正処理を行い、補正
処理後の第2の場(流れ場等)を求める。
【0051】なお、補正場は、ゲーム処理の開始前に予
め設定しておいてもよいし、時間経過(仮想時間の経
過、実時間の経過又はフレーム進行等)や、イベント発
生(ゲームステージ変化イベント、ゲーム状況変化イベ
ント、ヒットイベント、消滅イベント、爆発イベント、
アイテム取得イベント又はゲームパラメータ更新イベン
ト等)に応じてその設定をリアルタイムに変化させても
よい。
【0052】また、補正場は、シミュレーション演算に
より得られる第1の場の一部の領域に設定してもよい
し、全部の領域に設定してもよい。或いは、第1の場の
領域外に補正場を設定してもよい。
【0053】また、補正場の情報としては、例えば、シ
ミュレーション空間の各点に設定される補正ベクトル情
報や、シミュレーション空間の各点に設定される、第1
の場の第2の場に対する影響度情報(係数情報)を含ま
せることができる。
【0054】移動・動作演算部114は、キャラクタ、
ボール、車などのオブジェクト(移動オブジェクト)の
移動情報(位置、回転角度)や動作情報(オブジェクト
の各パーツの位置、回転角度)を演算するものであり、
例えば、操作部160によりプレーヤが入力した操作デ
ータやゲームプログラムなどに基づいて、オブジェクト
を移動させたり動作(モーション、アニメーション)さ
せたりする処理を行う。
【0055】より具体的には、移動・動作演算部114
は、オブジェクトの位置や回転角度を例えば1フレーム
(1/60秒、1/30秒等)毎に変化させる。例えば
(k−1)フレームでのオブジェクトの位置、回転角度
をPk-1、θk-1とし、オブジェクトの1フレームでの位
置変化量(速度)、回転変化量(回転速度)を△P、△
θとする。するとkフレームでのオブジェクトの位置P
k、回転角度θkは例えば下式(1)、(2)のように求
められる。
【0056】Pk=Pk-1+△P (1) θk=θk-1+△θ (2) そして本実施形態では、移動・動作演算部114が、操
作部160を用いたプレーヤによる直接操作ではなく、
場を用いた間接的な操作によりオブジェクト(操作対
象)を移動させる処理を行う。より具体的には、シミュ
レーション演算部110が、操作部160からの操作デ
ータに基づいてシミュレーション演算を行うことで、プ
レーヤの操作を反映させた第1の場を求める。そして、
補正処理部112が、シミュレーション演算部110で
得られた補正処理前の第1の場と、設定された補正場と
に基づいて、補正処理後の第2の場を求める。そして、
移動・動作演算部114が、この補正処理後の第2の場
をオブジェクトに作用させることで、オブジェクトを移
動又は回転させる。これにより、オブジェクトの移動又
は回転を操作部160を用いて間接的に制御することが
可能になる。また、シミュレーション演算により得られ
た第1の場を直接にオブジェクトに作用させるのではな
く、補正処理後の第2の場をオブジェクトに作用させる
ことで、プレーヤの操作性を向上できるようになり、ス
トレスの無いゲーム進行を実現できる。
【0057】画像生成部120は、処理部100で行わ
れる種々の処理の結果に基づいて画像処理を行い、ゲー
ム画像を生成し、表示部190に出力する。例えば、い
わゆる3次元のゲーム画像を生成する場合には、まず、
座標変換、クリッピング処理、透視変換、或いは光源計
算等のジオメトリ処理が行われ、その処理結果に基づい
て、プリミティブデータ(プリミティブの構成点(頂
点)の位置座標、テクスチャ座標、色(輝度)データ、
法線ベクトル或いはα値等)が作成される。そして、こ
のプリミティブデータ(ポリゴン、自由曲面又はサブデ
ィビジョンサーフェス等のプリミティブのデータ。描画
データ)に基づいて、ジオメトリ処理後のオブジェクト
(1又は複数のプリミティブ)の画像が、描画バッファ
174(フレームバッファ、ワークバッファ等のピクセ
ル単位で画像情報を記憶できるバッファ)に描画され
る。これにより、オブジェクト空間内において仮想カメ
ラ(所与の視点)から見える画像が生成されるようにな
る。
【0058】そして本実施形態では画像生成部120
が、シミュレーション演算部110や補正処理部112
で得られた場に基づいて画像生成処理を行う。より具体
的には、補正処理部112からの補正処理後の第2の場
の情報に基づいて、流体などの不定形物(水、雲、霧、
煙、気流又は電磁波等)の画像を生成する処理を行う。
例えば、第2の場の各点(格子点)を起点として、各点
での補正処理後の流速ベクトルの方向に、流体表現パー
ティクルを発生する処理を行う。このようにすること
で、第2の場の各点の流速ベクトルの方向に流体が流れ
て見えるような画像表現が可能になり、よりリアルな流
体表現が可能になる。
【0059】なお、補正処理部112で得られた補正処
理後の第2の場ではなく、シミュレーション演算部11
0で得られた補正処理前の第1の場に基づいて、流体な
どの不定形物の画像を生成してもよい。
【0060】以上のように本実施形態では、シミュレー
ション演算部110で得られた第1の場が補正処理部1
12で補正され、補正処理後の第2の場に基づいて、移
動・動作演算部114や画像生成部120が、画像生成
に必要な種々の処理(オブジェクトを移動させる処理又
は不定形物の画像を生成する処理等)を行うことにな
る。
【0061】なお、本実施形態の画像生成システムは、
1人のプレーヤのみがプレイできるシングルプレーヤモ
ード専用のシステムにしてもよいし、このようなシング
ルプレーヤモードのみならず、複数のプレーヤがプレイ
できるマルチプレーヤモードも備えるシステムにしても
よい。
【0062】また複数のプレーヤがプレイする場合に、
これらの複数のプレーヤに提供するゲーム画像やゲーム
音を、1つの端末を用いて生成してもよいし、ネットワ
ーク(伝送ライン、通信回線)などで接続された複数の
端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0063】2.本実施形態の特徴 次に本実施形態の特徴について図面を用いて説明する。
なお、以下では、第1、第2の場として流れ場(流速
場、流体場、速度場)を用いて流体シミュレーション演
算を行う場合について主に例にとり説明する。しかしな
がら、本発明における第1,第2の場は流れ場に限定さ
れず、本発明は流体表現以外の種々の画像表現に適用可
能である。
【0064】2.1 流れ場 本実施形態では、操作対象となるオブジェクトの周りの
仮想流体に対して、プレーヤからの操作入力をインタラ
クティブに反映させるために流れ場を用いて、流体シミ
ュレーション演算を行い、シミュレーション空間の各点
における流速ベクトル(広義にはベクトル、速度ベクト
ル。以下の説明でも同様)を求める。
【0065】流れ場(広義には場。以下の説明でも同
様)は、シミュレーション空間(ゲーム空間、仮想空
間)を格子状に適当な数に分割して生成する。そして流
体シミュレーション演算(広義にはシミュレーション演
算。以下の説明でも同様)によって時間経過(フレーム
進行)に伴って変化する各格子点(広義には各点。以下
の説明でも同様)における流速ベクトルを求め、場の情
報を更新する。
【0066】流体シミュレーションは、所与の境界条件
のもと、求める物理量が時間的、空間的に連続性を有
し、与えられた外力(外因、流速ベクトル)の影響を直
接的、間接的に流れ場の全格子点に及ぼすことができる
ような所与の計算式によって行われる。例えば水や空気
のように連続体の運動をシミュレーションする際には、
非圧縮性のNavier-Stokes方程式等を用いて流れ場の演
算を行うことができる。
【0067】次に、流体シミュレーション(流体力学計
算)を行う際の手順について説明する。
【0068】流体をシミュレートする空間(流れ場)
の、ある瞬間(例えば、あるフレーム)における状態を
設定した後、Navier-Stokes方程式等を解くことで、次
の瞬間(次のフレーム)における流れ場の状態が求ま
る。
【0069】図2は、流体シミュレーションを行う際の
手順について説明するための模式的な図であり、図3は
流体シミュレーションを行う際の手順について説明する
ためのフローチャートである。
【0070】図2のA1は、ある瞬間における流れ場
(流体場)HFの様子を模式的に表したものであり、図
2のA2は、次の瞬間における流れ場HFの様子を模式
的に表したものである。図2において、流れ場HFの状
態は、ある時点での各格子点(GP1、GP2、GP3
・・・)に設定された流速ベクトル(FV1、FV2、
FV3・・・)で表すことができる。
【0071】なお、図2では見た目をわかり易くするた
めに、流れ場HFを2次元的に表しているが、流れ場は
3次元でもよい。また図2では、格子点(GP1、2、
3・・・)と流速ベクトル(FV1、2、3・・・・)
の始点をずらしているが、これらは実際には一致してい
る。
【0072】図2のA1の状態からA2の状態を求める
際には、図3に示すような手順で流体計算(流体力学計
算)を行う。
【0073】まず、シミュレーション空間の各格子点
(グリッド点)に対して、ある瞬間(フレームn−1)
における流速ベクトルを設定する(ステップS1。図2
のA1参照)。即ち、流体シミュレーションの初期条件
を設定する。
【0074】次に、各格子点に設定された流速ベクトル
に基づき流体計算を行う(ステップS2)。
【0075】そして、流体計算により求まった各格子点
の流速ベクトルが、次の瞬間(フレームn)の流れ場の
状態を表す情報(各格子点の情報)になる(ステップS
3。図2のA2参照)。
【0076】それ以降は、ステップS3で得られた各格
子点の流速ベクトルを、ステップS1での各格子点の流
速ベクトル(流体シミュレーションの初期条件)に設定
して、再びステップS2の流体計算を再帰的に行うこと
で、流れ場を状態変化させることができる。
【0077】なお、初期条件(ステップS1)は基本的
に自由に設定できるため、任意の時間に任意の点に対し
て外力(流速ベクトル)を加えることも可能である。
【0078】外力を流れ場に反映させるためには、対応
する格子点(例えば外力が加わった位置に近い格子点)
に対して、外力に対応した大きさ及び方向を持つ流速ベ
クトルを与えればよい。
【0079】図4(A)、(B)、(C)は、流れ場H
Fに対して、外力に対応した流速ベクトルEFVを与え
た場合の場の状態変化を模式的に表した図である。
【0080】なお、図4(A)、(B)、(C)では見
た目をわかり易くするために、格子点と流速ベクトルの
始点はずらしてあるが、実際にはこれらは一致してい
る。
【0081】例えば、図4(A)のような流れ場HFに
対して、図4(B)のように外力に対応した流速ベクト
ルEFVを与えれば、流体シミュレーション演算の後、
図4(C)のような流れ場HFを得ることができる。
【0082】ここで、外力を流体シミュレーションに反
映させる手法としては、例えば外力の方向及び大きさに
応じて得られる流速ベクトルEFVを、外力の加わった
位置の最寄りの格子点に初期条件として与える手法を考
えることができる。或いは、外力の方向及び大きさに応
じて得られる流速ベクトルEFVを、外力の加わった位
置の周囲の格子点GP13、GP14、GP18、GP
19に対して分散して初期条件として与えてもよい。
【0083】このように外力を流れ場に与えることによ
って、仮想流体にインタラクティブ性を持たせることが
可能になる。
【0084】次に、流れ場を設定する際の境界条件につ
いて説明する。ここで、シミュレーションする空間の境
界での値(流速ベクトル)の与え方を境界条件と呼ぶ。
【0085】境界条件は、流体シミュレーションを行う
上で非常に重要な要素であり、この値の与え方を変える
だけで、仮想流体の様々な振る舞いを再現できる。
【0086】例えば、下端の境界における流速ベクトル
の方向を下方向に設定すれば、仮想流体が上から下へと
流れる、川の水のような動きを表現できる。
【0087】また、境界での値を全て零に設定すれば、
風呂場の湯船の水面のように閉じた空間での流体の動き
を表現でき、流体が渦を巻く様子を表現できる。
【0088】例えば図5に示すように、下端での境界条
件として、上向きに吹き出すような流速ベクトルを設定
すれば、常に下から上へと気体が流れる状態の場を生成
できる。
【0089】この状態で放置しておけば、しばらくする
と定常的な流れとなり、流体シミュレーションを行うメ
リットは薄れる。しかしながら、流体シミュレーション
を利用すれば、「風を送る」というような操作を手軽に
実現できるため、従来の方法では困難であったインタラ
クティブな操作が可能になる。
【0090】2.2 Navier-Stokes方程式を用いた流
体シミュレーションについて 水や空気のような連続体の運動を表現するための方程式
はNavier-Stokes方程式と呼ばれる。流体の流れが音速
に比べて十分小さい場合は流体の非圧縮性を仮定してよ
く、この場合のNavier-Stokes方程式は下式(3)、
(4)のようになる。
【0091】
【数1】
【0092】ここで、Vは流速ベクトル、pは圧力、ρ
は密度、μは流体の粘性率である。また、∇は勾配演算
子、Δはラプラシアンを表す。
【0093】上式(3)は質量保存則を表す偏微分方程
式であり、「連続の式」と呼ばれる。また、上式(4)
は運動量保存則を表し、狭義のNavier-Stokes方程式と
呼ばれる。
【0094】これらの方程式を差分化することで各格子
点における解を数値的に得ることができる。この場合に
は、差分化によって解析を行うシミュレーション空間
を、流れ場として格子状に分割し、各格子点にそれぞれ
流速ベクトルを持たせて計算を行えばよい。
【0095】2.3 流れ場(仮想流体)を介した間接
的な操作 まず、操作対象となるオブジェクトを直接操作する手法
と、オブジェクトを間接的に操作する手法の相違点につ
いて説明する。
【0096】図6(A)、(B)は、操作対象となるオ
ブジェクトOBを直接操作する場合について説明するた
めの図であり、図7(A)、(B)は、オブジェクトO
Bを間接的に操作する場合について説明するための図で
ある。
【0097】従来は、図6(A)のオブジェクトOBを
例えば右に動かしたい場合に、マウスやレバー等の操作
手段を用いて図6(B)に示すようにオブジェクトOB
を直接に右方向に動かしていた。
【0098】これに対して本実施形態では、図7
(A)、(B)に示すようにオブジェクトOBの周りは
仮想流体VHで囲まれている。そして本実施形態ではプ
レーヤがオブジェクトOBを直接操作するのではなく、
プレーヤの操作により外力を表す流速ベクトルが入力さ
れる。
【0099】例えば図7(A)に示すように、プレーヤ
がマウス等を用いて画面上の点SPをポイントし、lだ
け矢印の方向にドラッグしたとする。すると、始点をS
Pとし、大きさがlで、方向が矢印の方向である流速ベ
クトルEFVが、外力として仮想流体VH(流れ場)に
与えられる。そして、この流速ベクトルEFVにより、
図7(B)のB1に示すような流れが生じる。そして、
オブジェレクトOBは、生じた仮想流体VHの流れによ
って流される形で移動する。即ち本実施形態では、オブ
ジェクトOBの周りの仮想流体VHに生じた流れ(B
1)によってオブジェクトOBが間接的に操作されるこ
とになる。
【0100】図8(A)、(B)は、オブジェクトOB
が流れ場HFから受ける力を求める様子を表した図であ
る。
【0101】図8(A)は、流体シミュレーションの演
算後の流れ場HFの状態を表した図であり、図8(B)
は、オブジェクトOBの近傍の流れ場HFの状態を表し
た図である。
【0102】図8(A)に示すように、流体シミュレー
ションの演算後の流れ場HFの各格子点には、プレーヤ
が流れ場HFに加えた外力を反映した流速ベクトルが与
えられている。
【0103】図8(B)のGP1、GP2、GP3、G
P4は、オブジェクトOBを囲む格子点であり、FV
1、FV2、FV3、FV4は、流体シミュレーション
の結果、各格子点に与えられた流速ベクトルである。
【0104】本実施形態では、オブジェクトOBに最も
近い格子点GP2に与えられた流速ベクトルFV2を、
オブジェクトOBの速度ベクトルVOB(今回のフレー
ムでの位置変化量及び移動方向)として与える。
【0105】そしてオブジェクトOBは、与えられた速
度ベクトルVOBにより移動する。このようにすれば、
プレーヤが流れ場(仮想流体)の流れを操作すること
で、流れ場HFを介して間接的にオブジェクトOBを操
作できるようになる。
【0106】なお、オブジェクトOBの速度ベクトルV
OBを、周囲の流速ベクトルFV1、FV2、FV3、
FV4の補間処理により求めるようにしてもよい。即
ち、オブジェクトOBと各格子点GP1、GP2、GP
3、GP4との距離に応じた補間率で、流速ベクトルF
V1、FV2、FV3、FV4の補間処理を行い、オブ
ジェクトOBの速度ベクトルVOBを求めるようにす
る。このようにすれば、処理負荷は重くなるが、より正
確な速度ベクトルVOBをオブジェクトOBに与えるこ
とが可能になる。
【0107】2.4 補正場による補正処理 さて、以上のようにして流れ場を介してオブジェクトを
間接的に操作するようにすると、プレーヤが意図したよ
うにオブジェクトを移動させることが難しくなり、ゲー
ムの操作性が悪化するという問題が生じた。
【0108】そこで本実施形態では、流体シミュレーシ
ョンにより得られた流れ場を補正するための補正場を用
意し、この補正場により流れ場(第1の場、第1のベク
トル場、第1の速度場)を補正し、補正処理後の流れ場
(第2の場、第2のベクトル場、第2の速度場)に基づ
いて、画像生成のために必要な種々の処理(オブジェク
トを移動させる処理又は流体表現パーティクルを発生さ
せる処理等)を行うようにしている。
【0109】より具体的には、まず、図2〜図5で説明
した流体シミュレーションを行って、図9のC1に示す
ように今回のフレームでの流れ場HF(第1の場)を求
める。
【0110】そして、この求められた流れ場HF(第1
の場)と、図9のC2に示すように任意に設定可能な補
正場CFとに基づいて、C3に示すように補正処理後の
流れ場HF’(第2の場)を求める。そして、この補正
処理後の流れ場HF’に基づいて、オブジェクトを移
動、回転させる処理や流体パーティクルを各格子点から
発生させる処理を行うようにする。
【0111】例えば図10(A)において、オブジェク
トに作用させるべき流れ場HFの各格子点GP(シミュ
レーション空間の各点)での流速ベクトルfv(f
x、fvy、fvz)が、図2〜図5で説明したような
流体シミュレーションにより求められる。また、各格子
点GPには、補正場CFの補正情報(a、cv)が設定
されている(補正場CFの補正情報が対応づけられてい
る)。
【0112】ここで、スカラーaは、流体シミュレーシ
ョンにより得られた流れ場HFの流速ベクトルfvが、
補正処理後の流れ場HF’の流速ベクトルfv’に与え
る影響度を決める情報(係数情報)である。また、cv
は、流れ場HFの流速ベクトルfvに対する補正場CF
の補正ベクトル(流速補正ベクトル)である。これら
の、fv’、a、fv、cvの間には、下式(5)に示
すような関係が成り立つ。
【0113】
【数2】
【0114】例えば上式(5)において、a>1に設定
すれば、図10(B)に示すように、流体シミュレーシ
ョンにより得られた流速ベクトルfvが補正処理後の流
速ベクトルfv’に与える影響度を大きくできる。
【0115】また、上式(5)において、0<a<1に
設定すれば、図10(C)に示すように、流速ベクトル
fvが流速ベクトルfv’に与える影響度を小さくでき
る(制限できる)。
【0116】また、上式(5)において、a=0に設定
すれば、図10(D)に示すように、流速ベクトルfv
が流速ベクトルfv’に与える影響度を無効にできる。
即ち、流体シミュレーションの結果であるfvを無視し
て、格子点GPに与えるべき流速ベクトルfv’を、補
正場CFの補正ベクトルcvに固定できる。
【0117】このように、補正情報として影響度情報a
を導入することで、流体シミュレーションで得られた結
果である流速ベクトルfvの影響度を制限したり、無効
にしたりできるようになる。これにより、補正ベクトル
の設定だけでは実現できない、より自由度の高い補正場
の設定が可能になる。
【0118】なお、流速ベクトルfv、fv’、補正ベ
クトルcvは、3次元のベクトルであってもよいし、2
次元のベクトルであってもよい。
【0119】以上のように本実施形態では、補正場CF
を設定し、流体シミュレーションで得られた流れ場HF
をこの補正場CFを用いて補正してるため、ゲームデザ
イナーやプレーヤが意図したものと近い動作をオブジェ
クトに行わせることが可能になる。これにより、ゲーム
デザイナーやプレーヤが所望する画像を生成できるよう
になる。また、流体シミュレーションの処理を簡略化
(近似)したことに起因するオブジェクトの不自然な挙
動も修正できるようになり、より自然な場の流れを表現
できるようになる。
【0120】即ち、一般的にシミュレーション演算は、
何らかの条件(初期条件、境界条件、外力等)が存在
し、その条件を満たすような結果(オブジェクトの移
動、回転)を計算により求めることで実現される。そし
て、このように、ある条件を満たすような結果を計算に
より求めることは比較的容易である。
【0121】一方、逆に、ゲームデザイナーやプレーヤ
がある結果を得たい場合に、その結果を得るための条件
を計算により求めることは困難である。
【0122】例えば図7(A)、(B)に示すような、
流れ場を介した間接的な操作でオブジェクトOBをコー
ス上で移動させる場合を考える。このような場合に、コ
ースに沿った適切な移動経路でオブジェクトOBを移動
させるという結果を得るための流体シミュレーションの
条件を逆に求めることは、非常に困難な作業になる。
【0123】これに対して、図9のC2に示すような補
正場CFを設定し、流体シミュレーションで得られた流
れ場HFを補正するようにすれば、流体シミュレーショ
ンを利用したオブジェクトOBの間接的な操作を実現し
ながらも、ゲームデザイナーやプレーヤが意図したよう
にオブジェクトOBを動かすことが可能になる。即ち、
例えばコースに沿って適切な経路でオブジェクトOBを
移動させることが可能になり、スムーズなゲーム進行を
実現できる。
【0124】なお、本実施形態では図9のC4に示すよ
うに、前回のフレーム(前の瞬間)で得られた補正処理
後の流れ場HF’(第2の場)ではなく、前回のフレー
ムの流体シミュレーションで得られた補正処理前の流れ
場HF(第1の場)を初期条件(図3のステップS1)
に設定して、今回のフレーム(次の瞬間)での第1の場
を求める流体シミュレーション(図3のステップS2)
を行うようにしている。
【0125】例えば、よりリアルな流体表現を実現しよ
うとすれば、前回のフレームで得られた補正処理後の流
れ場HF’を初期条件として、今回のフレームでの流体
シミュレーションを行うべきである。
【0126】しかしながら、補正処理後の流れ場HF’
は、前述したNavier-Stokes方程式(3)、(4)に適
合しないおそれがある。従って、補正処理後の流れ場H
F’を用いて今回のフレームの流体シミュレーションを
行うと、流体シミュレーションの結果に矛盾が生じる可
能性がある。
【0127】これに対して図9のC4に示すように、補
正処理後の流れ場HF’ではなく、補正処理前の流れ場
HFを用いて今回のフレームの流体シミュレーションを
行うようにすれば、流体シミュレーション全体での整合
性が保たれるようになり、流体シミュレーションの演算
処理に破綻が生じる事態を防止できるようになる。
【0128】2.5 補正場の設定 次に、補正場CFの具体的な設定手法について説明す
る。なお、補正場CFはゲーム処理の開始前(フレーム
更新毎に行われる処理の開始前)に予め設定しておいて
もよいし、ゲーム処理の開始後に(フレーム更新毎の処
理の中で)、補正場CFの設定をリアルタイムに変化さ
せてもよい。
【0129】図11(A)では、流体シミュレーション
で得られた流れ場HFの領域(流体シミュレーションを
行う領域)の外に、補正場CFが設定されている。即
ち、流体シミュレーションの計算が行われない領域をフ
ォローするような形で、補正場CFが設定されている。
より具体的には、前述した式(5)における補正ベクト
ルcvを、オブジェクトOBを領域内に押し戻すベクト
ルとして設定する。このようにすれば、流れ場HFの領
域外に出ようとするオブジェクトOBを流れ場HFの領
域内に押し戻す補正処理を実現できる。
【0130】流体シミュレーションを行う場合には一般
的に境界条件が必要になるため、流体シミュレーション
を行う領域(HF)は有限な領域となる。従って、この
有限な領域の外にオブジェクトOBが出てしまった場合
には、そのオブジェクトOBに作用させるべき流速ベク
トルを計算することが不可能となり、オブジェクトOB
を移動させたり回転させることができなくなる。従っ
て、このような場合にはゲームオーバーにせざるを得な
くなり、流体シミュレーションを利用したゲームのゲー
ム性が損なわれてしまう。
【0131】これに対して図11(A)に示すように、
流体シミュレーションが行われる流れ場HFの領域外に
補正場CFを設定すれば、この補正場CFを利用してオ
ブジェクトOBを流れ場HFの領域内に押し戻すことが
可能になり、OBが領域外に出た後もゲームを続行でき
るようになる。これにより、プレーヤがゲームに興ざめ
するなどの事態を防止でき、よりスムーズなゲーム進行
を実現できる。
【0132】図11(B)では、流れ場HF(仮想流
体)を介した間接的な操作をプレーヤが行うことで、シ
ミュレーション空間内のコースCSに沿ってオブジェク
トOBを移動させるゲームが実現されている。そして図
11(B)では、オブジェクトOBの前方においてコー
スCSの幅が狭まっている。
【0133】このような場合に、流れ場HFを介した間
接的な操作だけで、D1に示すようにオブジェクトOB
をコースCSに沿って移動させることは非常に困難とな
る。
【0134】特に、操作手段を用いた間接的な操作によ
りプレーヤが発生させることができる流れの方向が、図
11(B)のD2に示す方向だけに制限されている場合
には、D1に示すような経路でオブジェクトOBを移動
させることは、ほとんど不可能になる。
【0135】そこで本実施形態では、このようにコース
CSに沿って移動するオブジェクトOBの移動をアシス
トするためのアシストベクトルの場を、補正場CFとし
て設定している。より具体的には、前述した式(5)に
おける補正ベクトルcvを、アシストベクトルとして、
図11(B)のコースCSが狭まっている領域に設定す
る。
【0136】このようにすることで、プレーヤは、この
アシストベクトル(cv)に助けられて、コースCSに
沿ってオブジェクトOBを移動させることができるよう
になる。これにより、流れ場を介した間接的な操作方法
において問題となる操作性の困難性を解消でき、よりス
ムーズなゲーム進行を実現できる。
【0137】図12(A)では、シミュレーション空間
内のコースCS上に種々の障害物オブジェクトOBS
(広義には他のオブジェクトであり、敵オブジェクトで
もよい)が配置されている。
【0138】このような場合に、流れ場HFを介した間
接的な操作だけで、E1に示すようにオブジェクトOB
を移動させて、障害物オブジェクトOBSへの衝突を回
避さえることは非常に困難となる。
【0139】特に、操作手段を用いた間接的な操作によ
りプレーヤが発生させることができる流れの方向が、図
12(A)のE2に示す方向だけに制限されている場合
には、E1に示すようにオブジェクトOBを移動させる
ことは、ほとんど不可能になる。
【0140】そこで本実施形態では、このように障害物
オブジェクトOBSを回避して移動するオブジェクトO
Bの移動をアシストするためのアシストベクトルの場
を、補正場CFとして設定している。より具体的には、
前述した式(5)における補正ベクトルcvを、アシス
トベクトルとして、図12(A)の障害物オブジェクト
OBSの近くの領域(手前側の領域)に設定する。
【0141】このようにすることで、プレーヤは、この
アシストベクトル(cv)に助けられて、障害物オブジ
ェクトOBSを回避するようにオブジェクトOBを移動
させることができるようになる。これにより、流れ場を
介した間接的な操作方法において問題となる操作性の困
難性を解消でき、よりスムーズなゲーム進行を実現でき
る。
【0142】なお、図11(B)、図12(A)の場合
に、アシストベクトルの大きさ等を、ゲームの難易度に
応じて変化させてもよい。例えば、難しい難易度を設定
する場合には、アシストベクトルの大きさを小さくする
或いは無効にし、優しい難易度を設定する場合には、ア
シストベクトルの大きさを大きくする。このようにすれ
ば、初級者から上級者に至る幅広い層のプレーヤが楽し
むことができる流体シミュレーションゲームを実現でき
る。
【0143】図12(B)では、補正場CFの領域RG
において、流れ場HFの流速ベクトルが無効にされてい
る(或いは制限されている)。これは例えば、前述した
式(5)における影響度(係数)情報aを、領域RGに
おいて零(或いは小さい値)に設定することで実現でき
る。このようにすることでゲームデザイナーは、コース
上の所望の領域RGにおいて流れをせき止めたり緩めた
りするコース設計が可能になる。しかも、このような領
域RGの設定は、上式(5)において、対応する補正場
CFでの影響度情報aを零又は小さな値に設定するだけ
で済む。従って、少ない処理負荷と労力で、様々なコー
ス設計を実現できるようになり、ゲームの開発期間の短
縮化を図れるようになる。
【0144】図13(A)では、仮想的な流れに沿って
オブジェクトOB1を移動させるための仮想的な流れ場
VFF(仮想コース)が、補正場CFとして設定されて
いる。即ち、補正場CFにより生じる流れをコースに見
立てることで、目に見えないコースが設定されたレース
ゲーム(例えばボートゲーム)を実現している。
【0145】例えば図13(A)において、オブジェク
トOB1は、補正場CFにより設定される仮想コース内
に位置しているため、その仮想コースの流れに沿って自
動的に速くゴールに向かって進めるようになる。
【0146】一方、オブジェクトOB2は、この仮想コ
ースからコースアウトしているため、仮想コースの流れ
に乗って進めず、オブジェクトOB1よりもゴールに到
達するのが遅れてしまうことになる。
【0147】このような仮想的な流れ場VFFを、上述
した式(3)、(4)のようなNavier-Stokes方程式を
利用して発生させるのは、初期条件や境界条件の設定の
観点から、困難な設計作業になる。
【0148】これに対して、図13(A)に示すように
補正場CFを利用して仮想的な流れ場VFFを発生させ
る手法は、Navier-Stokes方程式を利用して発生させる
手法に比べて、その設計作業も用意であり、処理負荷も
軽いという利点がある。
【0149】図13(B)では、コース上を移動してい
るオブジェクトOB(キャラクタ)の移動に追従させて
補正場CF(一部又は全部)を移動させている。このよ
うにすることで、オブジェクトOBの移動に応じた流れ
(流れの跡)を作り出すことができ、オブジェクトOB
の移動によりその後方に波が生じてるかのように見える
画像を生成できる。
【0150】より具体的には図13(B)において、各
流速ベクトル(例えば補正ベクトル或いは補正処理後の
流速ベクトル)の方向に、各格子点を起点として流体表
現パーティクルを発生させる。
【0151】この場合に、流体表現パーティクルの移動
速度は、各格子点での流速ベクトル(補正ベクトル、補
正処理後の流速ベクトル)の大きさに応じた速度にすれ
ばよい。
【0152】また、流体表現パーティクル(パーティク
ル・プリミティブ)は、点や線などで表現してもよい
し、半透明テクスチャがマッピングされたポリゴンによ
り表現してもよい。そして、流体表現パーティクルは、
発生した後、所定期間の寿命で消滅させることが望まし
い(例えば半透明度を制御して透明にする)。
【0153】また、図13(C)に示すように、プレー
ヤの目に見えないオブジェクトOB(水中のオブジェク
ト)の移動に、流れの跡を表現するための補正場CFを
追従させてもよい。
【0154】また図13(B)、(C)の場合の補正場
CFは、オブジェクトOBの移動情報(位置、方向)に
基づいて、その位置や方向を設定することが望ましい。
【0155】図14では、大渦、排水溝、急流、局所的
な流れなど、シミュレーションだけでは再現するのが困
難な現象を、人工的に設定した補正場CFを用いて表現
している。
【0156】より具体的には、ゲームステージの変化イ
ベント、ゲーム状況の変化イベント、ゲームパラメータ
の変化イベント、消滅イベント、衝突イベント、アイテ
ム取得イベントなどの各種のイベントの発生や、時間経
過などの応じて、補正場CFを設定する。
【0157】例えば、第1のゲームステージから第2の
ゲームステージに変化した場合に、第2のゲームステー
ジ用に用意された補正場CFを設定して、第2のゲーム
ステージでのコース上に図14に示すような大渦の流れ
を配置する。
【0158】また、例えば、シミュレーション空間内の
ゲーム時間が経過すると、それまではなかった補正場C
Fをコース上に設定して、図14に示すような大渦の流
れをコース上に出現させる。
【0159】なおゲームステージとは、ゲームのクリア
条件の達成により次の画面が現れる形式のゲームにおけ
るクリアの都度に現れる新しい画面(ゲーム面)のこと
をいう。またイベントとは、プログラミングにおいて一
般に用いられる事象の意味である。また、時間経過は、
フレーム更新のタイミングでカウントアップされるカウ
ント値を用いて計測してもよいし、画像生成システムが
有するリアルタイムクロックのタイマを用いて計測して
もよい。
【0160】また、補正場を設定する手法は、流体シミ
ュレーションの性質や処理の簡略化に起因して生じる、
画面端などでの流体の不自然な挙動を補正するために用
いてもよい。また、流体シミュレーションの結果を補正
せずに忠実に使用すると、流体の流れが速くなりすぎて
しまったり、遅くなりすぎてしまう場合に、その流れの
速度を補正するために補正場を用いるようにしてもよ
い。
【0161】3.本実施形態の処理 次に、本実施形態の処理の詳細例について、図15、図
16のフローチャートを用いて説明する。
【0162】なお図15、図16において各変数の意味
は以下のようになる。 n :フレーム番号 BV :境界条件を決めるベクトル群 EVn:nフレーム目のプレーヤの入力に応じて設定さ
れる外力ベクトル IVn:nフレーム目の流体シミュレーションを行うた
めの初期条件ベクトル群 FVn:nフレーム目の流体シミュレーションにより得
られる流速ベクトル群 fvn:FVnの個々の要素ベクトル FVn’:nフレーム目の補正処理後の流速ベクトル群 fvn’:FVn’の個々の要素ベクトル CMn :nフレーム目の補正場マトリックス なお、補正場マトリックスCMnとは、スカラーa(影
響度情報)、ベクトルb(補正ベクトル)の組(a、
b)を要素とする行列である。
【0163】まず、流体シミュレーションのための初期
設定を行う(ステップS10)。即ち、境界条件に適合
するようにベクトル群BVを設定したり、0フレーム目
の流速ベクトル群FV0をゼロベクトル行列に設定した
り(全ての要素ベクトルfvnの大きさを0にする)、
フレーム番号nを0に設定したりする。
【0164】次に、フレーム更新か否かを判断する(ス
テップS11)。これは、画像生成システムのハードウ
ェアが垂直同期のタイミングで発生する割り込みに基づ
いて判断できる。そして、フレーム更新と判断された場
合には、nを1だけインクリメントする(ステップS1
2)。
【0165】次に、プレーヤの入力操作(マウス、レバ
ー等の操作)に基づき、外力ベクトルEVn(外力ベク
トルに対応した流速ベクトル)を設定する(ステップS
13)。
【0166】次に、流体シミュレーションの前処理を行
う(ステップS14)。即ち、流速ベクトル群F
n-1、外力ベクトルEVn、境界条件ベクトル群BVに
基づき、初期条件ベクトル群IVnを設定する。そし
て、流体シミュレーションを実行する(ステップS1
5)。即ち、初期条件をIVnとして流体計算を行い、
フレームnでの流速ベクトル群FVn(流れ場)を求め
る。
【0167】次に、補正場マトリックスCMnを設定す
る(ステップS16)。即ち、ゲーム状況に応じた任意
の補正場マトリックスCMnを設定する。この際、補正
場(CMn)の各格子点を、流れ場(FVn)の各格子点
に対応させる。
【0168】次に、流れ場(FVn)の各格子点でのベ
クトル要素fvnと、補正場(CMn)の、対応する格子
点での要素(a、cv)とに基づき、補正処理後の流れ
場(FVn’)の各格子点でのベクトル要素fvn’を下
式のように計算する(ステップS17)。
【0169】fvn’=a×fvn+cv (6) そして、上記計算を全ての格子点について行うことで、
補正処理後の流速ベクトル群FVn’が求まる。
【0170】次に、求められたFVn’に基づき、操作
対象となるオブジェクトの移動処理及び流体表現パーテ
ィクルの発生処理(画像生成のために必要な処理)を行
う(ステップS18)。そして処理結果に基づき、当該
フレームについての描画処理を行い(ステップS1
9)、図15のステップS11に処理を戻す。
【0171】以上のようにすることで、図9で説明した
ような流体シミュレーションや得られた流れ場の補正処
理を実現できるようになる。
【0172】4.ハードウェア構成 次に、本実施形態を実現できるハードウェアの構成の一
例について図17を用いて説明する。
【0173】メインプロセッサ900は、CD982
(情報記憶媒体)に格納されたプログラム、通信インタ
ーフェース990を介して転送されたプログラム、或い
はROM950(情報記憶媒体の1つ)に格納されたプ
ログラムなどに基づき動作し、ゲーム処理、画像処理、
音処理などの種々の処理を実行する。
【0174】コプロセッサ902は、メインプロセッサ
900の処理を補助するものであり、高速並列演算が可
能な積和算器や除算器を有し、マトリクス演算(ベクト
ル演算)を高速に実行する。例えば、オブジェクトを移
動させたり動作(モーション)させるための物理シミュ
レーションに、マトリクス演算などの処理が必要な場合
には、メインプロセッサ900上で動作するプログラム
が、その処理をコプロセッサ902に指示(依頼)す
る。
【0175】ジオメトリプロセッサ904は、座標変
換、透視変換、光源計算、曲面生成などのジオメトリ処
理を行うものであり、高速並列演算が可能な積和算器や
除算器を有し、マトリクス演算(ベクトル演算)を高速
に実行する。例えば、座標変換、透視変換、光源計算な
どの処理を行う場合には、メインプロセッサ900で動
作するプログラムが、その処理をジオメトリプロセッサ
904に指示する。
【0176】データ伸張プロセッサ906は、圧縮され
た画像データや音データを伸張するデコード処理を行っ
たり、メインプロセッサ900のデコード処理をアクセ
レートする処理を行う。これにより、オープニング画
面、インターミッション画面、エンディング画面、或い
はゲーム画面などにおいて、MPEG方式等で圧縮され
た動画像を表示できるようになる。なお、デコード処理
の対象となる画像データや音データは、ROM950、
CD982に格納されたり、或いは通信インターフェー
ス990を介して外部から転送される。
【0177】描画プロセッサ910は、ポリゴンや曲面
などのプリミティブ(プリミティブ面)で構成されるオ
ブジェクトの描画(レンダリング)処理を高速に実行す
るものである。オブジェクトの描画の際には、メインプ
ロセッサ900は、DMAコントローラ970の機能を
利用して、オブジェクトデータを描画プロセッサ910
に渡すと共に、必要であればテクスチャ記憶部924に
テクスチャを転送する。すると、描画プロセッサ910
は、これらのオブジェクトデータやテクスチャに基づい
て、Zバッファなどを利用した陰面消去を行いながら、
オブジェクトをフレームバッファ922に高速に描画す
る。また、描画プロセッサ910は、αブレンディング
(半透明処理)、デプスキューイング、ミップマッピン
グ、フォグ処理、バイリニア・フィルタリング、トライ
リニア・フィルタリング、アンチエリアシング、シェー
ディング処理なども行うことができる。そして、1フレ
ーム分の画像がフレームバッファ922に書き込まれる
と、その画像はディスプレイ912に表示される。
【0178】サウンドプロセッサ930は、多チャンネ
ルのADPCM音源などを内蔵し、BGM、効果音、音
声などの高品位のゲーム音を生成する。生成されたゲー
ム音は、スピーカ932から出力される。
【0179】ゲームコントローラ942(レバー、ボタ
ン、筺体、パッド型コントローラ又はガン型コントロー
ラ等)からの操作データや、メモリカード944からの
セーブデータ、個人データは、シリアルインターフェー
ス940を介してデータ転送される。
【0180】ROM950にはシステムプログラムなど
が格納される。なお、業務用ゲームシステムの場合に
は、ROM950が情報記憶媒体として機能し、ROM
950に各種プログラムが格納されることになる。な
お、ROM950の代わりにハードディスクを利用する
ようにしてもよい。
【0181】RAM960は、各種プロセッサの作業領
域として用いられる。
【0182】DMAコントローラ970は、プロセッ
サ、メモリ(RAM、VRAM、ROM等)間でのDM
A転送を制御するものである。
【0183】CDドライブ980は、プログラム、画像
データ、或いは音データなどが格納されるCD982
(情報記憶媒体)を駆動し、これらのプログラム、デー
タへのアクセスを可能にする。
【0184】通信インターフェース990は、ネットワ
ークを介して外部との間でデータ転送を行うためのイン
ターフェースである。この場合に、通信インターフェー
ス990に接続されるネットワークとしては、通信回線
(アナログ電話回線、ISDN)、高速シリアルバスな
どを考えることができる。そして、通信回線を利用する
ことでインターネットを介したデータ転送が可能にな
る。また、高速シリアルバスを利用することで、他の画
像生成システムとの間でのデータ転送が可能になる。
【0185】なお、本発明の各手段は、その全てを、ハ
ードウェアのみにより実現(実行)してもよいし、情報
記憶媒体に格納されるプログラムや通信インターフェー
スを介して配信されるプログラムのみにより実現しても
よい。或いは、ハードウェアとプログラムの両方により
実現してもよい。
【0186】そして、本発明の各手段をハードウェアと
プログラムの両方により実現する場合には、情報記憶媒
体には、本発明の各手段をハードウェアを利用して実現
するためのプログラムが格納されることになる。より具
体的には、上記プログラムが、ハードウェアである各プ
ロセッサ902、904、906、910、930等に
処理を指示すると共に、必要であればデータを渡す。そ
して、各プロセッサ902、904、906、910、
930等は、その指示と渡されたデータとに基づいて、
本発明の各手段を実現することになる。
【0187】図18(A)に、本実施形態を業務用ゲー
ムシステム(画像生成システム)に適用した場合の例を
示す。プレーヤは、ディスプレイ1100、1101上
に映し出されたゲーム画像を見ながら、ガン型コントロ
ーラ1102、1103などを操作してゲームを楽し
む。内蔵されるシステムボード(サーキットボード)1
106には、各種プロセッサ、各種メモリなどが実装さ
れる。そして、本発明の各手段を実現するためのプログ
ラム(データ)は、システムボード1106上の情報記
憶媒体であるメモリ1108に格納される。以下、この
プログラムを格納プログラム(格納情報)と呼ぶ。
【0188】図18(B)に、本実施形態を家庭用のゲ
ームシステム(画像生成システム)に適用した場合の例
を示す。プレーヤはディスプレイ1200に映し出され
たゲーム画像を見ながら、ガン型コントローラ120
2、1204などを操作してゲームを楽しむ。この場
合、上記格納プログラム(格納情報)は、本体システム
に着脱自在な情報記憶媒体であるCD1206、或いは
メモリカード1208、1209などに格納されてい
る。
【0189】図18(C)に、ホスト装置1300と、
このホスト装置1300とネットワーク1302(LA
Nのような小規模ネットワークや、インターネットのよ
うな広域ネットワーク)を介して接続される端末130
4-1〜1304-n(ゲーム機、携帯電話)とを含むシ
ステムに本実施形態を適用した場合の例を示す。この場
合、上記格納プログラム(格納情報)は、例えばホスト
装置1300が制御可能な磁気ディスク装置、磁気テー
プ装置、メモリなどの情報記憶媒体1306に格納され
ている。端末1304-1〜1304-nが、スタンドア
ロンでゲーム画像、ゲーム音を生成できるものである場
合には、ホスト装置1300からは、ゲーム画像、ゲー
ム音を生成するためのゲームプログラム等が端末130
4-1〜1304-nに配送される。一方、スタンドアロ
ンで生成できない場合には、ホスト装置1300がゲー
ム画像、ゲーム音を生成し、これを端末1304-1〜
1304-nに伝送し端末において出力することになる。
【0190】なお、図18(C)の構成の場合に、本発
明の各手段を、ホスト装置(サーバー)と端末とで分散
して実現するようにしてもよい。また、本発明の各手段
を実現するための上記格納プログラム(格納情報)を、
ホスト装置(サーバー)の情報記憶媒体と端末の情報記
憶媒体に分散して格納するようにしてもよい。
【0191】またネットワークに接続する端末は、家庭
用ゲームシステムであってもよいし業務用ゲームシステ
ムであってもよい。そして、業務用ゲームシステムをネ
ットワークに接続する場合には、業務用ゲームシステム
との間で情報のやり取りが可能であると共に家庭用ゲー
ムシステムとの間でも情報のやり取りが可能なセーブ用
情報記憶装置(メモリカード、携帯型ゲーム装置)を用
いることが望ましい。
【0192】なお本発明は、上記実施形態で説明したも
のに限らず、種々の変形実施が可能である。
【0193】例えば、本実施形態では流体シミュレーシ
ョン演算を主に例にとり説明したが、本発明のシミュレ
ーション演算は流体シミュレーション演算に限定されな
い。また、第1、第2の場も流体場に限定されず、本発
明は種々の物理量に関する場に適用できる。
【0194】また、シミュレーション演算の手法も図2
〜図5で説明した手法に限定されず、Navier-Stokes方
程式とは異なる方程式に基づいてシミュレーション演算
を行ってもよい。
【0195】また、シミュレーション演算により得られ
たベクトルから補正処理後のベクトルを求める手法も、
図10(A)、(B)、(C)で説明した手法に限定さ
れるものではない。
【0196】更に補正場の設定手法も、図11(A)〜
図14で説明した手法以外にも、種々の変形実施が可能
である。
【0197】また、本発明のうち従属請求項に係る発明
においては、従属先の請求項の構成要件の一部を省略す
る構成とすることもできる。また、本発明の1の独立請
求項に係る発明の要部を、他の独立請求項に従属させる
こともできる。
【0198】また、本発明は種々のゲーム(格闘ゲー
ム、シューティングゲーム、ロボット対戦ゲーム、スポ
ーツゲーム、競争ゲーム、ロールプレイングゲーム、音
楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0199】また本発明は、業務用ゲームシステム、家
庭用ゲームシステム、多数のプレーヤが参加する大型ア
トラクションシステム、シミュレータ、マルチメディア
端末、ゲーム画像を生成するシステムボード等の種々の
画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムの機能ブロック
図の例である。
【図2】流体シミュレーションを行う際の手順について
説明するための模式的な図である。
【図3】流体シミュレーションを行う際の手順について
説明するためのフローチャートである。
【図4】図4(A)、(B)、(C)は、流れ場に対し
て外力に対応した流速ベクトルを与えた場合の場の状態
変化を模式的に表した図である。
【図5】境界条件について説明するための図である。
【図6】図6(A)、(B)は、操作対象となるオブジ
ェクトを直接操作する場合について説明するための図で
ある。
【図7】図7(A)、(B)は、操作対象となるオブジ
ェクトを間接的に操作する場合について説明するための
図である。
【図8】図8(A)(B)は、オブジェクトが流れ場か
ら受ける力を求める様子を表した図である。
【図9】流体シミュレーションにより得られた流れ場を
補正場を用いて補正する手法について説明するための図
である。
【図10】図10(A)、(B)、(C)、(D)は、
流れ場の各格子での流速ベクトルを、影響度情報と補正
ベクトル情報に基づいて求める手法について説明するた
めの図である。
【図11】図11(A)、(B)は、補正場の設定手法
について説明するための図である。
【図12】図12(A)、(B)も、補正場の設定手法
について説明するための図である。
【図13】図13(A)、(B)、(C)も、補正場の
設定手法について説明するための図である。
【図14】補正場の設定手法について説明するための図
である。
【図15】本実施形態の処理の詳細例について示すフロ
ーチャートである。
【図16】本実施形態の処理の詳細例について示すフロ
ーチャートである。
【図17】本実施形態を実現できるハードウェアの構成
の一例を示す図である。
【図18】図18(A)、(B)、(C)は、本実施形
態が適用される種々の形態のシステムの例を示す図であ
る。
【符号の説明】
HF 流れ場(第1の場) CF 補正場 HF’ 補正処理後の流れ場(第2の場) GP 格子点 FV 流速ベクトル EFV 外力に応じた流速ベクトル VH 仮想流体 OB オブジェクト 100 処理部 110 シミュレーション演算部 112 補正処理部 114 移動・動作演算部 120 画像生成部 130 音生成部 160 操作部 170 記憶部 172 主記憶部 174 描画バッファ 180 情報記憶媒体 190 表示部 192 音出力部 194 携帯型情報記憶装置 196 通信部

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】 画像生成を行う画像生成システムであっ
    て、 シミュレーション空間の各点での時間経過に伴う物理量
    の変化をシミュレーション演算により求め、前記物理量
    についての第1の場を求めるシミュレーション演算手段
    と、 求められた第1の場と、該第1の場を補正するための設
    定された補正場とに基づいて補正処理を行い、補正処理
    後の第2の場を求める補正処理手段と、 求められた第2の場に基づいて、画像生成のために必要
    な処理を行う手段とを含むことを特徴とする画像生成シ
    ステム。
  2. 【請求項2】 請求項1において、 シミュレーション空間の各点での前記第2の場のベクト
    ルが、シミュレーション空間の各点に設定される補正ベ
    クトル情報に基づいて求められることを特徴とする画像
    生成システム。
  3. 【請求項3】 請求項1又は2において、 シミュレーション空間の各点での前記第2の場のベクト
    ルが、シミュレーション空間の各点での前記第1の場の
    ベクトルと、シミュレーション空間の各点に設定され
    る、前記第1の場の前記第2の場に対する影響度情報と
    に基づいて求められることを特徴とする画像生成システ
    ム。
  4. 【請求項4】 請求項1乃至3のいずれかにおいて、 前記シミュレーション演算手段が、 前回のフレームで得られた補正処理後の第2の場ではな
    く、前回のフレームで得られた補正処理前の第1の場を
    初期条件に設定して、今回のフレームでの第1の場を求
    めるシミュレーション演算を行うことを特徴とする画像
    生成システム。
  5. 【請求項5】 請求項1乃至4のいずれかにおいて、 前記第1の場の領域外に前記補正場が設定されることを
    特徴とする画像生成システム。
  6. 【請求項6】 請求項1乃至5のいずれかにおいて、 シミュレーション空間内のコースに沿って移動するオブ
    ジェクトの移動をアシストするためのアシストベクトル
    の場が、前記補正場として設定されることを特徴とする
    画像生成システム。
  7. 【請求項7】 請求項1乃至6のいずれかにおいて、 シミュレーション空間内の他のオブジェクトを回避して
    移動するオブジェクトの移動をアシストするためのアシ
    ストベクトルの場が、前記補正場として設定されること
    を特徴とする画像生成システム。
  8. 【請求項8】 請求項1乃至7のいずれかにおいて、 前記第1の場が前記第2の場に与える影響度を制限又は
    無効にする場が、前記補正場として設定されることを特
    徴とする画像生成システム。
  9. 【請求項9】 請求項1乃至8のいずれかにおいて、 シミュレーション空間内においてオブジェクトを仮想的
    な流れに沿って移動させるための仮想的な流れ場が、前
    記補正場として設定されることを特徴とする画像生成シ
    ステム。
  10. 【請求項10】 請求項1乃至9のいずれかにおいて、 前記補正場の一部又は全部を、シミュレーション空間内
    を移動するオブジェクトに追従させて移動させることを
    特徴とする画像生成システム。
  11. 【請求項11】 請求項1乃至10のいずれかにおい
    て、 イベント発生及び時間経過の少なくとも一方に応じて前
    記補正場が設定されることを特徴とする画像生成システ
    ム。
  12. 【請求項12】 請求項1乃至11のいずれかにおい
    て、 操作手段からの操作データに基づいてシミュレーション
    演算を行うことで前記第1の場が求められ、 求められた前記第1の場と前記補正場とに基づいて、補
    正処理後の前記第2の場が求められ、 求められた前記第2の場をオブジェクトに作用させるこ
    とで該オブジェクトをシミュレーション空間内で移動又
    は回転させ、オブジェクトの移動又は回転を前記操作手
    段を用いて間接的に制御することを特徴とする画像生成
    システム。
  13. 【請求項13】 画像生成を行う画像生成システムであ
    って、 操作手段からの操作データに基づいて流体シミュレーシ
    ョン演算を行い、流れ場を求めるシミュレーション演算
    手段と、 求められた流れ場と、該流れ場を補正するための設定さ
    れた補正場とに基づいて補正処理を行い、補正処理後の
    流れ場を求める補正処理手段と、 補正処理後の流れ場をオブジェクトに作用させて、オブ
    ジェクトを移動又は回転させる処理を行う手段とを含む
    ことを特徴とする画像生成システム。
  14. 【請求項14】 コンピュータ使用可能なプログラムで
    あって、 シミュレーション空間の各点での時間経過に伴う物理量
    の変化をシミュレーション演算により求め、前記物理量
    についての第1の場を求めるシミュレーション演算手段
    と、 求められた第1の場と、該第1の場を補正するための設
    定された補正場とに基づいて補正処理を行い、補正処理
    後の第2の場を求める補正処理手段と、 求められた第2の場に基づいて、画像生成のために必要
    な処理を行う手段とをコンピュータに実現させることを
    特徴とするプログラム。
  15. 【請求項15】 請求項14において、 シミュレーション空間の各点での前記第2の場のベクト
    ルが、シミュレーション空間の各点に設定される補正ベ
    クトル情報に基づいて求められることを特徴とするプロ
    グラム。
  16. 【請求項16】 請求項14又は15において、 シミュレーション空間の各点での前記第2の場のベクト
    ルが、シミュレーション空間の各点での前記第1の場の
    ベクトルと、シミュレーション空間の各点に設定され
    る、前記第1の場の前記第2の場に対する影響度情報と
    に基づいて求められることを特徴とするプログラム。
  17. 【請求項17】 請求項14乃至16のいずれかにおい
    て、 前記シミュレーション演算手段が、 前回のフレームで得られた補正処理後の第2の場ではな
    く、前回のフレームで得られた補正処理前の第1の場を
    初期条件に設定して、今回のフレームでの第1の場を求
    めるシミュレーション演算を行うことを特徴とするプロ
    グラム。
  18. 【請求項18】 請求項14乃至17のいずれかにおい
    て、 前記第1の場の領域外に前記補正場が設定されることを
    特徴とするプログラム。
  19. 【請求項19】 請求項14乃至18のいずれかにおい
    て、 シミュレーション空間内のコースに沿って移動するオブ
    ジェクトの移動をアシストするためのアシストベクトル
    の場が、前記補正場として設定されることを特徴とする
    プログラム。
  20. 【請求項20】 請求項14乃至19のいずれかにおい
    て、 シミュレーション空間内の他のオブジェクトを回避して
    移動するオブジェクトの移動をアシストするためのアシ
    ストベクトルの場が、前記補正場として設定されること
    を特徴とするプログラム。
  21. 【請求項21】 請求項14乃至20のいずれかにおい
    て、 前記第1の場が前記第2の場に与える影響度を制限又は
    無効にする場が、前記補正場として設定されることを特
    徴とするプログラム。
  22. 【請求項22】 請求項14乃至21のいずれかにおい
    て、 シミュレーション空間内においてオブジェクトを仮想的
    な流れに沿って移動させるための仮想的な流れ場が、前
    記補正場として設定されることを特徴とするプログラ
    ム。
  23. 【請求項23】 請求項14乃至22のいずれかにおい
    て、 前記補正場の一部又は全部を、シミュレーション空間内
    を移動するオブジェクトに追従させて移動させることを
    特徴とするプログラム。
  24. 【請求項24】 請求項14乃至23のいずれかにおい
    て、 イベント発生及び時間経過の少なくとも一方に応じて前
    記補正場が設定されることを特徴とするプログラム。
  25. 【請求項25】 請求項14乃至24のいずれかにおい
    て、 操作手段からの操作データに基づいてシミュレーション
    演算を行うことで前記第1の場が求められ、 求められた前記第1の場と前記補正場とに基づいて、補
    正処理後の前記第2の場が求められ、 求められた前記第2の場をオブジェクトに作用させるこ
    とで該オブジェクトをシミュレーション空間内で移動又
    は回転させ、オブジェクトの移動又は回転を前記操作手
    段を用いて間接的に制御することを特徴とするプログラ
    ム。
  26. 【請求項26】 コンピュータ使用可能なプログラムで
    あって、 操作手段からの操作データに基づいて流体シミュレーシ
    ョン演算を行い、流れ場を求めるシミュレーション演算
    手段と、 求められた流れ場と、該流れ場を補正するための設定さ
    れた補正場とに基づいて補正処理を行い、補正処理後の
    流れ場を求める補正処理手段と、 補正処理後の流れ場をオブジェクトに作用させて、オブ
    ジェクトを移動又は回転させる処理を行う手段とをコン
    ピュータに実現させることを特徴とするプログラム。
  27. 【請求項27】 コンピュータにより読み取り可能な情
    報記憶媒体であって、請求項14乃至26のいずれかの
    プログラムを含むことを特徴とする情報記憶媒体。
JP2001020361A 2001-01-29 2001-01-29 画像生成システム、プログラム及び情報記憶媒体 Withdrawn JP2002222435A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JP2002222435A true JP2002222435A (ja) 2002-08-09

Family

ID=18886077

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2002222435A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008119222A (ja) * 2006-11-10 2008-05-29 Namco Bandai Games Inc プログラム、情報記憶媒体及びゲーム装置
JP2009148384A (ja) * 2007-12-19 2009-07-09 Sega Corp ゴルフシミュレータ、ゴルフゲーム装置及びプログラム
JP2009148385A (ja) * 2007-12-19 2009-07-09 Sega Corp ゴルフシミュレータ、ゴルフゲーム装置及びプログラム
JP2009169988A (ja) * 2009-05-07 2009-07-30 Namco Bandai Games Inc プログラム、情報記憶媒体及びゲーム装置
JP2010152910A (ja) * 2010-02-08 2010-07-08 Namco Bandai Games Inc プログラム、情報記憶媒体及びゲーム装置
WO2014018313A1 (en) * 2012-07-25 2014-01-30 Lumos Labs, Inc. Systems and methods for enhancing cognition
JP2014044596A (ja) * 2012-08-27 2014-03-13 Toppan Printing Co Ltd 画像生成装置、及び画像生成プログラム
CN104299265A (zh) * 2014-10-22 2015-01-21 电子科技大学 一种流体环境影响下的群体行为控制技术
US9116509B2 (en) 2013-06-03 2015-08-25 Lumos Labs, Inc. Rhythm brain fitness processes and systems
JP2017148206A (ja) * 2016-02-24 2017-08-31 株式会社カプコン ゲームプログラムおよびゲームシステム
CN108563919A (zh) * 2018-03-19 2018-09-21 中国石油化工股份有限公司 聚合物凝胶颗粒孔隙尺度运移的直接跟踪方法
US10380910B2 (en) 2013-07-01 2019-08-13 Lumos Labs, Inc. Physically intuitive response inhibition task for enhancing cognition
USD857707S1 (en) 2013-07-24 2019-08-27 Lumos Labs, Inc. Display screen of a computer with a graphical user interface with object tracking game

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008119222A (ja) * 2006-11-10 2008-05-29 Namco Bandai Games Inc プログラム、情報記憶媒体及びゲーム装置
JP2009148384A (ja) * 2007-12-19 2009-07-09 Sega Corp ゴルフシミュレータ、ゴルフゲーム装置及びプログラム
JP2009148385A (ja) * 2007-12-19 2009-07-09 Sega Corp ゴルフシミュレータ、ゴルフゲーム装置及びプログラム
JP2009169988A (ja) * 2009-05-07 2009-07-30 Namco Bandai Games Inc プログラム、情報記憶媒体及びゲーム装置
JP4583489B2 (ja) * 2009-05-07 2010-11-17 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
JP2010152910A (ja) * 2010-02-08 2010-07-08 Namco Bandai Games Inc プログラム、情報記憶媒体及びゲーム装置
US8821242B2 (en) 2012-07-25 2014-09-02 Lumos Labs, Inc. Systems and methods for enhancing cognition
WO2014018313A1 (en) * 2012-07-25 2014-01-30 Lumos Labs, Inc. Systems and methods for enhancing cognition
JP2014044596A (ja) * 2012-08-27 2014-03-13 Toppan Printing Co Ltd 画像生成装置、及び画像生成プログラム
US9116509B2 (en) 2013-06-03 2015-08-25 Lumos Labs, Inc. Rhythm brain fitness processes and systems
US10380910B2 (en) 2013-07-01 2019-08-13 Lumos Labs, Inc. Physically intuitive response inhibition task for enhancing cognition
USD857707S1 (en) 2013-07-24 2019-08-27 Lumos Labs, Inc. Display screen of a computer with a graphical user interface with object tracking game
USD916833S1 (en) 2013-07-24 2021-04-20 Lumos Labs, Inc. Display screen of a computer with a graphical user interface with object tracking game
USD928827S1 (en) 2013-07-24 2021-08-24 Lumos Labs, Inc. Display screen of a computer with a graphical user interface with object tracking game
CN104299265A (zh) * 2014-10-22 2015-01-21 电子科技大学 一种流体环境影响下的群体行为控制技术
CN104299265B (zh) * 2014-10-22 2017-07-25 电子科技大学 一种流体环境影响下的群体行为控制方法
JP2017148206A (ja) * 2016-02-24 2017-08-31 株式会社カプコン ゲームプログラムおよびゲームシステム
CN108563919A (zh) * 2018-03-19 2018-09-21 中国石油化工股份有限公司 聚合物凝胶颗粒孔隙尺度运移的直接跟踪方法
CN108563919B (zh) * 2018-03-19 2022-04-19 中国石油化工股份有限公司 聚合物凝胶颗粒孔隙尺度运移的直接跟踪方法

Similar Documents

Publication Publication Date Title
JP2002222435A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2002216158A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2006285511A (ja) プログラム、情報記憶媒体、及び画像生成システム
US20020193161A1 (en) Game system, program and image generation method
JP2001143099A (ja) 画像生成システム及び情報記憶媒体
JP2001079261A (ja) 画像生成システム及び情報記憶媒体
JP2001229403A (ja) ゲームシステム及び情報記憶媒体
JP4743733B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2005209217A (ja) ゲームシステム及び情報記憶媒体
JP2007272273A (ja) 画像生成システム、プログラム、及び情報記憶媒体
JP2003044876A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3254195B2 (ja) 画像生成システム及び情報記憶媒体
JP4574058B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2002216167A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2006318196A (ja) プログラム、情報記憶媒体及び画像生成システム
JP3431562B2 (ja) ゲームシステム及び情報記憶媒体
JP4229316B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4592087B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2003175274A (ja) ゲームシステム及び情報記憶媒体
JP3442336B2 (ja) ゲームシステム及び情報記憶媒体
JP4803909B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4475763B2 (ja) ゲームシステム及び情報記憶媒体
JP4162125B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2002216151A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4632521B2 (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: 20080401