JP4743733B2 - 画像生成システム、プログラム及び情報記憶媒体 - Google Patents
画像生成システム、プログラム及び情報記憶媒体 Download PDFInfo
- Publication number
- JP4743733B2 JP4743733B2 JP2001005746A JP2001005746A JP4743733B2 JP 4743733 B2 JP4743733 B2 JP 4743733B2 JP 2001005746 A JP2001005746 A JP 2001005746A JP 2001005746 A JP2001005746 A JP 2001005746A JP 4743733 B2 JP4743733 B2 JP 4743733B2
- Authority
- JP
- Japan
- Prior art keywords
- particle
- given
- frame
- trajectory
- image
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Description
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ロールプレイングゲーム(Role Playing Game:RPG)を楽しむことができる画像生成システムを例にとれば、プレーヤは、自身の分身であるキャラクタ(オブジェクト)を操作してオブジェクト空間内のマップ上で移動させ、敵キャラクタと対戦したり、他のキャラクタと対話したり、様々な町を訪れたりすることでゲームを楽しむ。
【0003】
さて、このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な課題になっている。従って、ゲーム画面中に表示される水飛沫、炎や煙等の現象についても、よりリアルに表現できることが望まれる。
【0004】
このような特殊な効果を表現するための画像生成システムとして、パーティクルシステムが知られている。
【0005】
パーティクルシステムは、一定の規則に従って生成した多数のパーティクル(粒子)を用い、各パーティクルに設定された色、位置等の属性を、ある規則に従って、発生、移動、消滅させる。これにより、パーティクルの粒子を、上述した不定形の現象を表現するものとして扱うことができる。
【0006】
しかしながら、これまでのパーティクルシステムのように、単にパーティクルを生成して、移動若しくは消滅させるだけでは、よりリアルな水飛沫や、炎や煙等を表現できない。例えば、海岸の岩場に波が打ち寄せたときに現れる水飛沫を表現する場合、波が岩場に衝突した後に一様に消えてしまうようでは、リアルな表現とは言い難い。
【0007】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、水飛沫や炎、煙等のリアルで高品質な画像を生成できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【0008】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行う画像生成システムであって、所与のパーティクル発生地点を通り時間又はフレーム経過に伴い所与の軌跡を描く軌跡関数を用いて、与えられた時間又はフレームのフレーム番号に関連付けられたパーティクルの位置を求める位置演算手段と、求められた位置にパーティクルを生成する画像生成手段とを含むことを特徴とする。
【0009】
また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(情報記憶媒体又は搬送波に具現化されるプログラム)であって、上記手段をコンピュータに実現させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段をコンピュータに実現させるためのプログラムを含むことを特徴とする。
【0010】
ここで、パーティクルとは、水飛沫等のように、その形状が変形する不定形な表示物を表現するために多数集まった1つ粒子を意味し、各粒子に設定された色、位置等の属性は、ある規則に従って、発生、移動、消滅する。
【0011】
軌跡関数とは、与えられた時間又はフレーム時間に関連付けて、上記パーティクルの位置を出力するものである。
【0012】
本発明によれば、このような軌跡関数に基づいて、パーティクルの位置を時間若しくはフレームを特定するためのフレームに関連付けて求め、当該位置にパーティクルを生成するようにした。これにより、例えば岩場に衝突した波の水飛沫が飛び散る現象をよりリアルに表現することができ、パーティクル発生イベントによって発生したパーティクルの画像として、尾を引きながら飛び散っていく様子をリアルに表現することができる。
【0013】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記所与のパーティクル発生地点を通る複数の前記軌跡関数それぞれに基づきパーティクルの位置を求めることを特徴とする。
【0014】
本発明によれば、1つのパーティクル発生地点を通る複数の軌跡関数について、それぞれ位置を演算し、当該位置にパーティクルを生成するようにしたので、軌跡関数により、パーティクルの移動速度、高さ、方向を異ならせることで、パーティクルを用いて表現するオブジェクトの画像として、各パーティクルが飛び散って広がる様子をリアルに表現することができる。
【0015】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記軌跡関数を用いて、所与のフレームの前後の1又は複数のフレームのフレーム番号に基づき求まる複数の位置にパーティクルを生成することを特徴とする。
【0016】
本発明によれば、1つの軌跡関数を用いて、複数のパーティクルの位置を、フレーム番号の前後の1又は複数のフレームのフレーム番号に基づいて求めるようにした。これにより、ボリューム感のある画像表示をリアルに表現することができる。特に、フレームの前後のパーティクルを同一軌跡関数に基づいて表現することで、飛び散る様子をリアルに表現することができるようになる。
【0017】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、第nフレームにおいて第(n−m)フレームから第(n+m)フレームのフレーム番号に関連付けられた位置にパーティクルを用いた画像を生成する場合、少なくともパーティクルを用いて表現する画像の可視化が開始されるフレームよりmフレーム以上前から生成することを特徴とする。
【0018】
ここで、パーティクルを用いて表現する画像とは、求められた位置にパーティクルを生成したり、当該位置に所与のオブジェクトを配置することによって、例えば水飛沫等を表現するオブジェクト画像やオブジェクト画像を構成するプリミティブ画像をいう。
【0019】
また、可視化が開始されるフレームとは、上記パーティクルを用いて表現する画像が可視化を開始するフレームを意味し、例えば当該画像の可視化開始イベントの発生により特定される。この可視化開始イベントの検出は、例えば波と岩場との衝突を検出するヒット判定に基づき検出するようにしてもよいし、あらかじめフレーム時間により指定するようにしてもよい。
【0020】
本発明によれば、可視化が開始されるフレームにおいて、軌跡関数に基づいて数珠繋ぎ状で配置されたパーティクルがいきなり出現するといった不自然な表現を回避することができる。
【0021】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記求められた位置に、パーティクル表現オブジェクトを設定するパーティクル設定手段を含み(或いは該手段をコンピュータに実現させる、或いは該手段をコンピュータに実現させるためのプログラムを含み)、前記画像生成手段は、オブジェクト空間内の所与の視点での画像を生成することを特徴とする。
【0022】
ここで、パーティクル表現オブジェクトとは、上記したパーティクルによる表現をポリゴン等で実現したオブジェクトを意味し、上記したパーティクルによる表現をポリゴン等で実現したオブジェクトを構成するプリミティブであってもよい。
【0023】
本発明によれば、求めた位置に上述したようなパーティクル表現オブジェクトを配置することによって、所与のパーティクル処理を行って画像表示を行う水飛沫等を表現した場合に、処理能力の軽減を図ることができる。
【0024】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、時間又はフレームの経過に伴い、パーティクルを用いて表示されるオブジェクトのサイズが大きくなることを特徴とする。
【0025】
ここで、パーティクルを用いて表示されるオブジェクトのサイズは、パーティクルの広がる範囲を変更するようにしてもよいし、パーティクルの位置に配置されるパーティクル表現オブジェクト自体の大きさを変更するようにしてもよい。
【0026】
本発明によれば、時間経過に伴って、パーティクルを用いて表示されるオブジェクトのサイズを大きくするようにしたので、例えば岩場に衝突した波の水飛沫が飛び散る現象を、自然に広がる様子をよりリアルに表現することができる。
【0027】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、同一軌跡関数に基づき複数フレーム分の前記オブジェクトの画像を生成する場合、互いのオブジェクトのすき間が空かないように間隔を設けて画像を生成することを特徴とする。
【0028】
ここで、互いのオブジェクトのすき間とは、パーティクル又はパーティクルの位置に配置されたパーティクル表現オブジェクト等のオブジェクト同士の間隔を意味し、オブジェクト同士を重複させることによって、生成した画像のボリューム感を向上させることができる。
【0029】
本発明によれば、複数フレーム分のパーティクルを用いて表示される画像を、同一軌跡関数に基づく位置に生成し、しかも互いのオブジェクトのすき間が空かないように間隔を設けるようにしたので、例えば発生した水飛沫が尾を引くように時間の経過を伴って飛び散っていく様子についてもボリューム感を与え、リアルに表現することができる。なお、この場合、時間又はフレームの経過に伴い、互いのオブジェクトのすき間が空かないように間隔を広げて画像を生成することが望ましい。
【0030】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記軌跡関数は、放物線の軌跡関数であることを特徴とする。
【0031】
本発明によれば、重力の影響を加味したパーティクルの動きを表現することができるので、自然現象をよりリアルに表現することができる。
【0032】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、パーティクルを用いて表現する画像は、水飛沫、滝、噴水、炎、火柱、花火、煙、砂煙、水煙、霧、爆発、砂塵又は雲等の不定形な表示物を表現するオブジェクト画像の少なくとも一部であることを特徴とする。
【0033】
ここで、表現するオブジェクトは、上記画像に限定されるものではなく、不定形な表示物を表現する画像であればよく、特に自然現象の表現に好適である。
【0034】
本発明によれば、所与のパーティクル処理により、四方八方に飛び散って広がり、やがて消えるといった自然現象について、よりリアルに画像表示を行うことができるようになる。
【0035】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【0036】
1. 構成
図1に、本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の一例を示す。
【0037】
なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170を含めばよく)、それ以外のブロックについては任意の構成要素とすることができる。
【0038】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、或いは筺体等のハードウェアにより実現できる。
【0039】
記憶部170は、処理部100や通信部196等のワーク領域となるもので、その機能はRAM等のハードウェアにより実現できる。
【0040】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータ等を格納するものであり、その機能は、光ディスク(CD(Compact Disc)、DVD(Digital Versatile Disc/Digital Video Disc)、光磁気ディスク(Magneto Optical:MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(Read Only Memory:ROM)等のハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)をコンピュータに実現(実行、機能)させるためのプログラムが格納され、このプログラムは、例えば1又は複数のモジュール(オブジェクト指向におけるオブジェクトも含む)を含む。
【0041】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データ、本発明の処理を指示するための情報、或いはその指示に従って処理を行うための情報等を含ませることができる。
【0042】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、或いはHMD(ヘッドマウントディスプレイ)等のハードウェアにより実現できる。
【0043】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ等のハードウェアにより実現できる。
【0044】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータ等が記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置等を考えることができる。
【0045】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASIC(Application Specific Integrated Circuit)等のハードウェアや、プログラム等により実現できる。
【0046】
なお本発明(本実施形態)の各手段を実現(実行、機能)するためのプログラム(データ)は、ホスト装置(サーバ)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバ)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0047】
処理部100(プロセッサ)は、操作部160からの操作データやプログラム等に基づいて、ゲーム処理、画像生成処理、或いは音生成処理等の各種の処理を行う。この場合、処理部100は、記憶部170をワーク領域として使用して、各種の処理を行う。
【0048】
ここで、処理部100が行う処理としては、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(1又は複数のプリミティブ)の位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクト等のオブジェクトをオブジェクト空間へ配置する処理、ヒット判定処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理等を考えることができる。
【0049】
処理部100は、オブジェクト位置演算部112、パーティクル表現オブジェクト設定部114、画像生成部120、音生成部130を含む。なお、処理部100に、これらの全ての機能ブロック110〜130を含ませる必要はなく、一部の機能ブロックを省略する構成にしてもよい。
【0050】
ここで、オブジェクト位置演算部112は、オブジェクト空間において、水飛沫、滝、噴水、炎、火柱、花火、煙、砂煙、水煙、霧、爆発、砂塵又は雲等を表現するパーティクル表現オブジェクト(若しくはプリミティブ。以下同様。)の位置(座標)をオブジェクト位置として、所与の軌跡関数に基づいて求める。そのため、本実施形態におけるオブジェクト位置演算部112は、まず軌跡関数に基づいて、パーティクル(粒子)の位置を求め、当該位置をパーティクル表現オブジェクトが配置されるオブジェクト位置とする。
【0051】
なお、軌跡関数は、時間(或いはフレーム周期)の経過に伴い、オブジェクト位置の軌跡を描く関数であり、所与のパーティクル発生地点を起点、若しくは通過点とする。このような軌跡関数としては、例えばオブジェクト空間におけるX座標、Y座標、Z座標ごとに互いに独立し、時間(フレーム時間)を変数とした関数とすることができる。
【0052】
本実施形態におけるオブジェクト位置演算部112は、所与のパーティクル発生イベントの検出により、例えば30Hzや60Hz等の所与の時間間隔(フレーム周期)ごとに更新されるフレームを特定するフレーム番号(或いは時間)に基づいて、当該フレーム及びその前後の1又は複数フレームにおけるパーティクルの位置を求める処理を行う。また、このオブジェクト位置演算部112は、上述したパーティクル発生地点を起点とした複数の軌跡関数について、それぞれ上述したようにオブジェクト位置を求める。
【0053】
パーティクル表現オブジェクト設定部114は、オブジェクト位置演算部112によって求められたオブジェクト位置に、パーティクル表現オブジェクトを配置(設定)する。
【0054】
パーティクル(広義には、オブジェクト)は、上述した水飛沫等のように、その形状が変形する不定形な表示物を表現するために多数集まった1つ粒子を意味し、各粒子に設定された色、位置等の属性は、ある規則に従って、発生、移動、消滅する。パーティクル表現オブジェクトは、このようなパーティクルによる表現をポリゴン等で実現したオブジェクトを意味する。このように、パーティクルに代えてパーティクル表現オブジェクトで、上述した水飛沫等を表現することで、処理能力の軽減を図ることができる。
【0055】
画像生成部120は、処理部100で行われる種々の処理の結果に基づいて画像処理を行い、ゲーム画像を生成し、表示部190に出力する。すなわち、パーティクル表現オブジェクトにより水飛沫等を表現する場合は、オブジェクト位置演算部112により求められた位置のパーティクル表現オブジェクトに対して、所与の視点からのオブジェクト画像を生成し、パーティクルにより水飛沫等を表現する場合は、オブジェクト位置演算部112により求められた位置にパーティクルを生成する。
【0056】
ここで、いわゆる3次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、プリミティブデータ(プリミティブの構成点(頂点)の位置座標、テクスチャ座標、色(輝度)データ、法線ベクトル或いはα値等)が作成される。そして、このプリミティブデータ(ポリゴン、自由曲面又はサブディビジョンサーフェス等のプリミティブのデータ。描画データ)に基づいて、ジオメトリ処理後のオブジェクト(1又は複数のプリミティブ)の画像が、記憶部170における描画バッファ(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画される。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成されるようになる。
【0057】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM(Back Ground Music)、効果音、又は音声等のゲーム音を生成し、音出力部192に出力する。
【0058】
画像生成部120は、パーティクル処理部122、ジオメトリ処理部124、描画部126を含む。
【0059】
ここで、パーティクル処理部122は、上述したパーティクル表現オブジェクト(例えば、水飛沫を表現する場合は、水飛沫パーティクル表現オブジェクト、炎を表現する場合は、炎パーティクル表現オブジェクト)を、時間経過に伴い、順次発生させたり、消滅させたりする等の所与のパーティクル処理を行う。より具体的には、パーティクル表現オブジェクトそれぞれに設定される発生量、発生間隔、寿命をランダム或いは一定規則にしたがって変化させたり、パーティクル若しくはパーティクル表現オブジェクトのサイズを変更したりする処理を行う。これにより、水飛沫や炎等の不定形な表示物をリアルに表現できるようになる。
【0060】
なお、パーティクルにより、上述したようなその形状が変形する不定形な表示物(上述した水飛沫等)を表現する場合には、そのパーティクル(例えば、水飛沫を表現する場合は、水飛沫パーティクル、炎を表現する場合は、炎パーティクル)を、時間経過に伴い、順次発生させたり、消滅させたりする処理を行う。より具体的には、パーティクルそれぞれに設定された寿命、色、透明度、サイズ、位置、加速度、方向ベクトル、発生間隔、構成するポリゴン数、分割数又はパーティクル表現オブジェクトのLODレベル等をランダム或いは一定規則にしたがって変化させる処理を行う。これにより、水飛沫や炎等の不定形な表示物をリアルに表現できるようになり、パーティクルの位置にパーティクル表現オブジェクトを配置することができるようになる。
【0061】
ジオメトリ処理部124は、ローカル座標系からワールド座標系への座標変換、ワールド座標系から視点座標系への座標変換、スクリーン座標系への透視変換、クリッピング等の種々のジオメトリ処理(3次元演算)を、オブジェクトに対して行う。そして、ジオメトリ処理により得られた描画データ(2次元のプリミティブ面の定義点の位置座標、テクスチャ座標、色(輝度)データ、或いはα値等)は、記憶部170に格納されて、保存される。
【0062】
描画(レンダリング)部126は、ジオメトリ処理により得られ、記憶部170に保存された描画データに基づいて、テクスチャマッピングや色(輝度)データの補間処理や陰面消去等を行いながら、オブジェクトのプリミティブ面を記憶部170のフレームバッファに描画する。これにより、オブジェクトが配置されるオブジェクト空間内の所与の視点(仮想カメラ)での画像が生成されるようになる。
【0063】
なお、本実施形態の画像生成システム(ゲームシステム)は、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0064】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)等で接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0065】
2. 本実施形態の特徴
次に本実施形態の特徴について図面を用いて説明する。なお、以下では、水飛沫の表現に本発明を適用した場合を主に例にとり説明するが、本発明は水飛沫の表現以外の他の画像表現(滝、噴水、炎、火柱、花火、煙、砂煙、水煙、霧、爆発、砂塵又は雲等の表現)にも適用可能である。
【0066】
2.1 軌跡関数に基づき配置した複数オブジェクトによる表現
本実施形態では、図2(A)に示すように、時間を変数として所与のパーティクル発生地点を起点(若しくは通過点)とした1つの軌跡関数により求められる複数のオブジェクト位置それぞれに、パーティクル表現オブジェクトを配置する。そして、フレーム(若しくは時間)の経過に伴い、パーティクル処理が行われたパーティクル表現オブジェクトを軌跡関数上で移動させることで、水飛沫の表現を行う。以下では、軌跡関数は、時間を変数としてパーティクル発生地点を起点とし、フレームの経過に伴い、パーティクル表現オブジェクトを軌跡関数上で移動させるものとする。
【0067】
軌跡関数は、フレームを特定するためのフレーム番号を変数として、配置すべきパーティクル表現オブジェクトのオブジェクト空間におけるX座標、Y座標、Z座標を返すようになっている。そして、このような軌跡関数に基づき、フレーム番号に対応した位置にパーティクル表現オブジェクトが配置される。
【0068】
なお、Y座標を求めるための軌跡関数gについては、自然現象をよりリアルに表現するためにも重力を加味した放物線の軌跡であることが望ましい。
【0069】
また、画像表現の態様によっては、配置するパーティクル表現オブジェクトは当該フレーム分のみでもよいが、同一軌跡関数に基づき当該フレームに関連付けられた位置の他、少なくとも当該フレームの前又は後の1又は複数フレームのフレーム番号に対応した位置にもパーティクル表現オブジェクトを配置することによって、複数フレームにわたって水飛沫が次第に消滅していく軌跡を効果的に表現することが可能となる。
【0070】
このような軌跡関数としては、例えばフレーム番号に基づいて、X座標、Y座標、Z座標がそれぞれ別個の独立した関数を用いることができる。
【0071】
フレーム番号は、その更新タイミングが、例えば表示部に出力する垂直同期信号Vsyncがアクティブになるタイミングでカウントアップされるカウント値(カウント値の変数)を用いて取得してもよいし、画像生成システムが有するリアルタイムクロックのタイマを用いて取得してもよい。これにより、フレーム番号を、垂直走査周期を単位とした時間に対応させることができる。
【0072】
本実施形態では、所与のパーティクル発生地点を起点とした軌跡関数に基づき、所定の時間間隔を置いて求められたパーティクルの位置にパーティクル表現オブジェクトを配置する。パーティクル表現オブジェクトが配置される時間間隔は、例えば1フレーム又は数フレーム単位の等間隔であってもよいが、ランダム関数に基づいて決定することによって、よりリアルな現象を表現することができる。
【0073】
その際、各位置に表示されるパーティクル表現オブジェクトは、例えば透明度が減少したり、寿命の計算等のパーティクル処理が行われている。本実施形態では、水飛沫を表現する場合、時間経過に伴ってパーティクルのサイズを大きくすると共に、同一軌跡関数上に配置される互いのパーティクル表現オブジェクトが重複した状態のまま時間間隔を広げる。これにより、水飛沫の発生当初は小さな水飛沫が、次第に大きくなる様子を表現することができると共に、複数フレーム分のパーティクル表現オブジェクトが同一軌跡関数上の位置に配置することにより尾を引くような特有の軌跡を描くことができる。
【0074】
図2(A)〜(D)に、本実施形態において軌跡関数上を移動するパーティクル表現オブジェクトを模式的に示す。
【0075】
ここでは、フレーム番号tに基づいてY座標の位置を特定する軌跡関数gについて、第1のフレームから第4のフレームにフレームが経過するのに伴って、パーティクル表現オブジェクトが配置されるパーティクル位置P1〜P3のY座標の変化の様子を示している。
【0076】
すなわち、パーティクル発生地点(例えば、図2(A)における原点)において、それぞれΔt1、Δt2の時間間隔を置いて設定されたパーティクル位置P1〜P3について、第1のフレームから所与のフレームが経過した第2のフレームでは、それぞれΔt12、Δt22の時間間隔に広げられて、軌跡関数gによりY座標が決定される。これ以降、フレームが経過して第4のフレームに進むに伴い、各パーティクル位置P1〜P3に配置されるパーティクル表現オブジェクトが重複して表示されるように、各パーティクル位置P1〜P3の間隔が広げられる。
【0077】
また、軌跡関数gと独立したX座標の位置を特定する軌跡関数f及びZ座標の位置を特定する軌跡関数hについても同様である。
【0078】
このように、例えばパーティクル発生地点から、パーティクル発生イベントの検出に基づき、図2(A)〜(D)に示すように所与のパーティクル発生地点を起点とした軌跡関数に基づき、複数フレームのフレーム番号に対応した位置それぞれにパーティクル表現オブジェクトを配置し、フレームの経過に伴い当該軌跡関数上を移動させる。この際、次第にパーティクル表現オブジェクトのサイズを大きくするとともに、各フレームの間隔を広げる。これにより、例えば岩場に衝突した波の水飛沫が飛び散る現象を、重力加速度により自然に広がる様子をよりリアルに表現することができる。この場合、発生した水飛沫が尾を引くように時間の経過に伴って飛び散っていく様子についてもリアルに表現することができる。
【0079】
2.2 パーティクル発生地点から複数の軌跡関数による表現
また、本実施形態では、所与のパーティクル発生地点において、当該地点を起点とした上述したような複数の軌跡関数が設定されている。各軌跡関数に基づき、上述したようにフレーム経過に伴い移動する複数のパーティクル表現オブジェクトが配置される。
【0080】
図3に、本実施形態において、所与のパーティクル発生地点を起点とした複数の軌跡関数を模式的に示す。
【0081】
ここでは、パーティクル発生地点のY座標GYを起点として、フレーム番号tに基づいて互いに異なるY座標の位置を特定する軌跡関数g1〜g4が設定されているイメージを模式的に示している。なお、同様にパーティクル発生地点のX、Z座標GX、GZを起点として、フレーム番号tに基づいてX、Z座標の位置を特定する軌跡関数f1〜fM(Mは、2以上の自然数)、h1〜hL(Lは、2以上の自然数)が設定される。
【0082】
このように、パーティクル発生地点G(GX、GY、GZ)を起点として、互いに移動方向及び移動量の異なる複数の軌跡関数を設定することによって、例えば岩場と波の衝突地点から、波が岩場に衝突したことを意味するパーティクル発生イベントの検出に基づいて、各軌跡関数上で複数フレームのパーティクル位置におけるパーティクル表現オブジェクトを移動させることによって、よりリアルな水飛沫を表現することができる。この場合、軌跡曲線によって水飛沫が飛び散る速度、高さ、方向を異ならせることで、より複雑な現象を表現することができる。
【0083】
このとき、パーティクル発生イベントの検出タイミングと、水飛沫等が飛び散る様子を表現する画像の表示タイミングとを異ならせることで、よりリアルな画像表現を行うことも考えられる。
【0084】
また、例えばパーティクル発生地点Gが含まれない平面Sと軌跡関数g1〜g4との交点G1〜G4を可視化開始地点として、平面Sの上側を可視化領域とした場合、可視化領域のパーティクル表現オブジェクトの画像を生成することにより、水飛沫等が飛び散って広がる様子をリアルに表現することができる。
【0085】
ここで、可視化開始地点とは、パーティクルを用いて表現する画像が可視化を開始する地点を意味し、例えば当該画像の可視化開始イベントの発生により特定される。この可視化開始イベントの検出は、例えば波と岩場との衝突を検出するヒット判定に基づき検出するようにしてもよいし、あらかじめフレーム時間により指定するようにしてもよい。
【0086】
さらに、パーティクル発生地点Gと、ヒット判定が行われる平面Sとの間の助走間隔を設けるようにしたので、各軌跡関数上で所与のフレーム経過後における位置G1〜G4でのヒット判定を行う代わりに、位置G1〜G4の代表点としてパーティクル発生地点Gにおいてヒット判定を行うことによって、処理を大幅に軽減することができる。
【0087】
なお、パーティクル発生地点を起点として複数の軌跡関数を設定した場合に、各軌跡関数に基づいて当該フレームのパーティクル表現オブジェクト(1フレーム分のパーティクル表現オブジェクト)を配置するだけでも、例えば水飛沫の水滴が飛び散る様子をよりリアルに表現できる。
【0088】
2.3 数珠繋ぎによる表現
さらに本実施形態では、上述したように軌跡関数に基づき求められたオブジェクト位置に複数のパーティクル表現オブジェクトを配置する場合、あらかじめ所与の時間間隔で複数のパーティクル表現オブジェクトを軌跡関数に基づいて配置してから順次可視化開始地点に到達するように、各パーティクル表現オブジェクトが配置されるパーティクルの位置の軌跡関数の起点であるパーティクル発生地点が設定されている。
【0089】
このように本実施形態では、パーティクル発生地点と可視化開始地点とが異なり、パーティクル発生地点からフレーム経過に伴い軌跡関数上を移動するパーティクル表現オブジェクトが、所与のフレームが経過後に、可視化開始地点に到達するようになっている。
【0090】
これにより、パーティクル発生地点からパーティクル処理が開始されたパーティクル表示オブジェクトは、例えば時間経過に伴い、パーティクル表現オブジェクトごとに設定された透明度を減少させて次第に消滅させたりする処理が行われる。その際、可視化開始地点を通過したパーティクル表現オブジェクトが、フレーム経過と共にサイズが大きくなり、互いのパーティクル表現オブジェクトのすき間が空かないようにすることにより、ボリューム感をもって飛び散る様子をリアルに表現することができるようになる。
【0091】
図4(A)〜(D)に、上述した軌跡関数上を移動する複数のパーティクル表現オブジェクトを模式的に示す。
【0092】
ここでは、フレーム番号tに基づいてY座標の位置を特定する軌跡関数gについて示し、パーティクル発生地点のY座標をGY、可視化開始地点のY座標をGPYとする。例えば波の水飛沫を表現する場合、波と岩場が衝突する衝突地点を可視化開始地点として考えることができる。
【0093】
パーティクル発生地点を起点とした軌跡関数g上に複数のパーティクル表現オブジェクトが配置された場合、これらパーティクル位置P1〜P5は、例えば所与のフレーム経過後に、図4(A)に示すようにその先頭のパーティクル位置P1が可視化開始地点に到達する。
【0094】
その後、フレームの経過に伴い、パーティクル位置P2〜P5は順次軌跡関数gに沿って移動し、図4(B)に示すように、パーティクル処理開始地点からパーティクル位置P1、P2が軌跡関数gにしたがって軌跡を描くようになる。
【0095】
すなわち、パーティクル表現オブジェクトは、パーティクル発生地点GYから、フレームの経過に伴いパーティクル処理が開始され、例えばパーティクル表現オブジェクトに寿命が設定されている場合、寿命の計算が開始されることになる。しかし、実際に画像表示が行われるのは、可視化開始地点GPYの通過以降となる。したがって、図4(A)ではパーティクル位置P1に配置されたパーティクル表現オブジェクトの画像が表示され、図4(B)ではパーティクル位置P1、P2に配置されたパーティクル表現オブジェクトの画像が表示されることになる。
【0096】
その後、さらにフレームの経過に伴い、パーティクル位置P3〜P5も順次軌跡関数gに沿って可視化開始地点を通過し、結果的に図4(D)に示すように軌跡関数gに沿って移動する複数のパーティクル表現オブジェクトが配置される。
【0097】
本実施形態では、当該フレームにおける軌跡関数に基づき求められたオブジェクト位置にパーティクル表現オブジェクトを配置するとき、当該フレームの前後mフレーム分だけ、所与の時間間隔を置いて複数のパーティクル表現オブジェクトを配置する。例えば、図4(A)〜(D)において、パーティクル位置P3の位置を当該フレームのフレーム番号に対応する位置とし、その前後の所与の時間間隔を置いた2フレーム分のフレーム番号に対応する位置を求め、各位置にパーティクル表現オブジェクトを配置する。
【0098】
したがって、本実施形態では、フレーム番号「0」によって特定される第0フレームにおいて可視化が開始されるため、少なくとも第(−m)フレーム以上前から軌跡関数に基づき求められたオブジェクト位置にパーティクル表現オブジェクトを配置している。こうすることで、例えば波の水飛沫を表現する場合、波と岩場が衝突する衝突地点を可視化開始地点とし、波が岩場に衝突した時点をパーティクル発生イベントとして検出することにより、図4(C)のように軌跡関数に基づいて配置された複数のパーティクル表現オブジェクトがいきなり出現するといった不自然な表現を回避することができる。この場合、図4(B)に示すように、可視化開始地点から徐々にパーティクル表現オブジェクトが現れ、その結果ボリューム感をもった状態で軌跡を描いてやがて消滅する水飛沫を表現することができる。
【0099】
なお、ここでは、フレーム番号に基づいて、オブジェクト空間におけるY座標の軌跡を示す軌跡関数gを用いて説明したが、例えば図5に示すようなオブジェクト空間におけるX座標の軌跡を示す軌跡関数fや、図6に示すようなオブジェクト空間におけるZ座標の軌跡を示す軌跡関数hについても同様である。例えば、X座標の軌跡を示す軌跡関数fやZ座標の軌跡を示す軌跡関数hとしては、等加速度運動を考慮した関数や、風等の影響を考慮した関数を用いることができる。
【0100】
このように、本実施形態では、所与のパーティクル発生地点を起点として、オブジェクト空間における各座標軸方向の軌跡を示す複数の軌跡関数それぞれに、当該フレームのパーティクル表現オブジェクトの他に、少なくとも当該フレームの前後の1又は複数フレームのフレーム番号に対応する位置にパーティクル表現オブジェクトを配置するようにした。そして、当該フレームの前後のmフレームの複数のパーティクル表現オブジェクトを配置して可視化開始地点通過後に画像表示を行う場合、パーティクルを用いて表現する画像の可視化が開始するフレームより少なくともmフレーム以上前からパーティクル表現オブジェクトを配置して、順次軌跡関数上を移動させるようにした。これにより、図7に示すように、例えば岩場に波が衝突したときに発生する水飛沫が四方八方に飛び散ってやがて消滅していくといったよりリアルな画像表現を行うことができるようになる。
【0101】
3. 本実施形態の処理
次に、本実施形態の処理の詳細例について、図8のフローチャートを用いて説明する。ここでは、パーティクル発生地点を起点とした軌跡関数に基づき、あらかじめ所定の時間間隔を置いて配置されている複数のパーティクル表現オブジェクトの処理例を示す。パーティクル処理開始地点を通過しているパーティクル表現オブジェクトについては、パーティクル処理部122によってその属性がフレーム更新タイミングにあわせて更新される。
【0102】
まず、フレーム更新(描画バッファの更新)か否かを判断する(ステップS1)。これは、画像生成システムのハードウェアが垂直同期のタイミングで発生する割り込みに基づいて判断できる。
【0103】
そして、フレーム更新と判断された場合(ステップS1:Y)には、現在のフレーム番号tを算出する(ステップS2)。これは、例えば表示部に出力する垂直同期信号Vsyncがアクティブになるタイミングでカウントアップされるカウント値(カウント値の変数)を用いて取得してもよいし、画像生成システムが有するリアルタイムクロックのタイマを用いて取得してもよい。
【0104】
次に、オブジェクト位置演算部112により、フレーム番号tによって特定される当該フレームの前後mフレーム内の所定の時間間隔を置いて軌跡関数に基づき配置される各パーティクル表現オブジェクトについて、次式に従ってオブジェクト空間における位置(オブジェクト位置)を求める(ステップS3)。
【0105】
X=f(t) ・・・(1)
Y=g(t) ・・・(2)
Z=h(t) ・・・(3)
そして、パーティクル設定部114により、ステップS3で求められたオブジェクト位置に、パーティクル表現オブジェクトを配置する(ステップS4)。
【0106】
続いて、各パーティクルオブジェクトごとに、可視化開始地点を通過しているかが判断される。可視化開始地点を通過しているか否かは、例えば他のオブジェクト(岩場オブジェクトや、水面オブジェクト等)とのヒット判定に基づいて判断するようにしてもよいし、あらかじめ指定されたフレーム経過後の位置を可視化開始地点とするようにしてもよい。この結果、可視化が行われるパーティクル表現オブジェクトについて、画像生成部120のジオメトリ処理部124により、ジオメトリ処理が行われて描画データが生成され、描画部126により描画領域に描画される(ステップS5)。
【0107】
以上のようにして、図7に示すような波が岩場に当たったときに発生する波の水飛沫についてのリアルな画像を生成できるようになる。
【0108】
4. ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図9を用いて説明する。
【0109】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラム等に基づき動作し、ゲーム処理、画像処理、音処理等の種々の処理を実行する。
【0110】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算等の処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0111】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成等のジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算等の処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0112】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面等において、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0113】
描画プロセッサ910は、ポリゴンや曲面等のプリミティブ(プリミティブ面)で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファ等を利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理等も行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0114】
サウンドプロセッサ930は、多チャンネルのADPCM音源等を内蔵し、BGM、効果音、音声等の高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0115】
ゲームコントローラ942(レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等)からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0116】
ROM950にはシステムプログラム等が格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0117】
RAM960は、各種プロセッサの作業領域として用いられる。
【0118】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0119】
CDドライブ980は、プログラム、画像データ、或いは音データ等が格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0120】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバス等を考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【0121】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現(実行)してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0122】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実現するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【0123】
図10(A)に、本実施形態を業務用ゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤは、ディスプレイ1100、1101上に映し出されたゲーム画像を見ながら、ガン型コントローラ1102、1103等を操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリ等が実装される。そして、本発明の各手段を実現するためのプログラム(データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、このプログラムを格納プログラム(格納情報)と呼ぶ。
【0124】
図10(B)に、本実施形態を家庭用のゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ガン型コントローラ1202、1204等を操作してゲームを楽しむ。この場合、上記格納プログラム(格納情報)は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209等に格納されている。
【0125】
図10(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1302(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)を介して接続される端末1304-1〜1304-n(ゲーム機、携帯電話)とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納プログラム(格納情報)は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0126】
なお、図10(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバ)と端末とで分散して実現するようにしてもよい。また、本発明の各手段を実現するための上記格納プログラム(格納情報)を、ホスト装置(サーバ)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0127】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0128】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0129】
例えば、軌跡関数により求められる位置にパーティクル表現オブジェクトを配置するものとして説明したが、これに限定されるものではない。例えば軌跡関数に基づきその属性が時間経過とともに変化するパーティクル位置を求め、パーティクルで上述した水飛沫等を表現する場合も同様に、実現することができる。
【0130】
また、本実施形態における軌跡関数の種類に限定されるものではなく、種々の関数を用いることができる。
【0131】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0132】
また、本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0133】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムの機能ブロックの一例を示すブロック図である。
【図2】図2(A)〜(D)は、本実施形態において軌跡関数上を移動するパーティクル表現オブジェクトを模式的に示す説明図である。
【図3】本実施形態において、所与のパーティクル発生地点を起点とした複数の軌跡関数を模式的に示す説明図である。
【図4】図4(A)〜(D)は、軌跡関数上を移動する複数のパーティクル表現オブジェクトを模式的に示す説明図である。
【図5】本実施形態におけるX座標の軌跡を示す軌跡関数fの一例を示す説明図である。
【図6】本実施形態におけるZ座標の軌跡を示す軌跡関数hの一例を示す説明図である。
【図7】本実施形態により生成された波の水飛沫の画像の例について示す説明図である。
【図8】本実施形態の処理の詳細例について示すフローチャートである。
【図9】本実施形態を実現できるハードウェアの構成の一例を示す構成図である。
【図10】図10(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す説明図である。
【符号の説明】
100 処理部
110 機能ブロック
112 オブジェクト位置演算部
114 パーティクル表現オブジェクト設定部
120 画像生成部
122 パーティクル処理部
124 ジオメトリ処理部
126 描画部
130 音生成部
160 操作部
170 記憶部
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部
Claims (12)
- 画像生成を行うためのプログラムであって、
所与のパーティクル発生地点を通り時間又はフレーム経過に伴い所与の軌跡曲線を描く軌跡関数を用いて、与えられた時間又はフレームのフレーム番号に関連付けられたパーティクルの位置を求める位置演算手段と、
求められた位置にパーティクルを生成する画像生成手段と、してコンピュータを機能させ、
前記所与のパーティクル発生地点を通る複数の異なる軌跡曲線の前記軌跡関数それぞれに基づきパーティクルの位置を求め、
所与の軌跡関数に基づき位置が求められるパーティクルを用いて表現する画像が可視化を開始する地点である所与の可視化開始地点と前記所与のパーティクル発生地点とが異なり、前記所与のパーティクル発生地点からフレーム経過に伴い前記所与の軌跡関数上を移動するパーティクルが、所与のフレームが経過後に前記所与の可視化開始地点に到達するよう構成され、
前記所与の軌跡関数上を移動するパーティクルが、前記所与の可視化開始地点を通過した以降に可視化されるパーティクルの画像を生成することを特徴とするプログラム。 - 画像生成を行うためのプログラムであって、
所与のパーティクル発生地点を通り時間又はフレーム経過に伴い所与の軌跡曲線を描く軌跡関数を用いて、与えられた時間又はフレームのフレーム番号に関連付けられたパーティクルの位置を求める位置演算手段と、
求められた位置にパーティクルを生成する画像生成手段と、してコンピュータを機能させ、
前記所与のパーティクル発生地点を通る複数の異なる軌跡曲線の前記軌跡関数それぞれに基づきパーティクルの位置を求め、
前記パーティクル発生地点が含まれない平面と複数の前記軌跡関数との交点を可視化開始地点として、前記平面の前記パーティクル発生地点に面してない側を可視化領域として、当該可視化領域のパーティクルの画像を生成することを特徴とするプログラム。 - 請求項1又は2において、
前記軌跡関数を用いて、所与のフレームの前後の1又は複数のフレームのフレーム番号に基づき求まる複数の位置にパーティクルを生成することを特徴とするプログラム。 - 請求項3において、
第nフレームにおいて第(n−m)フレームから第(n+m)フレームのフレーム番号に関連付けられた位置にパーティクルを用いた画像を生成する場合、少なくともパーティクルを用いて表現する画像の可視化が開始されるフレームよりmフレーム以上前から生成することを特徴とするプログラム。 - 請求項1乃至4のいずれかにおいて、
前記求められた位置に、パーティクル表現オブジェクトを設定するパーティクル設定手段をコンピュータに実現させると共に、
前記画像生成手段は、オブジェクト空間内の所与の視点での画像を生成することを特徴とするプログラム。 - 請求項1乃至5のいずれかにおいて、
時間又はフレームの経過に伴い、パーティクルを用いて表示されるオブジェクトのサイズを大きくすることを特徴とするプログラム。 - 請求項1乃至6のいずれかにおいて、
同一軌跡関数に基づき複数フレーム分の前記オブジェクトの画像を生成する場合、互いのオブジェクトのすき間が空かないようにオブジェクトを配置して画像を生成することを特徴とするプログラム。 - 請求項1乃至7のいずれかにおいて、
前記軌跡関数は、放物線の軌跡関数であることを特徴とするプログラム。 - 請求項1乃至8のいずれかにおいて、
パーティクルを用いて表現する画像は、水飛沫、滝、噴水、炎、火柱、花火、煙、砂煙、水煙、霧、爆発、砂塵、雲のいずれかを含む不定形な表示物を表現するオブジェクト画像の少なくとも一部であることを特徴とするプログラム。 - コンピュータにより読み取り可能な情報記憶媒体であって、請求項1乃至9のいずれか記載のプログラムを含むことを特徴とする情報記憶媒体。
- 画像生成を行う画像生成システムであって、
所与のパーティクル発生地点を通り時間又はフレーム経過に伴い所与の軌跡曲線を描く軌跡関数を用いて、与えられた時間又はフレームのフレーム番号に関連付けられたパーティクルの位置を求める位置演算手段と、
求められた位置にパーティクルを生成する画像生成手段と、を含み、
前記所与のパーティクル発生地点を通る複数の異なる軌跡曲線の前記軌跡関数それぞれに基づきパーティクルの位置を求め、
所与の軌跡関数に基づき位置が求められるパーティクルを用いて表現する画像が可視化を開始する地点である所与の可視化開始地点と前記所与のパーティクル発生地点とが異なり、前記所与のパーティクル発生地点からフレーム経過に伴い前記所与の軌跡関数上を移動するパーティクルが、所与のフレームが経過後に前記所与の可視化開始地点に到達するよう構成され、
前記所与の軌跡関数上を移動するパーティクルが、前記所与の可視化開始地点を通過した以降に可視化されるパーティクルの画像を生成することを特徴とする画像生成システム。 - 画像生成を行う画像生成システムであって、
所与のパーティクル発生地点を通り時間又はフレーム経過に伴い所与の軌跡曲線を描く軌跡関数を用いて、与えられた時間又はフレームのフレーム番号に関連付けられたパーティクルの位置を求める位置演算手段と、
求められた位置にパーティクルを生成する画像生成手段と、を含み、
前記所与のパーティクル発生地点を通る複数の異なる軌跡曲線の前記軌跡関数それぞれに基づきパーティクルの位置を求め、
前記パーティクル発生地点が含まれない平面と複数の前記軌跡関数との交点を可視化開始地点として、前記平面の前記パーティクル発生地点に面してない側を可視化領域として、当該可視化領域のパーティクルの画像を生成することを特徴とする画像生成システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001005746A JP4743733B2 (ja) | 2001-01-12 | 2001-01-12 | 画像生成システム、プログラム及び情報記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001005746A JP4743733B2 (ja) | 2001-01-12 | 2001-01-12 | 画像生成システム、プログラム及び情報記憶媒体 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011078147A Division JP2011141893A (ja) | 2011-03-31 | 2011-03-31 | 画像生成システム、プログラム及び情報記憶媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002216152A JP2002216152A (ja) | 2002-08-02 |
JP2002216152A5 JP2002216152A5 (ja) | 2008-02-21 |
JP4743733B2 true JP4743733B2 (ja) | 2011-08-10 |
Family
ID=18873747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001005746A Expired - Fee Related JP4743733B2 (ja) | 2001-01-12 | 2001-01-12 | 画像生成システム、プログラム及び情報記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4743733B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103469760A (zh) * | 2013-08-29 | 2013-12-25 | 中国科学院地理科学与资源研究所 | 一种推移质颗粒运动的示踪方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4771525B2 (ja) * | 2005-09-20 | 2011-09-14 | サミー株式会社 | 画像生成装置、遊技機、画像生成方法、及びプログラム |
JP5145510B2 (ja) * | 2008-06-05 | 2013-02-20 | 株式会社大都技研 | 遊技台 |
CN102147928B (zh) * | 2011-03-16 | 2012-11-21 | 美通日用品(杭州)有限公司 | 一种基于粒子系统的火焰模拟加速改进算法 |
CN105117004A (zh) * | 2015-08-13 | 2015-12-02 | 小米科技有限责任公司 | 展现设备工作状态的方法和装置 |
CN112619151B (zh) * | 2020-12-22 | 2022-08-12 | 上海米哈游天命科技有限公司 | 一种碰撞预测方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0471083A (ja) * | 1990-07-11 | 1992-03-05 | Babcock Hitachi Kk | 3次元空間内の物体軌跡の表示方法 |
JPH09326042A (ja) * | 1996-01-02 | 1997-12-16 | Silicon Graphics Inc | コンピュータ・グラフィックス・システムにおけるテクスチャ化ファジー・セグメントを用いる毛髪の生成のためのシステムおよび方法 |
JP2000039130A (ja) * | 1998-05-19 | 2000-02-08 | Nkk Corp | 運転支援装置付きごみ焼却炉 |
JP2000251088A (ja) * | 1999-02-26 | 2000-09-14 | Canon Inc | 描画システム及び描画方法 |
-
2001
- 2001-01-12 JP JP2001005746A patent/JP4743733B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0471083A (ja) * | 1990-07-11 | 1992-03-05 | Babcock Hitachi Kk | 3次元空間内の物体軌跡の表示方法 |
JPH09326042A (ja) * | 1996-01-02 | 1997-12-16 | Silicon Graphics Inc | コンピュータ・グラフィックス・システムにおけるテクスチャ化ファジー・セグメントを用いる毛髪の生成のためのシステムおよび方法 |
JP2000039130A (ja) * | 1998-05-19 | 2000-02-08 | Nkk Corp | 運転支援装置付きごみ焼却炉 |
JP2000251088A (ja) * | 1999-02-26 | 2000-09-14 | Canon Inc | 描画システム及び描画方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103469760A (zh) * | 2013-08-29 | 2013-12-25 | 中国科学院地理科学与资源研究所 | 一种推移质颗粒运动的示踪方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2002216152A (ja) | 2002-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007207005A (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
US6537153B2 (en) | Game system, program and image generating method | |
JP4412715B2 (ja) | プログラム、情報記憶媒体および画像生成システム | |
JP4743733B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2002222435A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4502678B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP4656615B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4408681B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP4528008B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2002216167A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4574058B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2002092637A (ja) | ゲームシステム及び情報記憶媒体 | |
JP2003175274A (ja) | ゲームシステム及び情報記憶媒体 | |
JP2002216165A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4592087B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2006318196A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP3431562B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP4688405B2 (ja) | プログラム、情報記憶媒体及びゲーム装置 | |
JP4592043B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2011141893A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4803909B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4592042B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4632521B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP2002216160A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2002216151A (ja) | 画像生成システム、プログラム及び情報記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080108 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080108 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100623 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100823 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100915 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110331 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110427 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110506 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140520 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4743733 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140520 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |