パーティクルのキャッシュデータを外部ファイルに保存するには
https://www.youtube.com/watch?v=BbdpVCeBCYc
今回はパーティクルのキャッシュデータを外部ファイルとして保存する方法について解説していきます。
パーティクルのキャッシュデータはシーンファイルの中に保存しておくことができますが、外部ファイルとして保存することで、シーンファイルの容量を減らしたり、また他のシーンでの再現も楽に行えるようになります。
まずはシーンにパーティクルの設定を行います。今回はサンプルコンテンツに入っているSimpleGuyからパーティクルが噴出して舞い上がるようなパーティクルを設定してみます。パーティクルがメッシュの表面から発生させるには、ソースエミッターを使います。パーティクルタブからソースエミッターを追加し、ソースエミッターのプロパティにあるソースからSimplyGuyを選択します。初期速度を0、速度の広がりを10mmぐらいまで抑えてシミュレーションしてみます。
そうすると、どうしてもメッシュのジオメトリが密な場所にパーティクルの発生が偏ってしまうのが確認できます。これをメッシュの表面から万遍なくパーティクルを発生させるために、もうひと手間かけます。アイテム追加 > Particles > Point Clouds > Surface Partcile Generatorを追加します。これはメッシュの表面に点群を作るためのアイテムです。ソースサーフェイスにSimplyGuyを設定し、平均間隔を10mm程度にすると、SimplyGuyの表面にびっしり点群が発生していますので、この点群をパーティクルのソースとします。
ソースエミッターを選択し、ソースにSurface Particle Generatorを設定します。これでシミュレーションを再生してみると、SimpleGuyの表面から万遍なくパーティクルが発生するようになりました。
今度は発生したパーティクルが吹き上げるような効果を表すため、タービュランスのフォースを追加してみます。ただし、できればパーティクルが発生して人型をかたどってからタービュランスの影響を表に出したいので、さらにリニアフォールオフを追加します。リニアフォールオフを追加したら、スケマティックビューでタービュランスのフォースとリニアフォールオフを追加し、Linear FalloffをTurbulence Forceのフォールオフへと接続することで、タービュランスがリニアフォールオフの影響を受けるという設定を行います。
あとは、シーン全体のフレーム数を240まで増やし、適当にリニアフォールオフのアニメーションを付ければ、SimplyGuyの表面から発生したパーティクルが、その足元から巻き上がっていく様子というのを表現できるようになります。
では、このパーティクルの動きを外部ファイルへと保存してみましょう。MODO 801の場合、保存可能な外部ファイルとしてCSV形式と、RealflowのBIN形式という2種類がサポートされています。今回はRealflowのBIN形式で保存してみます。
アイテム追加 > Particles > Point Clouds > Realflow Particleを追加し、Particle Simulationと共にスケマティックビューへと追加したら、Realflow ParticleをParticle Simulationのポイントキャッシュへと接続します。Realflow Partcleのプロパティの新規シーケンスからBINファイルを保存するファイル名と保存場所を指定し、シミュレーションをキャッシュします。これでキャッシュが保存されるようになります。
では、シーンを空にして、Particle SimulationとRealflow Particleだけをシーンに追加し、先ほどと同じようにRealflow ParticleをParticle Simulationのポイントキャッシュへと接続し、今度は参照ボタンから先ほど保存したBINファイルを指定して再生ボタンを押してみましょう。
するとこのシーンにはSimpleGuyもSurface Particle Genaratorもソースエミッターもありませんが、先ほど設定したパーティクルが再現できているのがわかります。このように、パーティクルのキャッシュを外部ファイルへと保存しておくことで、他のシーンへのデータのやり取りも簡単になり、データの整理が可能になります。