キャラクターと絡むtrailを作る時、アニメーションの動きを元にtrailを作る機会があると思います。
そんな時、望まない軌道を意図した軌道に修正する方法を紹介します。
【Houdini Network】
上記がHoudini Networkの全体像です。今回は、アニメーションの動きに沿ったlineと、沿わせないlineを使って修正する方法です。
修正のPointは主に3つです。
Point① intrinsic attributeを活用する。
intrinsic attributeとは、houdini内の隠れパラメーターです。
primintrinsic関数を使って、ジオメトリからprimitiveのintrinsic attributeを作ります。
全体のlineの長さを知りたいので、measuredperimeter(lineの長さを格納)のintrinsic attributeを取得しています。
このattributeが必要な理由は、2つのストリームで作ったlineの長さを合わせる為です。
Point② prim関数でintrinsicを読む。
prim関数を使って、Point①で作ったattributeをline node>Lengthパラメーターに読み込みます。こうする事で、自動的にtrail sopで作ったlineの長さと同じになります。
Point③ 2つのlineをブレンドする。
上記で作った2つのlineを、lerp関数を使ってブレンドします。
まず、ブレンド幅を決めるattributeを作ります。
lerp関数は2つの値が必要なので、2つのattributeを定義します。
今回はlineの位置をブレンドさせたいので、input1に接続してるストリームのlineの位置をattributeとして作ります。(Network画像を参照)
lerp()でwrangleのinput0に接続してるpoint位置(P)とinput1に接続してるpoint位置(rest_lineP)をブレンドさせ、また@Pに戻します。
■補足■
lerp(値1,値2,ブレンド用の値)
最後に、アニメーションに合わせて、ブレンド幅を調整して完了です。
するとObjectの方向とlineの方向が合うようになります。
あとは、この調整したlineでアレやコレやして良い感じにして完成です。
コメントを残す