ゲームエフェクトデザイナーのブログ | A Real-Time VFX Artist's Blog

About Making Materials on UE, Making Tools with C#, etc

Billowy Smokeを使った煙のチュートリアル(後半)

■Introduction to Houdini - PyroFX for FumeFX Artists

前半に引き続いて後半。

 

手順についてのメモ(後半)


23:50
pyrosolver1ノード上で中ボタンを押して情報を表示
Containsの項目は40個のオペレーターを内包していることを表している
※Houdini15では表示は密度と温度の2つのみ

ボクセルサイズがpyroノードの設定と違うのはresize_containerでリサイズしているから
※Houdini15ではresize_containerノードが繋がっているままでも内容に違いが出ず

25:55
pyrosolver1ノードのTimescaleの項目
※値を大きくするとシミュレーション結果の再生速度が速くなり、小さくすると遅くなる
Temperature Diffusion(テンパーチャー ディフュージョン/温度の拡散)の項目
Cooling Rate(冷却速度)の項目 温度がどれくらいで冷めるか
Viscosityビスコーシティ/粘度)の項目
Buoyancy Lift(ボーヤンシー/浮力)の項目
Buoyancy Dir(浮力が作用する方向)の項目
※+と-両方向へ作用させることは可能?

28:00
Combustion(コンバッション/燃焼)タブ
Enable Combusionで燃焼を有効にする

Shape(形状)タブ
Dissipation(霧散?)
※低い値(0.1)を入れて他の項目をOFFにすると拡散せず先端がダマになったまま立ち昇り、高い値(0.75)を入れると早めに拡散して尖った形状になる
Disturbance(ディスターバンス/妨害/騒乱)
大きな塊の中でさらに小さく乱流させて形を崩してくれる
Turbulence(乱流)

Windows標準の「Snipping Tool」を使ってスナップショットを撮って比較
Turbulenceのみ有効の時とさらにDisturbance(0.5)を有効にした時
「見た目で分からないかも知れないが僕を信じろ」

32:55
Disturbanceタブ>Block Size
外のシェイプを崩してくれる

Disturbanceタブ>Field to Disturb
Velocityでは加速度に対して、Temperatureでは温度に対して乱流させる

小さいディティールはDisturbanceで加えられる

34:50
Sharpening
形状がシャープになりふんわりしたところは消える
タバコの煙はシャープにしないとそれっぽくならない
爆発の時もシャープにするために使う

Shredding(シュレッディング/破砕)
炎の時に使うので今は説明しない

Confinement(コンファインメント/閉じ込める)
回転をブーストする 巻き具合の計算を強くする
あまり強くすると計算が遅くなるので気をつける
マイナスの値を入れると計算が速くなる

36:20
エディタ左下の本のアイコンを右クリック、Flipbook with New Settings...を選択
Render Flipbookダイアログが表示される
エクスプレッションでスタートフレームとエンドフレームを指定するよう入力されている

タイムスライダ右端のアイコンをクリック、Global Animation Optionsが表示される
Endフレームを100に短く変更してApplyを押して閉じる
Render FlipbookダイアログでAcceptを押すとシミュレーション開始と同時に録画され、MPlay Flipbookウインドウが開いて確認ができる

ガンマを調整
※色調整の項目はプレビュー画面上で右クリック>Color CorrectionをONで表示される
※File>Export>Video for Windows 64bitでAviを選択して動画を出力可能
 背景が透過された状態で出力できる

38:45
pyrosolver1ノードのパラメータのAdvancedタブでUse OpenCLにチェック

sidefx.jp | Houdini 15 システム環境

以下、上記サイトより引用。

グラフィックカード
OpenGL ハードウエアアクセラレーションは、最適なパフォーマンスを得るのに必須です。
Houdiniでは Direct3D のサポートは不要です (ビューポートとインターフェイスは全て OpenGL を使用)。

 

GPU による高速化と OpenCL
Houdini は、いくつかのグラフィックカード上で GPU を使用して Pyro FX および流体シミュレーションの劇的なパフオーマンスとスピード向上を図ることができます。
この性能を利用する為には、OpenCL に対応した GPU が必要です。Nvidiaでは、Tesla や Quadro x000 シリーズ (FX シリーズではなく Quadro; 600, 2000, 4000, 5000, 6000) や GeForce 400 又は 500 シリーズ。
AMD では、FirePro カード (FireGLではない) や Radeon 5000, 6000 及び 7000 シリーズの GPU 搭載型が必要です。Intel のグラフィックスは、現在 OpenCL に対応していませんが 、CPU ベースの CL ライブラリを所有しており、将来 Houdini と動作するようになるかもしれません。


オブジェクトレベルに戻ってpyro_simノードでReset Simulationをクリック

AMD Radeon R9 200 がおすすめ
マシン環境は速いものにした方が良い
全部のノードでOpenCLを使ってる訳ではなく使うべきところで使っている

42:00
レンダリングするためにはカメラを作る必要がある
ライトを作成した時と同様にCtrlを押しながらシェルフのCameraを選択
今のビューポートの視点に合わせてカメラを作成する
※そのままCam1の視点の状態でカメラの設定を調整すると良い

パラメータエディタのViewタブ>Focal Length焦点距離)とAperture(焦点から枠までの距離)を設定
※Apertureの項目にカーソルを載せてF1を押すとヘルプが表示され、Focal LengthとApertureの関係図が確認できます

Near Clippingを0にしてニアクリップを無くす
Enable Background Imageのチェックを外して背景を無くす
Resolutionで出力解像度を決める

ライトと同様にRockしてカメラを動かしてアングルを決める
レンダービューでカメラを指定

43:00
各ウインドウのタブ上で右クリックするとタブの内容を他のものに切り替えられる
シーンビュー上部のタブからRender Viewを表示
カメラはcam1を選択
レンダラーの設定がまだ無いのでレンダラーを選ぶ項目はグレーアウトされている
※Renderボタンでレンダリングすると標準のレンダラーであるMantraのノードが自動的に作成される

ネットワークエディタ上部のパス上を左クリックしてchに切り替え
Channel Operatorはアニメーション関連のグループでAnimation Editorで編集が可能

imgのネットワークではレンダリングしたものを表示する

ネットワークをoutに切り替えてTabメニューでMantraを作成
outのネットワーク上でレンダラーを作る
Mantraノードを選択してパラメータエディタのCameraでcam1が選択されているのを確認
obj表示に戻してcam1の名前を変えるとMantraでの指定にもちゃんと反映されている

45:15
Render Viewを表示すると先程グレーアウトされていた項目にMantraノードのパスが指定されている
Renderボタンでレンダリングを実行
Previewにチェックを入れているとレンダリング経過が粗い状態から表示される

MantraノードのRenderingタブ>SamplingPixel Samplesでサンプル数を上げると再度レンダリングされて先程より精細になる

Render View下部のカメラアイコンでスナップショットを撮ってレンダリング結果を見比べられる

ローレゾでハイレゾっぽく作る方法もあるけどそれも上級者向けになる


以上で終了です。