LoginSignup
4
4

More than 5 years have passed since last update.

Control_Dynamics Houdini 01

Posted at

Dopnetwork
:HooudiniFX15.5.673


今回はHoudiniを通して
VFXで用いられるSimulationという事を前提にしております。
数値や挙動の正確性が求められる物理simuationとは異なります。

先に言うときますが....
Simulationは難しいです。

ですが...
一つずつ細かく整理していけば案の定、自分いけるやん!!
って感じるようになります。

数学物理の世界になりますのでどうしても
ある程度、自学自習が必要だと僕は思っております。

これからSimulationを用いてFX_artistを目指す方や
とりあえずSimulationFxを勉強したい人向けに記述していこうと思います。


VFX_Simulationを実行するAppは
たくさんあります。
Maya,Houdini,C4D,Max...
Plug-inもたくさんあります。

それぞれいい部分と悪い部分があります。
GPU_SimulationもあればCPU_Simulationがあります。

何が言いたいっかていうと
自分が学生の時にSimulationを勉強していた頃に
本当にざっくりした情報しかなくめちゃくちゃ大変でした。
その時にあのPlug-inはいい。あのソフトはダメだという事を
情報として出回っていて、よく混乱を招いていました。

Maya_FluidでもHoudini_Fluidでも結果を求めるアプローチが違うだけで
コアの部分では両者とも同じ事を求めています。

使用するtoolに左右されず
勉学に励んでみてください。

以下の書籍を事前にさらっと読んでおくといいかもです。

CGのための物理シミュレーションの基礎
https://book.mynavi.jp/ec/products/detail/id=24247

ゲーム制作者のための物理シミュレーション 剛体編
http://book.impress.co.jp/books/3282

ちなみに自分のメインオペレーションToolは
HoudiniFX,RealFlowです。


さて...
本題に入ります。

HoudiniでSimulationする場合はDopを使用します。

Basic_Dop.PNG

DopNetworkはSop内にも呼び出すことができます。
:Tutorial等でも基本的な部分は触れているので基本的な説明は省きます。

HoudiniではこういったStream(Data_Flow)でDataを制御していきます。
Basic_Setup.PNG

視覚的に分かりやすいですよね。

二つのTargetがあって
一方にはGravityを設定しています。
影響するのは一方だけでってゆう簡単なSystemを構築しています。

基本的な構造はこんな感じですね。


MicroSolverについて

Dop内でよく使うSolverの拡張機能みたいなモノやと思ってください。
以下はMicroSolver一覧です。

MicroSolver.PNG

以下はMicroSolverの論文です

Controlling Fluid Simulations with Custom Fields in Houdini Master Thesis
https://nccastaff.bournemouth.ac.uk/jmacey/MastersProjects/MSc09/Claes/thesis/PeterClaesThesis.pdf

こちらも参考になります
Art Directed Fluid Flow With Secondary Water Effects
http://www.diva-portal.org/smash/get/diva2:559073/FULLTEXT01.pdf

主に使われるのはVolume Simulationで
僕自身Fluid_Simulationでゴリゴリ使用しています。
以下はMy_method FluidSolverです。
My_RnD_MicroSolver.PNG

僕はSideFxの開発者ではないので
細かい部分はわかんないので実際の挙動と照らしながら
アルゴリズムを構築していくスタイルをとっています。


Simulationで扱うGeometryは大きく分けて....
:Topology
:Volume
と僕は認識しています。

Rigid,Cloth...
Water,Smoke...
こんな感じでしょう。

アクセスできる最小単位について考えてみましょう。(選択できるDataと考えましょう)
頂点で構成されているモノはpointを選択できるため、扱いが容易なのが分かります。
:色情報をvertexに持たせたり、選択する幅がかなりありますよね。(vertex-point-primitive-detail)

一方で
Volumeを選択したい場合...
最小単位は空間になります。
つまりは場所で選択するということになります。
Houdiniだと位置座標はその空間の中心点を参照してくれます。
空間については書籍等で勉強してください。

一気にざっくりしたDataになりますよね。
空間って...
Volumeになると今までpointやらで制御してきたものとは扱いが
変わりますので、一気にハードルがあがります。

学校とかでもあまり取り扱ってくれないような気がします。

以下はDataを可視化したものです。
Acsess_type.PNG

HodiniのVolumeはprimitive_levelで制御していきます。

@name_density
@density 

てな感じです。

前置きが長くなりましたね。

これらの概念がHoudiniのSimulationで非常に重要になってきます。

もう一回いいます
Dataの取捨選択が非常に重要になります。

Sopで色々DataのControlの幅を増やす練習をしてからSimualtionに入るのも賢い手かもしれません。


実装していきましょう。

SampleのMicroSolverについては需要があれば公開いたします。
次号に続く

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4