(57)【要約】【課題】  水飛沫や炎、煙等のリアルで高品質な画像を生成できる画像生成システム、プログラム及び情報記憶媒体を提供する。【解決手段】  所与のパーティクル発生地点を起点として、複数の軌跡関数が設定される。軌跡関数は、フレームを特定するフレーム番号とオブジェクト位置とを関連付け、これに基づいて、当該フレームのパーティクル表現オブジェクトの他、当該フレームの前後の１又は複数のフレームのパーティクル表現オブジェクトを配置し、フレーム経過に伴い軌跡関数上を移動させる。軌跡関数に基づき、当該フレームの前後ｍフレームの複数のパーティクル表現オブジェクトを配置する場合、所与の時間間隔を置いて、少なくとも可視化が開始されるフレームよりｍフレーム以上前から、パーティクル表現オブジェクトを配置する。【選択図】図４
2011141893.tif 000002
【特許請求の範囲】
【請求項１】
画像生成を行う画像生成システムであって、
所与のパーティクル発生地点を通り時間又はフレーム経過に伴い所与の軌跡を描く軌跡関数を用いて、与えられた時間又はフレームのフレーム番号に関連付けられたパーティクルの位置を求める位置演算手段と、
求められた位置にパーティクルを生成する画像生成手段と、
を含むことを特徴とする画像生成システム。
【請求項２】
請求項１において、
前記所与のパーティクル発生地点を通る複数の前記軌跡関数それぞれに基づきパーティクルの位置を求めることを特徴とする画像生成システム。
【請求項３】
請求項１又は２において、
前記軌跡関数を用いて、所与のフレームの前後の１又は複数のフレームのフレーム番号に基づき求まる複数の位置にパーティクルを生成することを特徴とする画像生成システム。
【請求項４】
請求項３において、
第ｎフレームにおいて第（ｎ−ｍ）フレームから第（ｎ＋ｍ）フレームのフレーム番号に関連付けられた位置にパーティクルを用いた画像を生成する場合、少なくともパーティクルを用いて表現する画像の可視化が開始されるフレームよりｍフレーム以上前から生成することを特徴とする画像生成システム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記求められた位置に、パーティクル表現オブジェクトを設定するパーティクル設定手段を含み、
前記画像生成手段は、オブジェクト空間内の所与の視点での画像を生成することを特徴とする画像生成システム。
【請求項６】
請求項１乃至５のいずれかにおいて、
時間又はフレームの経過に伴い、パーティクルを用いて表示されるオブジェクトのサイズが大きくなることを特徴とする画像生成システム。
【請求項７】
請求項１乃至６のいずれかにおいて、
同一軌跡関数に基づき複数フレーム分の前記オブジェクトの画像を生成する場合、互いのオブジェクトのすき間が空かないように間隔を設けて画像を生成することを特徴とする画像生成システム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記軌跡関数は、放物線の軌跡関数であることを特徴とする画像生成システム。
【請求項９】
請求項１乃至８のいずれかにおいて、
パーティクルを用いて表現する画像は、水飛沫、滝、噴水、炎、火柱、花火、煙、砂煙、水煙、霧、爆発、砂塵又は雲等の不定形な表示物を表現するオブジェクト画像の少なくとも一部であることを特徴とする画像生成システム。
【請求項１０】
コンピュータにより使用可能なプログラムであって、
所与のパーティクル発生地点を通り時間又はフレーム経過に伴い所与の軌跡を描く軌跡関数を用いて、与えられた時間又はフレームのフレーム番号に関連付けられたパーティクルの位置を求める位置演算手段と、
求められた位置にパーティクルを生成する画像生成手段と、
をコンピュータに実現させることを特徴とするプログラム。
【請求項１１】
請求項１０において、
前記所与のパーティクル発生地点を通る複数の前記軌跡関数それぞれに基づきパーティクルの位置を求めることを特徴とするプログラム。
【請求項１２】
請求項１０又は１１において、
前記軌跡関数を用いて、所与のフレームの前後の１又は複数のフレームのフレーム番号に基づき求まる複数の位置にパーティクルを生成することを特徴とするプログラム。
【請求項１３】
請求項１２において、
第ｎフレームにおいて第（ｎ−ｍ）フレームから第（ｎ＋ｍ）フレームのフレーム番号に関連付けられた位置にパーティクルを用いた画像を生成する場合、少なくともパーティクルを用いて表現する画像の可視化が開始されるフレームよりｍフレーム以上前から生成することを特徴とするプログラム。
【請求項１４】
請求項１０乃至１３のいずれかにおいて、
前記求められた位置に、パーティクル表現オブジェクトを設定するパーティクル設定手段をコンピュータに実現させると共に、
前記画像生成手段は、オブジェクト空間内の所与の視点での画像を生成することを特徴とするプログラム。
【請求項１５】
請求項１０乃至１４のいずれかにおいて、
時間又はフレームの経過に伴い、パーティクルを用いて表示されるオブジェクトのサイズを大きくすることを特徴とするプログラム。
【請求項１６】
請求項１０乃至１５のいずれかにおいて、
同一軌跡関数に基づき複数フレーム分の前記オブジェクトの画像を生成する場合、互いのオブジェクトのすき間が空かないように間隔を設けて画像を生成することを特徴とするプログラム。
【請求項１７】
請求項１０乃至１６のいずれかにおいて、
前記軌跡関数は、放物線の軌跡関数であることを特徴とするプログラム。
【請求項１８】
請求項１０乃至１７のいずれかにおいて、
パーティクルを用いて表現する画像は、水飛沫、滝、噴水、炎、火柱、花火、煙、砂煙、水煙、霧、爆発、砂塵又は雲等の不定形な表示物を表現するオブジェクト画像の少なくとも一部であることを特徴とするプログラム。
【請求項１９】
コンピュータにより使用可能な情報記憶媒体であって、請求項１０乃至１８のいずれか記載のプログラムを含むことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
従来より、仮想的な３次元空間であるオブジェクト空間内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ロールプレイングゲーム（Role Playing Game：ＲＰＧ）を楽しむことができる画像生成システムを例にとれば、プレーヤは、自身の分身であるキャラクタ（オブジェクト）を操作してオブジェクト空間内のマップ上で移動させ、敵キャラクタと対戦したり、他のキャラクタと対話したり、様々な町を訪れたりすることでゲームを楽しむ。
【０００３】
さて、このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な課題になっている。従って、ゲーム画面中に表示される水飛沫、炎や煙等の現象についても、よりリアルに表現できることが望まれる。
【０００４】
このような特殊な効果を表現するための画像生成システムとして、パーティクルシステムが知られている。
【０００５】
パーティクルシステムは、一定の規則に従って生成した多数のパーティクル（粒子）を用い、各パーティクルに設定された色、位置等の属性を、ある規則に従って、発生、移動、消滅させる。これにより、パーティクルの粒子を、上述した不定形の現象を表現するものとして扱うことができる。
【０００６】
しかしながら、これまでのパーティクルシステムのように、単にパーティクルを生成して、移動若しくは消滅させるだけでは、よりリアルな水飛沫や、炎や煙等を表現できない。例えば、海岸の岩場に波が打ち寄せたときに現れる水飛沫を表現する場合、波が岩場に衝突した後に一様に消えてしまうようでは、リアルな表現とは言い難い。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平９−３２６０４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、水飛沫や炎、煙等のリアルで高品質な画像を生成できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、画像生成を行う画像生成システムであって、所与のパーティクル発生地点を通り時間又はフレーム経過に伴い所与の軌跡を描く軌跡関数を用いて、与えられた時間又はフレームのフレーム番号に関連付けられたパーティクルの位置を求める位置演算手段と、求められた位置にパーティクルを生成する画像生成手段とを含むことを特徴とする。
【００１０】
また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段をコンピュータに実現させるためのプログラムを含むことを特徴とする。
【００１１】
ここで、パーティクルとは、水飛沫等のように、その形状が変形する不定形な表示物を表現するために多数集まった１つ粒子を意味し、各粒子に設定された色、位置等の属性は、ある規則に従って、発生、移動、消滅する。
【００１２】
軌跡関数とは、与えられた時間又はフレーム時間に関連付けて、上記パーティクルの位置を出力するものである。
【００１３】
本発明によれば、このような軌跡関数に基づいて、パーティクルの位置を時間若しくはフレームを特定するためのフレームに関連付けて求め、当該位置にパーティクルを生成するようにした。これにより、例えば岩場に衝突した波の水飛沫が飛び散る現象をよりリアルに表現することができ、パーティクル発生イベントによって発生したパーティクルの画像として、尾を引きながら飛び散っていく様子をリアルに表現することができる。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記所与のパーティクル発生地点を通る複数の前記軌跡関数それぞれに基づきパーティクルの位置を求めることを特徴とする。
【００１５】
本発明によれば、１つのパーティクル発生地点を通る複数の軌跡関数について、それぞれ位置を演算し、当該位置にパーティクルを生成するようにしたので、軌跡関数により、パーティクルの移動速度、高さ、方向を異ならせることで、パーティクルを用いて表現するオブジェクトの画像として、各パーティクルが飛び散って広がる様子をリアルに表現することができる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記軌跡関数を用いて、所与のフレームの前後の１又は複数のフレームのフレーム番号に基づき求まる複数の位置にパーティクルを生成することを特徴とする。
【００１７】
本発明によれば、１つの軌跡関数を用いて、複数のパーティクルの位置を、フレーム番号の前後の１又は複数のフレームのフレーム番号に基づいて求めるようにした。これにより、ボリューム感のある画像表示をリアルに表現することができる。特に、フレームの前後のパーティクルを同一軌跡関数に基づいて表現することで、飛び散る様子をリアルに表現することができるようになる。
【００１８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、第ｎフレームにおいて第（ｎ−ｍ）フレームから第（ｎ＋ｍ）フレームのフレーム番号に関連付けられた位置にパーティクルを用いた画像を生成する場合、少なくともパーティクルを用いて表現する画像の可視化が開始されるフレームよりｍフレーム以上前から生成することを特徴とする。
【００１９】
ここで、パーティクルを用いて表現する画像とは、求められた位置にパーティクルを生成したり、当該位置に所与のオブジェクトを配置することによって、例えば水飛沫等を表現するオブジェクト画像やオブジェクト画像を構成するプリミティブ画像をいう。
【００２０】
また、可視化が開始されるフレームとは、上記パーティクルを用いて表現する画像が可視化を開始するフレームを意味し、例えば当該画像の可視化開始イベントの発生により特定される。この可視化開始イベントの検出は、例えば波と岩場との衝突を検出するヒット判定に基づき検出するようにしてもよいし、あらかじめフレーム時間により指定するようにしてもよい。
【００２１】
本発明によれば、可視化が開始されるフレームにおいて、軌跡関数に基づいて数珠繋ぎ状で配置されたパーティクルがいきなり出現するといった不自然な表現を回避することができる。
【００２２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記求められた位置に、パーティクル表現オブジェクトを設定するパーティクル設定手段を含み（或いは該手段をコンピュータに実現させる、或いは該手段をコンピュータに実現させるためのプログラムを含み）、前記画像生成手段は、オブジェクト空間内の所与の視点での画像を生成することを特徴とする。
【００２３】
ここで、パーティクル表現オブジェクトとは、上記したパーティクルによる表現をポリゴン等で実現したオブジェクトを意味し、上記したパーティクルによる表現をポリゴン等で実現したオブジェクトを構成するプリミティブであってもよい。
【００２４】
本発明によれば、求めた位置に上述したようなパーティクル表現オブジェクトを配置することによって、所与のパーティクル処理を行って画像表示を行う水飛沫等を表現した場合に、処理能力の軽減を図ることができる。
【００２５】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、時間又はフレームの経過に伴い、パーティクルを用いて表示されるオブジェクトのサイズが大きくなることを特徴とする。
【００２６】
ここで、パーティクルを用いて表示されるオブジェクトのサイズは、パーティクルの広がる範囲を変更するようにしてもよいし、パーティクルの位置に配置されるパーティクル表現オブジェクト自体の大きさを変更するようにしてもよい。
【００２７】
本発明によれば、時間経過に伴って、パーティクルを用いて表示されるオブジェクトのサイズを大きくするようにしたので、例えば岩場に衝突した波の水飛沫が飛び散る現象を、自然に広がる様子をよりリアルに表現することができる。
【００２８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、同一軌跡関数に基づき複数フレーム分の前記オブジェクトの画像を生成する場合、互いのオブジェクトのすき間が空かないように間隔を設けて画像を生成することを特徴とする。
【００２９】
ここで、互いのオブジェクトのすき間とは、パーティクル又はパーティクルの位置に配置されたパーティクル表現オブジェクト等のオブジェクト同士の間隔を意味し、オブジェクト同士を重複させることによって、生成した画像のボリューム感を向上させることができる。
【００３０】
本発明によれば、複数フレーム分のパーティクルを用いて表示される画像を、同一軌跡関数に基づく位置に生成し、しかも互いのオブジェクトのすき間が空かないように間隔を設けるようにしたので、例えば発生した水飛沫が尾を引くように時間の経過を伴って飛び散っていく様子についてもボリューム感を与え、リアルに表現することができる。なお、この場合、時間又はフレームの経過に伴い、互いのオブジェクトのすき間が空かないように間隔を広げて画像を生成することが望ましい。
【００３１】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記軌跡関数は、放物線の軌跡関数であることを特徴とする。
【００３２】
本発明によれば、重力の影響を加味したパーティクルの動きを表現することができるので、自然現象をよりリアルに表現することができる。
【００３３】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、パーティクルを用いて表現する画像は、水飛沫、滝、噴水、炎、火柱、花火、煙、砂煙、水煙、霧、爆発、砂塵又は雲等の不定形な表示物を表現するオブジェクト画像の少なくとも一部であることを特徴とする。
【００３４】
ここで、表現するオブジェクトは、上記画像に限定されるものではなく、不定形な表示物を表現する画像であればよく、特に自然現象の表現に好適である。
【００３５】
本発明によれば、所与のパーティクル処理により、四方八方に飛び散って広がり、やがて消えるといった自然現象について、よりリアルに画像表示を行うことができるようになる。
【図面の簡単な説明】
【００３６】
【図１】本実施形態の画像生成システムの機能ブロックの一例を示すブロック図である。
【図２】図２（Ａ）〜（Ｄ）は、本実施形態において軌跡関数上を移動するパーティクル表現オブジェクトを模式的に示す説明図である。
【図３】本実施形態において、所与のパーティクル発生地点を起点とした複数の軌跡関数を模式的に示す説明図である。
【図４】図４（Ａ）〜（Ｄ）は、軌跡関数上を移動する複数のパーティクル表現オブジェクトを模式的に示す説明図である。
【図５】本実施形態におけるＸ座標の軌跡を示す軌跡関数ｆの一例を示す説明図である。
【図６】本実施形態におけるＺ座標の軌跡を示す軌跡関数ｈの一例を示す説明図である。
【図７】本実施形態により生成された波の水飛沫の画像の例について示す説明図である。
【図８】本実施形態の処理の詳細例について示すフローチャートである。
【図９】本実施形態を実現できるハードウェアの構成の一例を示す構成図である。
【図１０】図１０（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す説明図である。
【発明を実施するための形態】
【００３７】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００３８】
１．  構成
図１に、本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の一例を示す。
【００３９】
なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０を含めばよく）、それ以外のブロックについては任意の構成要素とすることができる。
【００４０】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、或いは筺体等のハードウェアにより実現できる。
【００４１】
記憶部１７０は、処理部１００や通信部１９６等のワーク領域となるもので、その機能はＲＡＭ等のハードウェアにより実現できる。
【００４２】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータ等を格納するものであり、その機能は、光ディスク（ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc/Digital Video Disc）、光磁気ディスク（Magneto Optical：ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（Read Only Memory：ＲＯＭ）等のハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）をコンピュータに実現（実行、機能）させるためのプログラムが格納され、このプログラムは、例えば１又は複数のモジュール（オブジェクト指向におけるオブジェクトも含む）を含む。
【００４３】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データ、本発明の処理を指示するための情報、或いはその指示に従って処理を行うための情報等を含ませることができる。
【００４４】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、或いはＨＭＤ（ヘッドマウントディスプレイ）等のハードウェアにより実現できる。
【００４５】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ等のハードウェアにより実現できる。
【００４６】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータ等が記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置等を考えることができる。
【００４７】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェアや、プログラム等により実現できる。
【００４８】
なお本発明（本実施形態）の各手段を実現（実行、機能）するためのプログラム（データ）は、ホスト装置（サーバ）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバ）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００４９】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラム等に基づいて、ゲーム処理、画像生成処理、或いは音生成処理等の各種の処理を行う。この場合、処理部１００は、記憶部１７０をワーク領域として使用して、各種の処理を行う。
【００５０】
ここで、処理部１００が行う処理としては、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクト等のオブジェクトをオブジェクト空間へ配置する処理、ヒット判定処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理等を考えることができる。
【００５１】
処理部１００は、オブジェクト位置演算部１１２、パーティクル表現オブジェクト設定部１１４、画像生成部１２０、音生成部１３０を含む。なお、処理部１００に、これらの全ての機能ブロック１１０〜１３０を含ませる必要はなく、一部の機能ブロックを省略する構成にしてもよい。
【００５２】
ここで、オブジェクト位置演算部１１２は、オブジェクト空間において、水飛沫、滝、噴水、炎、火柱、花火、煙、砂煙、水煙、霧、爆発、砂塵又は雲等を表現するパーティクル表現オブジェクト（若しくはプリミティブ。以下同様。）の位置（座標）をオブジェクト位置として、所与の軌跡関数に基づいて求める。そのため、本実施形態におけるオブジェクト位置演算部１１２は、まず軌跡関数に基づいて、パーティクル（粒子）の位置を求め、当該位置をパーティクル表現オブジェクトが配置されるオブジェクト位置とする。
【００５３】
なお、軌跡関数は、時間（或いはフレーム周期）の経過に伴い、オブジェクト位置の軌跡を描く関数であり、所与のパーティクル発生地点を起点、若しくは通過点とする。このような軌跡関数としては、例えばオブジェクト空間におけるＸ座標、Ｙ座標、Ｚ座標ごとに互いに独立し、時間（フレーム時間）を変数とした関数とすることができる。
【００５４】
本実施形態におけるオブジェクト位置演算部１１２は、所与のパーティクル発生イベントの検出により、例えば３０Ｈｚや６０Ｈｚ等の所与の時間間隔（フレーム周期）ごとに更新されるフレームを特定するフレーム番号（或いは時間）に基づいて、当該フレーム及びその前後の１又は複数フレームにおけるパーティクルの位置を求める処理を行う。また、このオブジェクト位置演算部１１２は、上述したパーティクル発生地点を起点とした複数の軌跡関数について、それぞれ上述したようにオブジェクト位置を求める。
【００５５】
パーティクル表現オブジェクト設定部１１４は、オブジェクト位置演算部１１２によって求められたオブジェクト位置に、パーティクル表現オブジェクトを配置（設定）する。
【００５６】
パーティクル（広義には、オブジェクト）は、上述した水飛沫等のように、その形状が変形する不定形な表示物を表現するために多数集まった１つ粒子を意味し、各粒子に設定された色、位置等の属性は、ある規則に従って、発生、移動、消滅する。パーティクル表現オブジェクトは、このようなパーティクルによる表現をポリゴン等で実現したオブジェクトを意味する。このように、パーティクルに代えてパーティクル表現オブジェクトで、上述した水飛沫等を表現することで、処理能力の軽減を図ることができる。
【００５７】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて画像処理を行い、ゲーム画像を生成し、表示部１９０に出力する。すなわち、パーティクル表現オブジェクトにより水飛沫等を表現する場合は、オブジェクト位置演算部１１２により求められた位置のパーティクル表現オブジェクトに対して、所与の視点からのオブジェクト画像を生成し、パーティクルにより水飛沫等を表現する場合は、オブジェクト位置演算部１１２により求められた位置にパーティクルを生成する。
【００５８】
ここで、いわゆる３次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、プリミティブデータ（プリミティブの構成点（頂点）の位置座標、テクスチャ座標、色（輝度）データ、法線ベクトル或いはα値等）が作成される。そして、このプリミティブデータ（ポリゴン、自由曲面又はサブディビジョンサーフェス等のプリミティブのデータ。描画データ）に基づいて、ジオメトリ処理後のオブジェクト（１又は複数のプリミティブ）の画像が、記憶部１７０における描画バッファ（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画される。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成されるようになる。
【００５９】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ（Back Ground Music）、効果音、又は音声等のゲーム音を生成し、音出力部１９２に出力する。
【００６０】
画像生成部１２０は、パーティクル処理部１２２、ジオメトリ処理部１２４、描画部１２６を含む。
【００６１】
ここで、パーティクル処理部１２２は、上述したパーティクル表現オブジェクト（例えば、水飛沫を表現する場合は、水飛沫パーティクル表現オブジェクト、炎を表現する場合は、炎パーティクル表現オブジェクト）を、時間経過に伴い、順次発生させたり、消滅させたりする等の所与のパーティクル処理を行う。より具体的には、パーティクル表現オブジェクトそれぞれに設定される発生量、発生間隔、寿命をランダム或いは一定規則にしたがって変化させたり、パーティクル若しくはパーティクル表現オブジェクトのサイズを変更したりする処理を行う。これにより、水飛沫や炎等の不定形な表示物をリアルに表現できるようになる。
【００６２】
なお、パーティクルにより、上述したようなその形状が変形する不定形な表示物（上述した水飛沫等）を表現する場合には、そのパーティクル（例えば、水飛沫を表現する場合は、水飛沫パーティクル、炎を表現する場合は、炎パーティクル）を、時間経過に伴い、順次発生させたり、消滅させたりする処理を行う。より具体的には、パーティクルそれぞれに設定された寿命、色、透明度、サイズ、位置、加速度、方向ベクトル、発生間隔、構成するポリゴン数、分割数又はパーティクル表現オブジェクトのＬＯＤレベル等をランダム或いは一定規則にしたがって変化させる処理を行う。これにより、水飛沫や炎等の不定形な表示物をリアルに表現できるようになり、パーティクルの位置にパーティクル表現オブジェクトを配置することができるようになる。
【００６３】
ジオメトリ処理部１２４は、ローカル座標系からワールド座標系への座標変換、ワールド座標系から視点座標系への座標変換、スクリーン座標系への透視変換、クリッピング等の種々のジオメトリ処理（３次元演算）を、オブジェクトに対して行う。そして、ジオメトリ処理により得られた描画データ（２次元のプリミティブ面の定義点の位置座標、テクスチャ座標、色（輝度）データ、或いはα値等）は、記憶部１７０に格納されて、保存される。
【００６４】
描画（レンダリング）部１２６は、ジオメトリ処理により得られ、記憶部１７０に保存された描画データに基づいて、テクスチャマッピングや色（輝度）データの補間処理や陰面消去等を行いながら、オブジェクトのプリミティブ面を記憶部１７０のフレームバッファに描画する。これにより、オブジェクトが配置されるオブジェクト空間内の所与の視点（仮想カメラ）での画像が生成されるようになる。
【００６５】
なお、本実施形態の画像生成システム（ゲームシステム）は、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００６６】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）等で接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００６７】
２．  本実施形態の特徴
次に本実施形態の特徴について図面を用いて説明する。なお、以下では、水飛沫の表現に本発明を適用した場合を主に例にとり説明するが、本発明は水飛沫の表現以外の他の画像表現（滝、噴水、炎、火柱、花火、煙、砂煙、水煙、霧、爆発、砂塵又は雲等の表現）にも適用可能である。
【００６８】
２．１  軌跡関数に基づき配置した複数オブジェクトによる表現
本実施形態では、図２（Ａ）に示すように、時間を変数として所与のパーティクル発生地点を起点（若しくは通過点）とした１つの軌跡関数により求められる複数のオブジェクト位置それぞれに、パーティクル表現オブジェクトを配置する。そして、フレーム（若しくは時間）の経過に伴い、パーティクル処理が行われたパーティクル表現オブジェクトを軌跡関数上で移動させることで、水飛沫の表現を行う。以下では、軌跡関数は、時間を変数としてパーティクル発生地点を起点とし、フレームの経過に伴い、パーティクル表現オブジェクトを軌跡関数上で移動させるものとする。
【００６９】
軌跡関数は、フレームを特定するためのフレーム番号を変数として、配置すべきパーティクル表現オブジェクトのオブジェクト空間におけるＸ座標、Ｙ座標、Ｚ座標を返すようになっている。そして、このような軌跡関数に基づき、フレーム番号に対応した位置にパーティクル表現オブジェクトが配置される。
【００７０】
なお、Ｙ座標を求めるための軌跡関数ｇについては、自然現象をよりリアルに表現するためにも重力を加味した放物線の軌跡であることが望ましい。
【００７１】
また、画像表現の態様によっては、配置するパーティクル表現オブジェクトは当該フレーム分のみでもよいが、同一軌跡関数に基づき当該フレームに関連付けられた位置の他、少なくとも当該フレームの前又は後の１又は複数フレームのフレーム番号に対応した位置にもパーティクル表現オブジェクトを配置することによって、複数フレームにわたって水飛沫が次第に消滅していく軌跡を効果的に表現することが可能となる。
【００７２】
このような軌跡関数としては、例えばフレーム番号に基づいて、Ｘ座標、Ｙ座標、Ｚ座標がそれぞれ別個の独立した関数を用いることができる。
【００７３】
フレーム番号は、その更新タイミングが、例えば表示部に出力する垂直同期信号Ｖｓｙｎｃがアクティブになるタイミングでカウントアップされるカウント値（カウント値の変数）を用いて取得してもよいし、画像生成システムが有するリアルタイムクロックのタイマを用いて取得してもよい。これにより、フレーム番号を、垂直走査周期を単位とした時間に対応させることができる。
【００７４】
本実施形態では、所与のパーティクル発生地点を起点とした軌跡関数に基づき、所定の時間間隔を置いて求められたパーティクルの位置にパーティクル表現オブジェクトを配置する。パーティクル表現オブジェクトが配置される時間間隔は、例えば１フレーム又は数フレーム単位の等間隔であってもよいが、ランダム関数に基づいて決定することによって、よりリアルな現象を表現することができる。
【００７５】
その際、各位置に表示されるパーティクル表現オブジェクトは、例えば透明度が減少したり、寿命の計算等のパーティクル処理が行われている。本実施形態では、水飛沫を表現する場合、時間経過に伴ってパーティクルのサイズを大きくすると共に、同一軌跡関数上に配置される互いのパーティクル表現オブジェクトが重複した状態のまま時間間隔を広げる。これにより、水飛沫の発生当初は小さな水飛沫が、次第に大きくなる様子を表現することができると共に、複数フレーム分のパーティクル表現オブジェクトが同一軌跡関数上の位置に配置することにより尾を引くような特有の軌跡を描くことができる。
【００７６】
図２（Ａ）〜（Ｄ）に、本実施形態において軌跡関数上を移動するパーティクル表現オブジェクトを模式的に示す。
【００７７】
ここでは、フレーム番号ｔに基づいてＹ座標の位置を特定する軌跡関数ｇについて、第１のフレームから第４のフレームにフレームが経過するのに伴って、パーティクル表現オブジェクトが配置されるパーティクル位置Ｐ１〜Ｐ３のＹ座標の変化の様子を示している。
【００７８】
すなわち、パーティクル発生地点（例えば、図２（Ａ）における原点）において、それぞれΔｔ１、Δｔ２の時間間隔を置いて設定されたパーティクル位置Ｐ１〜Ｐ３について、第１のフレームから所与のフレームが経過した第２のフレームでは、それぞれΔｔ１２、Δｔ２２の時間間隔に広げられて、軌跡関数ｇによりＹ座標が決定される。これ以降、フレームが経過して第４のフレームに進むに伴い、各パーティクル位置Ｐ１〜Ｐ３に配置されるパーティクル表現オブジェクトが重複して表示されるように、各パーティクル位置Ｐ１〜Ｐ３の間隔が広げられる。
【００７９】
また、軌跡関数ｇと独立したＸ座標の位置を特定する軌跡関数ｆ及びＺ座標の位置を特定する軌跡関数ｈについても同様である。
【００８０】
このように、例えばパーティクル発生地点から、パーティクル発生イベントの検出に基づき、図２（Ａ）〜（Ｄ）に示すように所与のパーティクル発生地点を起点とした軌跡関数に基づき、複数フレームのフレーム番号に対応した位置それぞれにパーティクル表現オブジェクトを配置し、フレームの経過に伴い当該軌跡関数上を移動させる。この際、次第にパーティクル表現オブジェクトのサイズを大きくするとともに、各フレームの間隔を広げる。これにより、例えば岩場に衝突した波の水飛沫が飛び散る現象を、重力加速度により自然に広がる様子をよりリアルに表現することができる。この場合、発生した水飛沫が尾を引くように時間の経過に伴って飛び散っていく様子についてもリアルに表現することができる。
【００８１】
２．２  パーティクル発生地点から複数の軌跡関数による表現
また、本実施形態では、所与のパーティクル発生地点において、当該地点を起点とした上述したような複数の軌跡関数が設定されている。各軌跡関数に基づき、上述したようにフレーム経過に伴い移動する複数のパーティクル表現オブジェクトが配置される。
【００８２】
図３に、本実施形態において、所与のパーティクル発生地点を起点とした複数の軌跡関数を模式的に示す。
【００８３】
ここでは、パーティクル発生地点のＹ座標ＧYを起点として、フレーム番号ｔに基づいて互いに異なるＹ座標の位置を特定する軌跡関数ｇ１〜ｇ４が設定されているイメージを模式的に示している。なお、同様にパーティクル発生地点のＸ、Ｚ座標ＧX、ＧZを起点として、フレーム番号ｔに基づいてＸ、Ｚ座標の位置を特定する軌跡関数ｆ１〜ｆＭ（Ｍは、２以上の自然数）、ｈ１〜ｈＬ（Ｌは、２以上の自然数）が設定される。
【００８４】
このように、パーティクル発生地点Ｇ（ＧX、ＧY、ＧZ）を起点として、互いに移動方向及び移動量の異なる複数の軌跡関数を設定することによって、例えば岩場と波の衝突地点から、波が岩場に衝突したことを意味するパーティクル発生イベントの検出に基づいて、各軌跡関数上で複数フレームのパーティクル位置におけるパーティクル表現オブジェクトを移動させることによって、よりリアルな水飛沫を表現することができる。この場合、軌跡曲線によって水飛沫が飛び散る速度、高さ、方向を異ならせることで、より複雑な現象を表現することができる。
【００８５】
このとき、パーティクル発生イベントの検出タイミングと、水飛沫等が飛び散る様子を表現する画像の表示タイミングとを異ならせることで、よりリアルな画像表現を行うことも考えられる。
【００８６】
また、例えばパーティクル発生地点Ｇが含まれない平面Ｓと軌跡関数ｇ１〜ｇ４との交点Ｇ１〜Ｇ４を可視化開始地点として、平面Ｓの上側を可視化領域とした場合、可視化領域のパーティクル表現オブジェクトの画像を生成することにより、水飛沫等が飛び散って広がる様子をリアルに表現することができる。
【００８７】
ここで、可視化開始地点とは、パーティクルを用いて表現する画像が可視化を開始する地点を意味し、例えば当該画像の可視化開始イベントの発生により特定される。この可視化開始イベントの検出は、例えば波と岩場との衝突を検出するヒット判定に基づき検出するようにしてもよいし、あらかじめフレーム時間により指定するようにしてもよい。
【００８８】
さらに、パーティクル発生地点Ｇと、ヒット判定が行われる平面Ｓとの間の助走間隔を設けるようにしたので、各軌跡関数上で所与のフレーム経過後における位置Ｇ１〜Ｇ４でのヒット判定を行う代わりに、位置Ｇ１〜Ｇ４の代表点としてパーティクル発生地点Ｇにおいてヒット判定を行うことによって、処理を大幅に軽減することができる。
【００８９】
なお、パーティクル発生地点を起点として複数の軌跡関数を設定した場合に、各軌跡関数に基づいて当該フレームのパーティクル表現オブジェクト（１フレーム分のパーティクル表現オブジェクト）を配置するだけでも、例えば水飛沫の水滴が飛び散る様子をよりリアルに表現できる。
【００９０】
２．３  数珠繋ぎによる表現
さらに本実施形態では、上述したように軌跡関数に基づき求められたオブジェクト位置に複数のパーティクル表現オブジェクトを配置する場合、あらかじめ所与の時間間隔で複数のパーティクル表現オブジェクトを軌跡関数に基づいて配置してから順次可視化開始地点に到達するように、各パーティクル表現オブジェクトが配置されるパーティクルの位置の軌跡関数の起点であるパーティクル発生地点が設定されている。
【００９１】
このように本実施形態では、パーティクル発生地点と可視化開始地点とが異なり、パーティクル発生地点からフレーム経過に伴い軌跡関数上を移動するパーティクル表現オブジェクトが、所与のフレームが経過後に、可視化開始地点に到達するようになっている。
【００９２】
これにより、パーティクル発生地点からパーティクル処理が開始されたパーティクル表示オブジェクトは、例えば時間経過に伴い、パーティクル表現オブジェクトごとに設定された透明度を減少させて次第に消滅させたりする処理が行われる。その際、可視化開始地点を通過したパーティクル表現オブジェクトが、フレーム経過と共にサイズが大きくなり、互いのパーティクル表現オブジェクトのすき間が空かないようにすることにより、ボリューム感をもって飛び散る様子をリアルに表現することができるようになる。
【００９３】
図４（Ａ）〜（Ｄ）に、上述した軌跡関数上を移動する複数のパーティクル表現オブジェクトを模式的に示す。
【００９４】
ここでは、フレーム番号ｔに基づいてＹ座標の位置を特定する軌跡関数ｇについて示し、パーティクル発生地点のＹ座標をＧY、可視化開始地点のＹ座標をＧPYとする。例えば波の水飛沫を表現する場合、波と岩場が衝突する衝突地点を可視化開始地点として考えることができる。
【００９５】
パーティクル発生地点を起点とした軌跡関数ｇ上に複数のパーティクル表現オブジェクトが配置された場合、これらパーティクル位置Ｐ１〜Ｐ５は、例えば所与のフレーム経過後に、図４（Ａ）に示すようにその先頭のパーティクル位置Ｐ１が可視化開始地点に到達する。
【００９６】
その後、フレームの経過に伴い、パーティクル位置Ｐ２〜Ｐ５は順次軌跡関数ｇに沿って移動し、図４（Ｂ）に示すように、パーティクル処理開始地点からパーティクル位置Ｐ１、Ｐ２が軌跡関数ｇにしたがって軌跡を描くようになる。
【００９７】
すなわち、パーティクル表現オブジェクトは、パーティクル発生地点ＧYから、フレームの経過に伴いパーティクル処理が開始され、例えばパーティクル表現オブジェクトに寿命が設定されている場合、寿命の計算が開始されることになる。しかし、実際に画像表示が行われるのは、可視化開始地点ＧPYの通過以降となる。したがって、図４（Ａ）ではパーティクル位置Ｐ１に配置されたパーティクル表現オブジェクトの画像が表示され、図４（Ｂ）ではパーティクル位置Ｐ１、Ｐ２に配置されたパーティクル表現オブジェクトの画像が表示されることになる。
【００９８】
その後、さらにフレームの経過に伴い、パーティクル位置Ｐ３〜Ｐ５も順次軌跡関数ｇに沿って可視化開始地点を通過し、結果的に図４（Ｄ）に示すように軌跡関数ｇに沿って移動する複数のパーティクル表現オブジェクトが配置される。
【００９９】
本実施形態では、当該フレームにおける軌跡関数に基づき求められたオブジェクト位置にパーティクル表現オブジェクトを配置するとき、当該フレームの前後ｍフレーム分だけ、所与の時間間隔を置いて複数のパーティクル表現オブジェクトを配置する。例えば、図４（Ａ）〜（Ｄ）において、パーティクル位置Ｐ３の位置を当該フレームのフレーム番号に対応する位置とし、その前後の所与の時間間隔を置いた２フレーム分のフレーム番号に対応する位置を求め、各位置にパーティクル表現オブジェクトを配置する。
【０１００】
したがって、本実施形態では、フレーム番号「０」によって特定される第０フレームにおいて可視化が開始されるため、少なくとも第（−ｍ）フレーム以上前から軌跡関数に基づき求められたオブジェクト位置にパーティクル表現オブジェクトを配置している。こうすることで、例えば波の水飛沫を表現する場合、波と岩場が衝突する衝突地点を可視化開始地点とし、波が岩場に衝突した時点をパーティクル発生イベントとして検出することにより、図４（Ｃ）のように軌跡関数に基づいて配置された複数のパーティクル表現オブジェクトがいきなり出現するといった不自然な表現を回避することができる。この場合、図４（Ｂ）に示すように、可視化開始地点から徐々にパーティクル表現オブジェクトが現れ、その結果ボリューム感をもった状態で軌跡を描いてやがて消滅する水飛沫を表現することができる。
【０１０１】
なお、ここでは、フレーム番号に基づいて、オブジェクト空間におけるＹ座標の軌跡を示す軌跡関数ｇを用いて説明したが、例えば図５に示すようなオブジェクト空間におけるＸ座標の軌跡を示す軌跡関数ｆや、図６に示すようなオブジェクト空間におけるＺ座標の軌跡を示す軌跡関数ｈについても同様である。例えば、Ｘ座標の軌跡を示す軌跡関数ｆやＺ座標の軌跡を示す軌跡関数ｈとしては、等加速度運動を考慮した関数や、風等の影響を考慮した関数を用いることができる。
【０１０２】
このように、本実施形態では、所与のパーティクル発生地点を起点として、オブジェクト空間における各座標軸方向の軌跡を示す複数の軌跡関数それぞれに、当該フレームのパーティクル表現オブジェクトの他に、少なくとも当該フレームの前後の１又は複数フレームのフレーム番号に対応する位置にパーティクル表現オブジェクトを配置するようにした。そして、当該フレームの前後のｍフレームの複数のパーティクル表現オブジェクトを配置して可視化開始地点通過後に画像表示を行う場合、パーティクルを用いて表現する画像の可視化が開始するフレームより少なくともｍフレーム以上前からパーティクル表現オブジェクトを配置して、順次軌跡関数上を移動させるようにした。これにより、図７に示すように、例えば岩場に波が衝突したときに発生する水飛沫が四方八方に飛び散ってやがて消滅していくといったよりリアルな画像表現を行うことができるようになる。
【０１０３】
３．  本実施形態の処理
次に、本実施形態の処理の詳細例について、図８のフローチャートを用いて説明する。ここでは、パーティクル発生地点を起点とした軌跡関数に基づき、あらかじめ所定の時間間隔を置いて配置されている複数のパーティクル表現オブジェクトの処理例を示す。パーティクル処理開始地点を通過しているパーティクル表現オブジェクトについては、パーティクル処理部１２２によってその属性がフレーム更新タイミングにあわせて更新される。
【０１０４】
まず、フレーム更新（描画バッファの更新）か否かを判断する（ステップＳ１）。これは、画像生成システムのハードウェアが垂直同期のタイミングで発生する割り込みに基づいて判断できる。
【０１０５】
そして、フレーム更新と判断された場合（ステップＳ１：Ｙ）には、現在のフレーム番号ｔを算出する（ステップＳ２）。これは、例えば表示部に出力する垂直同期信号Ｖｓｙｎｃがアクティブになるタイミングでカウントアップされるカウント値（カウント値の変数）を用いて取得してもよいし、画像生成システムが有するリアルタイムクロックのタイマを用いて取得してもよい。
【０１０６】
次に、オブジェクト位置演算部１１２により、フレーム番号ｔによって特定される当該フレームの前後ｍフレーム内の所定の時間間隔を置いて軌跡関数に基づき配置される各パーティクル表現オブジェクトについて、次式に従ってオブジェクト空間における位置（オブジェクト位置）を求める（ステップＳ３）。
【０１０７】
Ｘ＝ｆ（ｔ）  ・・・（１）
Ｙ＝ｇ（ｔ）  ・・・（２）
Ｚ＝ｈ（ｔ）  ・・・（３）
そして、パーティクル設定部１１４により、ステップＳ３で求められたオブジェクト位置に、パーティクル表現オブジェクトを配置する（ステップＳ４）。
【０１０８】
続いて、各パーティクルオブジェクトごとに、可視化開始地点を通過しているかが判断される。可視化開始地点を通過しているか否かは、例えば他のオブジェクト（岩場オブジェクトや、水面オブジェクト等）とのヒット判定に基づいて判断するようにしてもよいし、あらかじめ指定されたフレーム経過後の位置を可視化開始地点とするようにしてもよい。この結果、可視化が行われるパーティクル表現オブジェクトについて、画像生成部１２０のジオメトリ処理部１２４により、ジオメトリ処理が行われて描画データが生成され、描画部１２６により描画領域に描画される（ステップＳ５）。
【０１０９】
以上のようにして、図７に示すような波が岩場に当たったときに発生する波の水飛沫についてのリアルな画像を生成できるようになる。
【０１１０】
４．  ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図９を用いて説明する。
【０１１１】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラム等に基づき動作し、ゲーム処理、画像処理、音処理等の種々の処理を実行する。
【０１１２】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算等の処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１１３】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成等のジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算等の処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１１４】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面等において、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１１５】
描画プロセッサ９１０は、ポリゴンや曲面等のプリミティブ（プリミティブ面）で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファ等を利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理等も行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１１６】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源等を内蔵し、ＢＧＭ、効果音、音声等の高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１１７】
ゲームコントローラ９４２（レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等）からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１１８】
ＲＯＭ９５０にはシステムプログラム等が格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１１９】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１２０】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１２１】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データ等が格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１２２】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバス等を考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【０１２３】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現（実行）してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１２４】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実現するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【０１２５】
図１０（Ａ）に、本実施形態を業務用ゲームシステム（画像生成システム）に適用した場合の例を示す。プレーヤは、ディスプレイ１１００、１１０１上に映し出されたゲーム画像を見ながら、ガン型コントローラ１１０２、１１０３等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリ等が実装される。そして、本発明の各手段を実現するためのプログラム（データ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、このプログラムを格納プログラム（格納情報）と呼ぶ。
【０１２６】
図１０（Ｂ）に、本実施形態を家庭用のゲームシステム（画像生成システム）に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ガン型コントローラ１２０２、１２０４等を操作してゲームを楽しむ。この場合、上記格納プログラム（格納情報）は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【０１２７】
図１０（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-1〜１３０４-n（ゲーム機、携帯電話）とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納プログラム（格納情報）は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１２８】
なお、図１０（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバ）と端末とで分散して実現するようにしてもよい。また、本発明の各手段を実現するための上記格納プログラム（格納情報）を、ホスト装置（サーバ）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１２９】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１３０】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１３１】
例えば、軌跡関数により求められる位置にパーティクル表現オブジェクトを配置するものとして説明したが、これに限定されるものではない。例えば軌跡関数に基づきその属性が時間経過とともに変化するパーティクル位置を求め、パーティクルで上述した水飛沫等を表現する場合も同様に、実現することができる。
【０１３２】
また、本実施形態における軌跡関数の種類に限定されるものではなく、種々の関数を用いることができる。
【０１３３】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１３４】
また、本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１３５】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム（ゲームシステム）に適用できる。
【符号の説明】
【０１３６】
１００  処理部
１１０  機能ブロック
１１２  オブジェクト位置演算部
１１４  パーティクル表現オブジェクト設定部
１２０  画像生成部
１２２  パーティクル処理部
１２４  ジオメトリ処理部
１２６  描画部
１３０  音生成部
１６０  操作部
１７０  記憶部
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
【図１】
2011141893.tif 000003
【図２】
2011141893.tif 000004
【図３】
2011141893.tif 000005
【図４】
2011141893.tif 000006
【図５】
2011141893.tif 000007
【図６】
2011141893.tif 000008
【図７】
2011141893.tif 000009
【図８】
2011141893.tif 000010
【図９】
2011141893.tif 000011
【図１０】
2011141893.tif 000012
【手続補正書】
【提出日】平成23年3月31日(2011.3.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像生成を行うためのプログラムであって、
所与のパーティクル発生地点を通り時間又はフレーム経過に伴い所与の軌跡曲線を描く軌跡関数を用いて、与えられた時間又はフレームのフレーム番号に関連付けられたパーティクルの位置を求める位置演算手段と、
求められた位置にパーティクルを生成する画像生成手段と、してコンピュータを機能させ、
前記所与のパーティクル発生地点を通る複数の異なる軌跡曲線の前記軌跡関数それぞれに基づきパーティクルの位置を求め、時間経過に従い消滅させる処理を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記軌跡関数を用いて、所与のフレームの前後の１又は複数のフレームのフレーム番号に基づき求まる複数の位置にパーティクルを生成することを特徴とするプログラム。
【請求項３】
請求項２において、
第ｎフレームにおいて第（ｎ−ｍ）フレームから第（ｎ＋ｍ）フレームのフレーム番号に関連付けられた位置にパーティクルを用いた画像を生成する場合、少なくともパーティクルを用いて表現する画像の可視化が開始されるフレームよりｍフレーム以上前から生成することを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記求められた位置に、パーティクル表現オブジェクトを設定するパーティクル設定手段をコンピュータに実現させると共に、
前記画像生成手段は、オブジェクト空間内の所与の視点での画像を生成することを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
時間又はフレームの経過に伴い、パーティクルを用いて表示されるオブジェクトのサイズを大きくすることを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
同一軌跡関数に基づき複数フレーム分の前記オブジェクトの画像を生成する場合、互いのオブジェクトのすき間が空かないようにオブジェクトを配置して画像を生成することを特徴とするプログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記軌跡関数は、放物線の軌跡関数であることを特徴とするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
パーティクルを用いて表現する画像は、水飛沫、滝、噴水、炎、火柱、花火、煙、砂煙、水煙、霧、爆発、砂塵、雲のいずれかを含む不定形な表示物を表現するオブジェクト画像の少なくとも一部であることを特徴とするプログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
パーティクル発生イベントの検出タイミングと、パーティクルを用いて表現する画像の表示タイミングとを異ならせることを特徴とするプログラム。
【請求項１０】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項１乃至９のいずれかに記載のプログラムを含むことを特徴とする情報記憶媒体。
【請求項１１】
画像生成を行う画像生成システムであって、
所与のパーティクル発生地点を通り時間又はフレーム経過に伴い所与の軌跡曲線を描く軌跡関数を用いて、与えられた時間又はフレームのフレーム番号に関連付けられたパーティクルの位置を求める位置演算手段と、
求められた位置にパーティクルを生成する画像生成手段と、を含み、
前記所与のパーティクル発生地点を通る複数の異なる軌跡曲線の前記軌跡関数それぞれに基づきパーティクルの位置を求め、時間経過に従い消滅させる処理を行うことを特徴とする画像生成システム。