「dependsOn」を使うと、パラメータワイヤと同じことができます。
2つのオブジェクトが連動する処理
「Box01」がZ軸方向に移動すると「Box02」もZ軸方向に移動する処理を作ってみます。
▼
方法
釣られて動くオブジェクトの[Z位置]に「実数スクリプトコントローラ」を割り当て、
dependsOn $[参照するオブジェクト名].pos.controller.z_position.controller;
$[参照するオブジェクト名].pos.z;
|
という式を書きます。
▼
手順
1:
釣られて動く側である Box2 を選択し、
[モーションタブ
] の [コントローラを割り当て] ロールアウト
から、[Z 位置:ベジェ実数] を選択したら、
[コントローラを割り当て
] ボタンをクリック。
3:
「式」の欄に次の式を記述します。
dependsOn $Box001.pos.controller.z_position.controller;
$Box001.pos.z;
|
[評価]をクリックしてウィンドウを閉じます。
Box01を移動して動作を確認します。2つのboxがZ方向のみ連動して動きます。
▼
補足
「式」を再度編集したい時は、
[コントローラを割り当て]ロールアウトの各コントローラ上で[右クリック]→[プロパティ]を選択。
または
[X位置 実数スクリプト]をダブルクリック。
▼
注意
たとえば、Box2に対して、
dependsOn $Box002.pos.controller.z_position.controller;
$Box002.pos.z;
|
と書くなど、「自分を動かすと、自分が動く」といった意味合いの式を書くと、「循環従属」のエラーが出て、エラーから復帰できなくなるので注意が必要です。
エスケープキーを押すと、エラーの無限ループから脱出できます。
5フレーム遅れで動きを真似するオブジェクト
アニメーションでBox001が移動すると、5フレーム遅れてBox002が移動する処理を作ってみます。
Box001が移動するアニメーションが設定されていることが前提です。
▼
方法
Box002 の [X位置],[Y位置],[Z位置] をそれぞれ「実数スクリプト」にし、
それぞれ次の式を記述します。
[X位置]の式
dependsOn $Box001.pos.controller.x_position.controller
at time(currenttime-5) $Box001.pos.x
|
[Y位置]の式
dependsOn $Box001.pos.controller.y_position.controller
at time(currenttime-5) $Box001.pos.y
|
[Z位置]の式
dependsOn $Box001.pos.controller.z_position.controller
at time(currenttime-5) $Box001.pos.z
|
Box001にアニメーションを設定した状態でテストしてみましょう。
参考サイト:
リレーションを組んでいこう(基礎編3)(AREA Japan)
拡大縮小を真似する式
▼
方法
-->