(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-20
(45)【発行日】2025-01-28
(54)【発明の名称】プログラム、情報処理装置、及びシミュレーション方法
(51)【国際特許分類】
G06T 13/60 20110101AFI20250121BHJP
G16Z 99/00 20190101ALI20250121BHJP
【FI】
G06T13/60
G16Z99/00
(21)【出願番号】P 2021027196
(22)【出願日】2021-02-24
【審査請求日】2023-12-07
(73)【特許権者】
【識別番号】595000427
【氏名又は名称】株式会社コーエーテクモゲームス
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】畑 智行
【審査官】渡部 幸和
(56)【参考文献】
【文献】特開2009-134504(JP,A)
【文献】特開2011-170832(JP,A)
【文献】特開2020-194285(JP,A)
【文献】佐藤 陽悦 et al.,ストロークベースの水彩画調レンダリング法,情報処理学会研究報告,日本,社団法人情報処理学会,2001年09月14日,Vol.2001,NO.89,第95頁-第100頁
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/60
G16Z 99/00
(57)【特許請求の範囲】
【請求項1】
パーティクルベースで混合流体の特性変化の過程をシミュレートする情報処理装置を、
前記混合流体に含まれる複数種類の流体のパーティクルの密度を変数とした前記混合流体
に含まれる特性変化前のパーティクルから特性変化後のパーティクルに変化する反応速度を表す速度関数に基づき、前記混合流体の特性変化の速度を算出する特性変化速度算出部、
算出した前記混合流体の特性変化の速度に基づき、前記混合流体の特性変化を生じさせるように前記混合流体に含まれるパーティクルを更新させる特性変化処理部、
として機能させるためのプログラム。
【請求項2】
パーティクルベースで混合流体の特性変化の過程をシミュレートする情報処理装置を、
前記混合流体に含まれる複数種類の流体のパーティクルの密度を変数とした前記混合流体の特性変化の速度関数に基づき、前記混合流体の特性変化の速度を算出する特性変化速度算出部、
算出した前記混合流体の特性変化の速度に基づき、前記混合流体に含まれる特性変化前のパーティクルを消滅させ、特性変化後のパーティクルを発生させる特性変化処理部、
として機能させるためのプログラム。
【請求項3】
前記特性変化処理部は、前記混合流体に含まれる複数種類の液体の混合による前記混合流体の発色変化、前記混合流体の粘性変化、又は
前記混合流体からの発泡現象を表現するように前記混合流体に含まれるパーティクルを更新させること
を特徴とする請求項1
又は2に記載のプログラム。
【請求項4】
パーティクルベースで混合流体の特性変化の過程をシミュレートする情報処理装置であって、
前記混合流体に含まれる複数種類の流体のパーティクルの密度を変数とした前記混合流体
に含まれる特性変化前のパーティクルから特性変化後のパーティクルに変化する反応速度を表す速度関数に基づき、前記混合流体の特性変化の速度を算出する特性変化速度算出部と、
算出した前記混合流体の特性変化の速度に基づき、前記混合流体の特性変化を生じさせるように前記混合流体に含まれるパーティクルを更新させる特性変化処理部と、
を有する情報処理装置。
【請求項5】
パーティクルベースで混合流体の特性変化の過程をシミュレートする情報処理装置であって、
前記混合流体に含まれる複数種類の流体のパーティクルの密度を変数とした前記混合流体の特性変化の速度関数に基づき、前記混合流体の特性変化の速度を算出する特性変化速度算出部と、
算出した前記混合流体の特性変化の速度に基づき、前記混合流体に含まれる特性変化前のパーティクルを消滅させ、特性変化後のパーティクルを発生させる特性変化処理部と、
を有する情報処理装置。
【請求項6】
パーティクルベースで混合流体の特性変化の過程をシミュレートする情報処理装置が実行するシミュレーション方法であって、
前記混合流体に含まれる複数種類の流体のパーティクルの密度を変数とした前記混合流体
に含まれる特性変化前のパーティクルから特性変化後のパーティクルに変化する反応速度を表す速度関数に基づき、前記混合流体の特性変化の速度を算出する特性変化速度算出ステップと、
算出した前記混合流体の特性変化の速度に基づき、前記混合流体の特性変化を生じさせるように前記混合流体に含まれるパーティクルを更新させる特性変化処理ステップと、
を有するシミュレーション方法。
【請求項7】
パーティクルベースで混合流体の特性変化の過程をシミュレートする情報処理装置が実行するシミュレーション方法であって、
前記混合流体に含まれる複数種類の流体のパーティクルの密度を変数とした前記混合流体の特性変化の速度関数に基づき、前記混合流体の特性変化の速度を算出する特性変化速度算出ステップと、
算出した前記混合流体の特性変化の速度に基づき、前記混合流体に含まれる特性変化前のパーティクルを消滅させ、特性変化後のパーティクルを発生させる特性変化処理ステップと、
を有するシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、情報処理装置、及びシミュレーション方法に関する。
【背景技術】
【0002】
例えば液体、気体などの流体を表現する手法の一例としてパーティクルシステムが知られている。パーティクルシステムでは、流体の動きを多数の粒子の動きとして表現し、その粒子をパーティクルと呼ぶ。パーティクルは、色や寿命などの特性を有し、所与の規則や作用する力によって、発生、移動、又は消滅する。従来、パーティクルを用いて水しぶき等を表現して、リアルな水しぶき等の画像を生成する技術が知られている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数種類の流体をパーティクルベースで取り扱うことにより、流体同士の単純な混合をシミュレートすることが考えられる。しかしながら、従来のシミュレーションは混合流体の特性変化の過程を取り扱うものではなかった。
【0005】
本開示は、パーティクルベースで混合流体の特性変化の過程をシミュレートすることを課題とする。
【課題を解決するための手段】
【0006】
本開示によれば、パーティクルベースで混合流体の特性変化の過程をシミュレートする情報処理装置を、前記混合流体に含まれる複数種類の流体のパーティクルの密度を変数とした前記混合流体の特性変化の速度関数に基づき、前記混合流体の特性変化の速度を算出する特性変化速度算出部、算出した前記混合流体の特性変化の速度に基づき、前記混合流体の特性変化を生じさせるように前記混合流体に含まれるパーティクルを更新させる特性変化処理部、として機能させるためのプログラムが提供される。
【発明の効果】
【0007】
本開示によれば、パーティクルベースで混合流体の特性変化の過程をシミュレートすることができる。
【図面の簡単な説明】
【0008】
【
図1】本実施形態に係る描画システムの一例の構成図である。
【
図2】本実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【
図3】本実施形態に係る情報処理装置の機能構成の一例を示す図である。
【
図4】本実施形態に係る情報処理装置の処理の一例のフローチャートである。
【
図5】本実施形態に係る情報処理装置の処理の一例のイメージ図である。
【
図6】本実施形態に係る情報処理装置の処理の一例のイメージ図である。
【発明を実施するための形態】
【0009】
以下、本開示を実施するための形態について図面を参照して説明する。以下に説明するパーティクルベースで混合流体の特性変化の過程をシミュレートする方法は、例えば三次元コンピュータグラフィック(CG)の描画システムなどに実装し、ゲーム画像などの各種画像の生成に利用できる。
【0010】
[システム構成]
まず、一実施形態に係る描画システムについて、
図1を参照して説明する。一実施形態に係る描画システムは、
図1(A)に示す情報処理装置10、又は
図1(B)に示す情報処理システムにより構成される。
図1(A)の情報処理装置10は、ユーザが操作する電子機器であって、パーソナルコンピュータ、スマートフォン等の携帯電話機、携帯ゲーム機、タブレット端末、家庭用ゲーム装置、業務用ゲーム装置等である。
図1(A)の情報処理装置10は、ユーザからの操作をタッチパネル、コントローラ、マウス、キーボード等で受け付け、操作に応じた画像を表示する。
【0011】
また、
図1(B)の情報処理システムは情報処理装置10とサーバ装置14とがネットワーク18を介して通信可能に接続された構成である。
図1(B)の情報処理装置10は
図1(A)と同様な電子機器である。
【0012】
サーバ装置14は情報処理装置10との間でデータを送受信することで、情報処理装置10が受け付けたユーザの操作に応じた画像を情報処理装置10に表示するために必要な機能を情報処理装置10に提供する。サーバ装置14はクラウドコンピュータにより実現してもよい。なお、
図1(B)に示したサーバ装置14の個数は、1つに限定されるものではなく、2つ以上で分散処理してもよい。例えばサーバ装置14は情報処理装置10へのプログラム(アプリケーション)などのダウンロード処理やユーザのログイン処理、各種テーブルの管理などに利用してもよい。なお、
図1のシステム構成は一例である。
【0013】
本実施形態に係る描画システムでは、後述するように、情報処理装置10又はサーバ装置14がパーティクルベースで混合流体の特性変化の過程をシミュレートし、そのシミュレートの結果を、例えば情報処理装置10が表示する画像を生成するために利用する。
【0014】
[ハードウェア構成]
本実施形態に係る情報処理装置10は、例えば
図2に示すように構成される。サーバ装置14の構成は情報処理装置10と同様であるため、説明を省略する。
図2は本実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【0015】
図2の情報処理装置10は、例えばCPU(Central Processing Unit)100、記憶装置102、通信装置104、入力装置106、及び出力装置108を有する。CPU100はプログラムに従って情報処理装置10を制御する。記憶装置102は、例えばROM(Read Only Memory)やRAM(Random Access Memory)などのメモリ、HDD(Hard Disk Drive)やSSD(Solid State Drive)などのストレージである。記憶装置102はCPU100で実行するプログラム及びデータを記憶する。
【0016】
通信装置104は、通信を制御するネットワーク回路などの通信デバイスである。入力装置106は、タッチパッド、コントローラ、マウス、キーボード、カメラ、マイクなどの入力デバイスである。また、出力装置108はディスプレイ、スピーカなどの出力デバイスである。タッチパネルは入力装置106の一例であるタッチパッドと出力装置108の一例であるディスプレイとを組み合わせることで実現される。
図2のハードウェア構成は一例である。
【0017】
[機能ブロック]
以下では情報処理装置10がパーティクルベースで混合流体の特性変化の過程をシミュレートして、シミュレートの結果を表示する場合の機能構成例を
図3に示し説明するが、
図3の機能構成の少なくとも一部をサーバ装置14に設け、情報処理装置10とサーバ装置14とが連携して処理を行うようにしてもよい。
【0018】
図3は本実施形態に係る情報処理装置の機能構成の一例を示す図である。
図3の情報処理装置10は、制御部200、操作受付部202、出力制御部204、通信部206、及び記憶部210を有する。
【0019】
記憶部210はプログラム212、流体データ214、及び速度関数データ216を記憶している。記憶部210は記憶装置102で実現してもよいし、ネットワーク18等を介して接続された記憶装置により実現してもよい。プログラム212はCPU100が実行するプログラムである。
【0020】
流体データ214は、複数種類の流体をパーティクルベースで取り扱うために必要な各種データを含む。流体は、例えば気体、液体などである。また、混合流体は、複数種類の流体が混在している状態の流体である。混合流体は、異なる液体が混在したり、液体中に気体が混入したり、気体に液体が混在したり、する。
【0021】
このような流体を表現する手法の一例がパーティクルシステムである。パーティクルシステムは運動する粒子(パーティクル)により構成される流体を表現できる。パーティクルシステムを用いて表現できる流体としては、例えば水、湯気、霧等がある。流体の特性は例えば体積、粘性、色等で表すことができる。
【0022】
また、混合流体の特性は、その混合流体に含まれる複数種類の流体の特性と、混合流体の特定の体積に入っている流体のパーティクルの割合(密度)等で表すことができる。以下の説明では、混合流体に入っている流体のパーティクルの密度を、流体の密度と呼ぶことがある。
【0023】
速度関数データ216は、混合流体に含まれる流体の密度を変数として、混合流体の特性変化の速度を計算するための速度関数を含む。速度関数は、流体の混合や化学変化などの混合流体の特性を変化させる反応毎に準備する。なお、速度関数は、混合流体の特性を変化させる反応をグループ分けし、そのグループ毎に準備してもよい。また、速度関数は混合流体の特性を変化させる反応以外の要件毎に準備してもよい。1つの速度関数を準備して共有してもよい。
【0024】
制御部200は情報処理装置10の全体の制御を行う。情報処理装置10の全体の制御には、パーティクルベースで混合流体の特性変化の過程をシミュレートする制御が含まれる。
【0025】
制御部200は、CPU100がプログラム212に記載された処理を実行することにより実現される。制御部200は、描画制御部220を有する構成である。描画制御部220は、設定情報受付部222、特性変化速度算出部224、特性変化処理部226、及び画像生成部228を有する構成である。
【0026】
設定情報受付部222はパーティクルベースで特性変化の過程をシミュレートする混合流体の設定情報を受け付ける。設定情報の設定は、例えば情報処理装置10を操作するユーザにより行われる。なお、パーティクルベースで特性変化の過程をシミュレートする混合流体の設定情報には、その混合流体に含まれる複数種類の流体の特性を表すデータ、混合流体の特性を変化させる化学変化などの反応を表すデータ、が含まれる。混合流体の特性を変化させる化学変化などの反応を表すデータは、その混合流体に含まれる複数種類の流体に基づいて自動で設定されるようにしてもよい。
【0027】
特性変化速度算出部224は、設定情報に設定されていた混合流体の特性を変化させる反応に基づき、その反応に対応する速度関数を速度関数データ216から読み出す。特性変化速度算出部224は、速度関数データ216から読み出した速度関数に基づき、混合流体の特性変化の速度を算出する。
【0028】
なお、反応に対応する速度関数は、その反応を生じさせる流体の密度を変数とし、その反応が生じる速度から混合流体の特性変化の速度を算出する関数である。密度が高い流体は特定の体積の中に含まれるパーティクルの数が多く、例えば複数のパーティクルが反応して新たな特性を持つパーティクルが発生する機会が増え、反応速度が速くなる。
【0029】
また、密度が低い流体は特定の体積の中に含まれるパーティクルの数が少なく、例えば複数のパーティクルが反応して新たな特性を持つパーティクルが発生する機会が減り、反応速度が遅くなる。反応を生じさせる流体の密度を変数とすることで、速度関数は、その反応が生じる速度を、混合流体の特性変化の速度として算出できる。
【0030】
特性変化処理部226は、算出した混合流体の特性変化の速度に基づき、その速度で混合流体の特性変化を生じさせるように、混合流体に含まれるパーティクルを消滅させる処理や新しい特性のパーティクルを発生させる処理などにより更新する。特性変化処理部226の処理により、混合流体に含まれる流体の密度は変化する。
【0031】
特性変化処理部226は、混合流体に含まれる流体の密度に基づき、それぞれの流体の特性から混合流体の特性を判断する。例えば特性変化処理部226は、密度の高い流体の影響が多く、又、密度の低い流体の影響が少なく、なるように、それぞれの流体の特性から混合流体の特性を判断する。
【0032】
画像生成部228は、判断した混合流体の特性に基づき、混合流体の特性変化の画像を生成する。例えば画像生成部228は液体の混合による発色・粘性等の特性変化、炭酸飲料の発泡現象などの複雑な混合流体の画像を生成できる。
【0033】
操作受付部202は入力装置106に対するユーザの各種操作を受け付ける。出力制御部204は制御部200の制御に従って各種画面を出力装置108に表示する。操作受付部202はCPU100がプログラム212に従って入力装置106を制御することにより実現される。また、出力制御部204は、CPU100がプログラム212に従って出力装置108を制御することにより実現される。入力装置106に対するユーザの各種操作とは、CPU100に処理を実行させるため、ユーザが操作受付部202を操る操作をいう。出力制御部204は、制御部200の制御に従い、各種画面の表示と音の出力とを行う。
【0034】
通信部206は、ネットワーク18等を介して通信する。通信部206はCPU100がプログラム212を実行し、プログラム212に従って通信装置104を制御することにより実現される。
【0035】
[処理]
以下では、ユーザがパーティクルベースで特性変化をシミュレートする混合流体の設定情報を情報処理装置10に設定し、情報処理装置10がパーティクルベースで混合流体の特性変化の過程をシミュレートして、シミュレートの結果を表示する例を説明する。
【0036】
図4は本実施形態に係る情報処理装置の処理の一例のフローチャートである。ステップS10において、情報処理装置10の設定情報受付部222はパーティクルベースで特性変化の過程をシミュレートする混合流体の設定情報をユーザから受け付ける。
【0037】
ステップS12において、特性変化速度算出部224は、設定情報に設定されていた混合流体の特性を変化させる反応(例えばパーティクルAとパーティクルBとが化学変化してパーティクルCになる等)を読み出す。特性変化速度算出部224は、読み出した反応に対応する速度関数を速度関数データ216から読み出す。ステップS12で読み出される速度関数は、設定情報に設定されていた混合流体の特性を変化させる反応の速度を算出する関数である。特性変化速度算出部224は、読み出した速度関数に基づき、設定情報に設定されていた混合流体の特性を変化させる反応の速度を算出する。
【0038】
ステップS12で読み出される速度関数は、例えば混合流体に含まれる流体Aと流体Bとが変化して流体Cとなる反応の場合、以下の式(1)などで表すことができる。以下の式(1)の速度関数は、n乗(n=2、3、…)した流体Aの密度及び流体Bの密度を用いてもよい。
【0039】
速度関数=定数×流体Aの密度×流体Bの密度…(1)
ステップS14において、特性変化処理部226は、算出した混合流体の特性を変化させる反応の速度に基づき、その速度で混合流体の特性変化を生じさせるように、混合流体に含まれるパーティクルを消滅させる処理や新しい特性のパーティクルを発生させる処理などにより更新する。ステップS14の処理により、混合流体に含まれるそれぞれの流体の密度は変化する。混合流体に含まれるそれぞれの流体の密度の変化により、それぞれの流体の影響度が変化し、混合流体の特性は変化することになる。
【0040】
ステップS16において、画像生成部228は、ステップS14の処理により変化した混合流体の特性に基づき、発色や粘性等の特性が変化した混合流体の画像を生成する。ステップS18において、出力制御部204は画像生成部228が生成した混合流体の画像を出力装置108に表示する。
【0041】
ステップS12~S20の処理は、シミュレーション終了まで繰り返される。ステップS12~S20の処理を繰り返すことにより、情報処理装置10は時間経過により特性が変化していく混合流体の画像を表示できる。
【0042】
また、例えば
図4の処理では、ステップS14において混合流体に含まれるそれぞれの流体の密度が変化するため、ステップS12~S20の処理を繰り返すことにより、混合流体の特性変化の速度が上記式(1)の影響により変わっていく。このため、情報処理装置10は時間経過により特性変化の速度が変わっていく混合流体の画像を表現できる。
【0043】
ステップS20においてシミュレーション終了と判定すると、情報処理装置10は
図4のフローチャートの処理を終了する。
【0044】
図5は本実施形態に係る情報処理装置の処理の一例のイメージ図である。
図5では混合流体の特性を変化させる反応の一例として、パーティクルAとパーティクルBとが化学変化してパーティクルCになる反応の例を示している。
図5(a)は設定情報に設定されている混合流体の特性を変化させる反応の一例である。
【0045】
図5(b)はパーティクルAとパーティクルBとが化学変化してパーティクルCになる反応の速度関数に、パーティクルAの密度及びパーティクルBの密度を入力し、速度関数からパーティクルAとパーティクルBとが消滅し、パーティクルCが発生する速度を算出する処理を表している。パーティクルAとパーティクルBとが消滅し、パーティクルCが発生する速度は、混合流体の特性変化の速度となる。
【0046】
図5(c)は、
図5(b)のように算出した速度で、パーティクルAとパーティクルBとを消滅させる処理と、パーティクルCを発生させる処理と、を行うことで、混合流体の特性変化を生じさせる処理を表している。
【0047】
なお、
図5のイメージ図は一例であって、例えば
図6のようであってもよい。
図6は本実施形態に係る情報処理装置の処理の一例のイメージ図である。
図6では混合流体の特性を変化させる反応の一例として、パーティクルDがパーティクルEになる反応の例を示している。
【0048】
図5では、特性変化前のパーティクルが2種類、特性変化後のパーティクルが1種類の例を示した。
図6では、特性変化前のパーティクルが1種類、特性変化後のパーティクルが1種類の例を示している。なお、特性変化前のパーティクルの種類の数と、特性変化後のパーティクルの種類の数とは、
図5及び
図6の例に限定されない。
【0049】
図6(a)はパーティクルDがパーティクルEに変化する反応を示している。また、
図6(b)はパーティクルDがパーティクルEに変化する反応の速度関数に、パーティクルDの密度を入力し、パーティクルDが消滅し、パーティクルEが発生する速度を算出する処理を表している。パーティクルDが消滅し、パーティクルEが発生する速度は、混合流体の特性変化の速度となる。
【0050】
図6(c)は、
図6(b)のように算出した速度で、パーティクルEを消滅させる処理と、パーティクルEを発生させる処理と、を行うことで、混合流体の特性変化を生じさせる処理を表している。
【0051】
以上、本実施形態によれば、パーティクルベースで混合流体の特性変化の過程をシミュレートすることができる。
【0052】
開示した一実施形態の情報処理装置は例示であって制限的なものではないと考えられるべきである。上記の実施形態は添付の請求の範囲及びその主旨を逸脱することなく、様々な形態で変形及び改良が可能である。また、上記した複数の実施形態に記載された事項は矛盾しない範囲で他の構成も取り得ることができ、また、矛盾しない範囲で組み合わせることができる。
【符号の説明】
【0053】
10 情報処理装置
14 サーバ装置
18 ネットワーク
200 制御部
202 操作受付部
204 出力制御部
206 通信部
210 記憶部
212 プログラム
214 流体データ
216 速度関数データ
220 描画制御部
222 設定情報受付部
224 特性変化速度算出部
226 特性変化処理部
228 画像生成部