Houdini – CHOP

https://vimeo.com/7488503

時間差キーフレーム

このチュートリアルでは、カーブが持つポイントに対し元のオブジェクトが持つキーフレームを時間差で写しこむ。

ベースになるキーフレームを作る

動きのテンプレートとなるキーウを作成する。
適当なオブジェクトを一つ作り、通常通りキーを打つ

20140510_03_5

配置先を作る

カーブでもパーティクルでもいいので、Copyでオブジェクトを散布できるようにしておく

20140510_03_6

素のモーションを受け取るAttributeを作成する

キーフレームを時間差コピーする先のオブジェクト内に、Attrib Createでモーションを直接ch関数を使って受け取るAttributeを作っておく。

この例では、以下の様なAttributeを作った

20140510_03_4

Value
ch( “/obj/base_object/tx” )
ch( “/obj/base_object/ty” )
ch( “/obj/base_object/tz” )

Pointノードを作る

直後にPointノードを作成しコネクト。
このポイントのデフォルト値に対して、ベースになるキーフレームをchコマンドを使って足し合わせる。
値を加算しないと、あくまでもキーフレームはローカルの値でしかないため、原点で動くことになる。

20140510_03_7

Position
$TX + ch( “/obj/base_object/tx” )
$TX + ch( “/obj/base_object/ty” )
$TX + ch( “/obj/base_object/tz” )

CHOPに移動値を出力するためのnullを作成

20140510_03_3

TO_CHOPから出力を行う

CHOP Networkを作成

20140510_03_9

20140510_03_8

CHOP Network内でGeometryノードを作成

CHOP Network内に Geometryを作成。
設定は以下のように行う

SOPでキーフレームを含むノードパスを指定
MethodはAnimatedにする(動いているので)
Attribute ScopeでおやAttribute名を入れる?
Rename Scopeで子Attribute名を入れる?

正しくキーフレームが読み込めれば、ノード中ボタンクリックなどで見られる情報ポップアップウインドウで、tx0,tx1…という形式で表示され、各アトリビュートの値が配列で取得できた事がわかる。

20140510_03_0

※ここでの表示数は制限があるので、すべてのキーフレームが表示されるわけではない。

Reorderノードを作成

MethodをNumeric Suffix Sortにする

情報ポップアップウインドウを見ると、Attributeの並びが変わったことがわかる。

20140510_03_1

Motion View

キーフレームなどを設定するためではなく、ただモーショングラフを見て解析するためのビューのようだ

20140510_03_2

Shiftノードを作成する

Shiftノードは、入力されているモーションのチャンネル全体のタイミングをそのままずらす事ができる。

・Scroll Offset

Expressionを仕込むことで、チャンネルごとにずらすことができる。
チャンネルを表すローカル変数は $C

floor( $C / 3 ) * 0.1

3は、1組のチャンネル数

Delayノード

Delayノードは、アニメーションのタイミングを遅延させる。
このチュートリアルで登場したけど最終的には使わなかった。

Channel ノードをGeometry内に作る

CHOPに、さっき作ったCHOP Network内のCHOP_OUTノードへのパスを入力。

・Method

Animatedにする

・Channel Scope

t[xyz] という書式で入力

・Attribute Scope

P

20140510_03_11

各Channelのタイミングをランダマイズする

CHOP_OUTの前にStretchノードを挿入

・Length Scale

rand関数を使ったExpressionを仕込む

rand( $C )

20140510_03_10

コメントを残す