3ds Max 8 より前のバージョンでは、 dependsOn をスクリプト コントローラと併用し、スクリプト コントローラに含まれるコードがシーン内の他のオブジェクトに依存する場合に、スクリプト コントローラのインタラクティブ更新を可能にしていました。
コントローラが依存するオブジェクトのリストを使用して、コントローラ スクリプトの任意の場所(通常、先頭)に dependsOn の呼び出しを設定します。これらのオブジェクトをインタラクティブに変更することにより、スクリプト コントローラを含むオブジェクトも更新されます。
この場合、 $foo は常に $foo1 と $foo2 の中心に保持されます。 dependsOn() 関数には、MAX オブジェクト、コントローラ、基本オブジェクト、ノード、マテリアルなどのオブジェクトを渡すことができます。これらはワイルドカード パス名やオブジェクトの配列ではなく、個々の明示的オブジェクトでなければなりません。従属先の実際のコントローラまたは格納元のオブジェクトを指定します。上記のスクリプトの厳密な従属は、次のようになります。
$foo2 $foo3 を簡易に記述することにより、基本オブジェクト、モディファイヤ、マテリアルなど、オブジェクトに含まれるノードやコンポーネントを任意に変更したり、スクリプト制御のオブジェクトを更新することができます。従属は、スクリプトの変更または再コンパイルの後に、コントローラが初めて評価されるときに設定されます。コントローラのプロパティ ボックスでの編集中またはシーンのロード後に設定されます。
次のように、コントロール スクリプトをそのスクリプト自体に設定することで、従属の再コンパイルおよびリセットをプログラムにより強制的に実行することができます。