Digital DNA

技術メモ トップ


CG総合
フォトショップ
頭部のモデリング
人体のモデリング


3ds Max
基本操作1
基本操作2
モデリング1
アニメーション
Character Studio 1
Character Studio 2
標準ボーンの伸縮1
標準ボーンの伸縮2

その他

Maya
・制作中




3dsMax Memo (Script)

dependsOnを活用してみる
「dependsOn」を使うと、パラメータワイヤと同じことができます。




例1:「Box01」がZ軸方向に移動すると「Box02」もZ軸方向に移動する

方法
釣られて動くオブジェクトの[Z位置]に「実数スクリプトコントローラ」を割り当て、
dependsOn $[参照するオブジェクト名].pos.controller.z_position.controller;
$[参照するオブジェクト名].pos.z;
という式を書きます。

手順
1:
Box2を選択し、
[モーションタブ] の [コントローラを割り当て] ロールアウト
から、[Z 位置:ベジェ実数] を選択したら、
[コントローラを割り当て] ボタンをクリック。

2:
「実数スクリプト」を選択して[OK]。

3:
「式」の欄に次の式を記述します。
dependsOn $Box01.pos.controller.z_position.controller;
$Box01.pos.z;

[評価]をクリックしてウィンドウを閉じます。

Box01を移動して動作を確認します。


補足
「式」を再度編集したい時は、
[コントローラを割り当て]ロールアウトの各コントローラ上で[右クリック]→[プロパティ]を選択します。


注意
たとえば、Box2に対して、
dependsOn $Box02.pos.controller.z_position.controller;
$Box02.pos.z;
と書くなど、「自分を動かすと、自分が動く」といった意味合いの式を書くと、
「循環従属」のエラーが出て、エラーから復帰できなくなるので注意が必要です(Ver.9)。
Ver.8ではエラーは出なかったように思います。




例2:「BOX01」の移動を「BOX02」が5フレーム遅れて真似する
BOX1が移動するアニメーションが設定されていることが前提です。

方法
「BOX2」の[X位置],[Y位置],[Z位置]をそれぞれ「実数スクリプト」にし、
それぞれ次の式を記述します。
[X位置]の式
dependsOn $Box01.pos.controller.x_position.controller
at time(currenttime-5) $Box01.pos.x
[Y位置]の式
dependsOn $Box01.pos.controller.y_position.controller
at time(currenttime-5) $Box01.pos.y
[Z位置]の式
dependsOn $Box01.pos.controller.z_position.controller
at time(currenttime-5) $Box01.pos.z




 
Get FireFox
Digital DNA Motion Library 技術メモ 業界メモ イベントレポート フリーテクスチャ リンク集 Digital DNA