時間差キーフレーム
このチュートリアルでは、カーブが持つポイントに対し元のオブジェクトが持つキーフレームを時間差で写しこむ。
ベースになるキーフレームを作る
動きのテンプレートとなるキーウを作成する。
適当なオブジェクトを一つ作り、通常通りキーを打つ
配置先を作る
カーブでもパーティクルでもいいので、Copyでオブジェクトを散布できるようにしておく
素のモーションを受け取るAttributeを作成する
キーフレームを時間差コピーする先のオブジェクト内に、Attrib Createでモーションを直接ch関数を使って受け取るAttributeを作っておく。
この例では、以下の様なAttributeを作った
Value
ch( “/obj/base_object/tx” )
ch( “/obj/base_object/ty” )
ch( “/obj/base_object/tz” )
Pointノードを作る
直後にPointノードを作成しコネクト。
このポイントのデフォルト値に対して、ベースになるキーフレームをchコマンドを使って足し合わせる。
値を加算しないと、あくまでもキーフレームはローカルの値でしかないため、原点で動くことになる。
Position
$TX + ch( “/obj/base_object/tx” )
$TX + ch( “/obj/base_object/ty” )
$TX + ch( “/obj/base_object/tz” )
CHOPに移動値を出力するためのnullを作成
TO_CHOPから出力を行う
CHOP Networkを作成
CHOP Network内でGeometryノードを作成
CHOP Network内に Geometryを作成。
設定は以下のように行う
SOPでキーフレームを含むノードパスを指定
MethodはAnimatedにする(動いているので)
Attribute ScopeでおやAttribute名を入れる?
Rename Scopeで子Attribute名を入れる?
正しくキーフレームが読み込めれば、ノード中ボタンクリックなどで見られる情報ポップアップウインドウで、tx0,tx1…という形式で表示され、各アトリビュートの値が配列で取得できた事がわかる。
※ここでの表示数は制限があるので、すべてのキーフレームが表示されるわけではない。
Reorderノードを作成
MethodをNumeric Suffix Sortにする
情報ポップアップウインドウを見ると、Attributeの並びが変わったことがわかる。
Motion View
キーフレームなどを設定するためではなく、ただモーショングラフを見て解析するためのビューのようだ
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
各Channelのタイミングをランダマイズする
CHOP_OUTの前にStretchノードを挿入
・Length Scale
rand関数を使ったExpressionを仕込む
rand( $C )