スクリプト コントローラ機能は、式コントローラと同じように動作し、コントローラ値の計算に使用するスクリプトは[プロパティ](properties)ダイアログ ボックスで入力します。スクリプト コントローラには、主に次のような利点があります。
シーン内のすべてのオブジェクトのあらゆるプロパティを使用して、メッシュ頂点、任意フレーム タイムのプロパティ値、式コントローラではアクセスできないその他のアニメート不可プロパティのようなものを始めとするコントローラ値の計算を補助します。
スクリプト コントローラにより、MAXScript グローバル変数を使用して、3ds Max 内の他のコントローラおよびスクリプトとの通信および調整を行うことができます
パラメータへのスクリプト コントローラの割り当てには、マウスの右ボタン メニューまたはトラック ビュー ツールバーの[プロパティ](Properties)ボタンから、[プロパティ](Properties)ダイアログ ボックスを使用することができます。
スクリプト コントローラのダイアログ ボックスは、式コントローラのダイアログ ボックスのように表示されます。式コントローラとスクリプト コントローラの両方が同一コード ベースを使用して非常に類似した機能を提供するようになりました。主な違いは、式の作成に使用する言語が異なることです。
新しいスクリプト コントローラのダイアログ ボックスでは、次のコントロールを使用できます。
[作成](Create)ボタン - 変数の作成に使用します。[名前](Name)フィールドに変数名を入力してこのボタンをクリックし、[変数](variables)リストに追加します。
[削除](Delete)ボタン - 変数の削除に使用します。[変数](Variables)リストから既存変数を選択して[名前](Name)フィールドに変数名を表示するか、変数名を[名前](Name)フィールドに手動で入力し、[削除](Delete)ボタンをクリックします。
[名前変更](Rename)ボタン - 既存変数の名前の変更に使用します。[変数](Variables)リストから既存変数を選択し、[名前](Name)フィールドにその変数名を表示してください。新しい変数名を[名前](Name)フィールドに入力し、この[名前変更](Rename)ボタンをクリックします。
[変数パラメータ](Variable Parameters)領域:
[ティック オフセット](Tick Offset)値スピナー - 現在の変数の時間オフセットをティック単位で指定するために使用します。[変数](variable)リストから変数を選択し、[ティック オフセット](Tick Offset)の値を変更します。トラック、コントローラ、ノードが変数に割り当てられている場合 (つまり定数ではない場合)、スクリプト式が評価されるとき、現在の時間に[ティック オフセット](Tick Offset)が加算されて変数の値が取られます。
[変数](Variables)リスト - コントローラの使用可能なすべての変数のリストが表示されます。上で説明した方法で、任意の数のユーザ変数を作成できます。次の事前定義定変数は、すべての式コントローラで使用でき、変更や名前変更はできません。
[定数を割り当て](Assign Constant) - 選択した変数に定数値を割り当てます。定数値は、整数、浮動小数点、配列、ノードなど、任意の MAXScript 値にすることができます。[値式](Value expression)フィールドには、任意の有効な MAXScript 式を入力できます。次に[評価](Evaluate)ボタンをクリックし、現在の時間で式を評価します。[値式結果](value expression result)を変数に割り当てるには[OK]、値を割り当てない場合は[キャンセル](Cancel)をクリックします。次の図の定数値は、整数 1、グローバル定数値 Pi、シーン ノード Sphere01 の位置を含む配列になっています。式を評価した結果には定数値のみが含まれています。整数 1 は変化しません。第 2 配列要素は浮動小数点値の Pi、第 3 配列要素は現在のフレーム (評価時) の Sphere01 の位置です。
[トラック割り当て](Assign Track) - 選択した変数に subAnim トラックを割り当てます。この変数タイプに関連する MAXScript メソッドについては、「ターゲット (トラック) 変数」を参照してください。
[コントローラを割り当て](Assign Controller) - 選択した変数にコントローラを割り当てます。コントローラを割り当て - 選択した変数にコントローラを割り当てることができます。この変数タイプに関連する MAXScript メソッドについては、「オブジェクト (コントローラ) 変数」を参照してください。
[ノード割り当て](Assign Node) - ノード参照を選択した変数に割り当てます。「式コントローラとスクリプト コントローラにおけるノードの簡潔なリファレンス」も参照してください
[式](Expression)テキスト フィールド - コントローラ値を計算するためのスクリプト式を入力します。コントローラ スクリプトの詳細については、以下を参照してください
[説明](Description)テキスト フィールド - コントローラの機能に関するコメントを入力します。
[ロード/保存](Load/Save)ボタン - スクリプトをテキスァイルにロードおよび保存します。
[評価](Evaluate)ボタン - スクリプトの式を評価します。コード内において時間コンテキストを使用して別の方法で明示的に指定しない場合、または[ティック オフセット](Tick Offset)を 0 以外にしてコントローラ変数を使用している場合は、現在の時間が使用されます。
[閉じる](Close)ボタン - コントローラのスクリプトをコンパイルし、エラーをチェックします。エラーが見つからない場合は、ダイアログを閉じます。エラーが検出された場合は、問題について説明する MAXScript エラー メッセージが最初に表示されます。エラー メッセージを閉じると、現行トラックの元の値に式を戻してダイアログ ボックスを閉じるか ([OK])、戻って式を編集するか ([キャンセル](Cancel)) を尋ねるプロンプトが表示されます。