2010年6月6日日曜日

RealFlow5デモ版 その1

RealFlow5デモ版試しました。
全体的に製品としてイイ感じになったし、GridベースシミュレーションのHYBRIDOが便利に使えそうです。
RFサイトでチュートリアルとかリソースとかが結構ちゃんとまとめられていてよくなりました。

テスト環境 CPU:Core2Duo2.8GHz、RAM:3GB、WindowsXP、3dsMax7.5

【シーンメッシュの作成】
HYBRIDOチュートリアルの崖オブジェクトを見つけるのが面倒くさいのでMaxで似たようなものを作成。(どこかでDLできるのかな?)
Max7.5で適当に崖ぽいメッシュを作成、大きさは奥行き11m、幅6m、高さ4mくらい。SD面倒なのでOBJで書き出し。
MaxからOBJ書き出したらRF5でうまく読めなかったので、Metasequiaで読み込んでからOBJに書き出した。
Import → OBJのファイル。gake2.obj 、今度はばっちり。

【水流本体の作成】
GridFluidDomain(GFD)を配置、スケールによりBOXサイズをシーン(たとえば崖)にフィットさせる。(CGでスケールは鬼門な気がするけどRFってスケールするよなぁ・・・。)
GridFluidEmitterを配置し、エミッタにするメッシュをEmitter/Objectsに登録、そして矢印を放射方向へ向ける。
エミッタのメッシュが(単に放出元であればいいだけで)干渉しなくていい場合は、GlobalLinksから削除
Gravity追加
GridEmitterのStream(Yes)とInitialSpeed(1.0)で放出速度を定義できる。Jitterはランダム具合(0.3)。
Stream、InitialSpeedを定義すると放出量も増えてきた。
CPUはCore2Duoだが、きちんと2コア使用している。
グリッドのキャッシュは\gridに保存される。シミュレーション時間は8分、キャッシュは260MBになった。
Playback -> videoPreview で動画で確認可能、もはや基本的機能だけどすごく便利になった!シネパックとかで保存するとビデオの保存に時間がかかる。
MakeInitialState、このチュートリアルの場合は、要するに元々下のほうに溜まった状態(massive Fluid = 大容量の流体)を作っておきたいときに使っているようです。
useInitialState(YES)、MakeInitialStateボタンでその1フレームが\initialStateに保存される。"
kVolume、GFDに対して有効にするにはinverse(YES)。逆(= BOX内が除外)になってないと利かないってことみたい(?)
パーティクル数を増やすにはGFDの解像度を上げます。100000 -> 500000 、デモ版では500000までに制限。
そういえば大量パーティクルを使用している割には安定性はよくなってる気がしますね。
500000にしたら時間かかります。
シミュレーション時間は40分、キャッシュは900MBになった。
"・・・似ている・・・。
解像度が低いときと高いときで基本的な動きが極端に違っていないのでいいかも。
"
FumeFXのWavelet Turbulenceでは解像度の違いによらず基本的な動きが保たれる点がよさそうでしたが、RFでもそうなんでしょうかね?

【しぶきの作成】
しぶきや霧をレイヤー的に追加していくことが可能で、流体の本流についてはキャッシュを使うようにするのがポイントです。
GridFluidDomainのSimulationを"Cache"にします。これでしぶきのシミュレーションを行っても本流のキャッシュは更新されません。
Splashアイコンを追加。範囲はしぶきが生成されるエリアになる。スケールや移動ツールでコテコテ調整します。
SplashをGFDにExclusiveLinkする。Splashは通常のエミッタであり、あらゆるデーモンの影響を受けます。
Splash向けにkVolumeを作ります。しかし通常エミッタなのでinverseを使う必要はありません。
ExclusiveLinksは影響しあうオブジェクトの組み合わせセットをつくり、効率的に計算できるようにします。
GridFluidDomain(Cache)
|--Gravity
|--GridFluidEmitter
|--GridFluidSplash
|--gake(崖メッシュ)
|--kVolume
|--kAge(必要に応じて)
本流はキャッシュを使用しているのでシミュレーション時間はかからず、しぶきのシミュレーションは速いです。
しぶきの飛び散りが大きすぎてうまくありませんのでkAgeなどで調整して再度しぶきのみシミュレーション。やり直しも効率的です。

参考ビデオはWindowsMediaPlayer11ビデオです。プラグインが必要かもしれません。

GridFluidDomain 100000 particles



GridFluidDomain 100000 particles & GFSplash


GridFluidDomain 500000 particles

制作・©:のぼる/N.Lab