Portfolio

BLOG

Volume Normal

volumeに対してより細かいdetailを入れたい場合、disturbanceなどを使ってsimulationの段階である程度つけられるのですが、煙に寄っている画なんかを作るときには、なかなか難しかったりします。

pyro shaderにはdisplacementが用意されていて、ここにNormalの情報を入れてあげれば、キレイにdisplacementされてより細かい煙の形状を表現できるはず・・・と思い、試してみました。

volumenormal_network.jpg

まずVolume from attribute SOPでSorceにしているgeometryのNormalを基にvolumeのvoxelをsetします。これをdop内でpyroに流し込む。Side fxのヘルプを見るとVolume from attribute SOPでcolorをvolumeにsetしていました。とても参考になりました。

reference : http://www.sidefx.com/docs/houdini/nodes/sop/volumefromattrib.html

 

 

 

 

 

次にdop内でpyroのsourcingのインプットにgas calculateをつなぎ、sopで作ったvolumeのfieldをsourceとし、移流していくfieldを新しく作ります。advectionのインプットにgas advectをつなぎ、さっき作ったfieldをvelocityによって移流させていくようにします。そしてobjectのインプットにsop vector fieldでsopで作ったvolume fieldと移流用のfieldを作ってあげます。

volumenormal_view.jpg

pyro shader でfieldを使って、調整して、レンダリング。displacementなので、どうしてもレンダリングが重くなってしまうのが難点です。Normalを使ったdisplacementは使いどころがある程度限定されてしまいそうですが、今回、volume from attribute SOPを使ってみて、組み合わせ次第でもっと面白いことが出来そうだなあーと感じました。

volumenormal_org_0000.jpg