devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

既存のモーションパス上を一定の速度でアイテムを動かす方法のメモ。

DP KitのMotion Infoノードを使うと、モーションパスの距離や時間に応じた位置を取得することが可能になります。

DP Kit : http://dpont.pagesperso-orange.fr/plugins/nodes/Additionnal_Nodes_2.html

動きを理解するために、単純なモーションを設定して試してみました。

シーンのセットアップ

速度が一定ではないモーションを作成します。

シーンにNullを追加します。名前を「NullPath」にリネームし、キーフレームを作成します。

フレーム x y z
0 0.0 0.0 0.0
50 0.0 0.0 1.0 m
100 0.0 0.0 10.0 m

一定の速度で動かしたいアイテムを用意します。

シーンにNullを追加します。名前を「NullTarget」にリネームします。

モディファイアの追加

NullTargetのMotionOptionパネルを開いて、Nodal Motionモディファイアを追加します。

スクリーンショット 2013-04-04 13.44.20

Nodal Motionモディファイアを使うと、ノードを使ってモーションを制御することが出来るようになります。

ノードの設定

Nodal Motionモディファイアの画面を開きます。

スクリーンショット 2013-04-04 13.48.59

「Multiply」「Motion Info」「Nodal Motion」の3つのノードを使います。Nodal Motionは最初から使いされているので、その他のノードを追加し図のように接続します。

Multiplyノードの設定

Multiplyは「2つの値を乗算した結果を返す」ノードです。

スクリーンショット 2013-04-04 13.49.49

Aには「0.1」を入力。Bはエンベロープを使います。

スクリーンショット 2013-04-04 13.50.32

フレーム「1」に、値「1.0」のキーフレームを作成し、Pre BehaviorとPost Behaviorを「Offset Repeat」に設定します。これで、フレームと同じ値が返されるエンベロープができました。

先に設定したAの値と乗算した結果が、Multiplyノードが返す値となります。
例) フレーム0では0、フレーム10では1.0、フレーム100では10.0

Motion Infoノードの設定

MotionInfoノードは、指定したアイテムのモーションを様々な値をキーにして取得することができるノードです。

スクリーンショット 2013-04-04 13.51.59

Itemに参照したいモーションが設定されているアイテムを設定します(ここでは「NullPath」を指定)。

これで、NullTargetアイテムは、NullPathに設定されたモーションを一定の速度で動くようになります。

操作動画

Pocket

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Trackback URL: