式コントローラ

式コントローラでは、オブジェクトのパラメータ(長さ、幅、高さなど)や、変換とモディファイヤの値(オブジェクトの位置座標など)など、アニメーションのさまざまな要素を数式を使ってコントロールすることができます。

インタフェース手順

シーン内の他のオブジェクトのコントローラ値を基にした値の制約ができます。

式は、単一の値を戻す数値関数です。3ds Max では、アニメーションのフレームごとに式を評価れます。戻される値は、フレーム毎に異なる可能性があります。

式を割り当てることができるシーン要素を、次に示します。

シーン要素 コントローラ
作成パラメータ すべての数値作成パラメータ
変換 位置[X, Y, Z]

X 回転

Y 回転

Z 回転

スケール[X%, Y%, Z%]

モディファイヤ すべての数値モディファイヤ パラメータ(作成パラメータを含む)
マテリアル 色[R, G, B]

すべての数値マテリアル パラメータ

注: 式コントローラは、オイラー回転の XYZ 個別コンポーネントでのみ使用できます。TCB 回転やその他の回転コントローラに式を割り当てることはできません。

式コントローラを使用してアニメーションを作成する方法については、「例: 式コントローラを使用してオブジェクトをアニメートするには」を参照してください。

注: [データ チャネル モディファイヤ](Data Channel Modifier)プロセス スタックで[式 実数](Expression Float)または[式 Point3](Expression Point3) 式エンジンを追加すると、[式コントローラ](Expression Controller)が自動的に開きます。

手順

変数に定数を割り当てるには:

  1. [スカラー](Scalars)リストまたは[ベクトル](Vectors)リストで任意の変数名を選択します。
  2. [定数を割り当て](Assign Constant)をクリックします。

    3ds Max は新しいダイアログ ボックスを開きます。

  3. ダイアログ ボックスで、定数の新しい値(ベクトルの場合は、複数の値)を入力し、[OK]をクリックします。

コントローラを変数に割り当てるには:

  1. [スカラー](Scalars)リストまたは[ベクトル](Vectors)リストで任意の変数名を選択します。
  2. ベクトル変数がハイライト表示されている場合は、[コントローラを割り当て](Assign Controller)または[コントローラ/ノードを割り当て](Assign Controller/Node)をクリックします。(現在の変数タイプが[ベクトル](Vector)の場合、ハイライト表示された変数にシーン ノードを割り当てることができます。ノードのワールド座標変換位置は、現在の時間に変数のティック オフセットを足した位置になります。以下の「ベクトル変数にノードを代入するには」を参照してください)

    3ds Max は、[トラック ビューを選択](Track View Pick)サブダイアログ ボックスを開きます。このダイアログ ボックスには、トラック ビュー階層に類似した内容が表示されます。

  3. 変数が使用するトラックをハイライトし、[OK]ボタンをクリックします。

ベクトル変数にノードを代入するには

  1. [ベクトル](Vectors)リストで任意の変数名を選択します。
  2. [コントローラ/ノードを割り当て](Assign Controller/Node)をクリックします。3ds Max は、[トラック ビューを選択](Track View Pick)サブダイアログ ボックスを開きます。このダイアログ ボックスには、トラック ビュー階層に類似した内容が表示されます。
  3. 変数が使用するノードをハイライトし、[OK]ボタンをクリックします。

インタフェース

[式コントローラ](Expression Controller)ダイアログ ボックス: [ベクトルに設定された変数を作成](Create Variable set to Vector)

ヒント: ダイアログ ボックスのサイズを変更するには、ダイアログ ボックスの端またはコーナーにカーソルを置いてドラッグします。

[変数を作成](Create Variables)領域

名前(Name)
変数名を入力します。
スカラー(Scalar)、ベクトル(Vector)
作成する変数の種類を選択します。[ベクトル](Vector)を選択すると、[コントローラを割り当て](Assign Controller)ボタンが[コントローラ/ノードを割り当て](Assign Controller/Node)に変わります。(上記のインタフェース イメージを参照)
作成(Create)
変数を作成して、適切なリストに追加します。

[作成](Create)をクリックする前に、変数の名前と種類を指定する必要があります。

削除(Delete)
[スカラー](Scalars)リストまたは[ベクトル](Vectors)リストでハイライト表示した変数を削除します。
名前変更(Rename)
[スカラー](Scalars)リストまたは[ベクトル](Vectors)リストでハイライト表示した変数の名前を変更します。

最初にリストで変数をハイライト表示すると、[名前](Name)フィールドに変数名が表示されます。[名前](Name)フィールドで名前を編集し、[名前変更](Rename)をクリックすると、リストに表示されていた変数名が新しい名前に変更されます。

[可変パラメータ](Variable Parameters)領域

ティック オフセット(Tick Offset)
オフセット値を入力します。1 ティックは 1/4800 秒に相当します。0 (ゼロ)以外の値を設定すると、その値が現在時間に追加されます。
[スカラー](Scalars)リスト
作成したスカラ変数を一覧表示します。次の事前定義定変数は、すべての式コントローラで使用でき、変更や名前変更はできません。
  • F: フレーム単位の現在時間。
  • NT: 正規時間。
  • S: 秒単位の現在の時間
  • T: ティック単位の現在の時間
[ベクトル](Vectors)リスト
作成したベクトル変数を一覧表示します。
定数を割り当て(Assign Constant)
ダイアログ ボックスが開き、ハイライトした変数に定数を設定できます。

スカラ変数への定数の割り当て

ベクトル変数への定数の割り当て

[コントローラを割り当て](Assign Controller)/[コントローラ/ノードを割り当て](Assign Controller/Node)
[トラック ビュー選択](Track View Pick)ダイアログ ボックスが開き、ハイライトされた変数にコントローラを設定できます。コントローラの値は、現在時間に変数のティック オフセットを加算した値です。
注: 現在の変数タイプが[ベクトル](Vector)の場合、[コントローラを割り当て](Assign Controller)ボタン名が[コントローラ/ノードを割り当て](Assign Controller/Node)に変わり、ハイライト表示された変数にシーン ノードを割り当てることができます。ノードのワールド座標変換位置は、現在の時間に変数のティック オフセットを足した位置になります。
[式](Expression)ウィンドウ
評価する計算式を入力します。有効な演算式を入力する必要があります。ベクトル式の結果は 3 つの成分を含むベクトル値(位置、スケール、または Point3)、実数演算式の結果はスカラー値になります。
[説明](Description)ウィンドウ
式を説明するテキストを入力します(オプション)。たとえば、ユーザ定義変数の説明などを入力できます。
関数リスト
式コントローラ関数のリストを表示します。

リスト中の p、q、r はそれぞれスカラー値またはスカラー式を示し、V と W はベクトル値またはベクトル式を示します。

保存(Save)
式を保存します。式は、ファイル名拡張子 .xpr が付いたファイルとして保存されます。
ロード(Load)
式をロードします。

式を保存しても、変数の定義や値は含まれません。したがって、これらの定義や値は式のロード後に再定義する必要があります。

デバッグ(Debug)
[式デバッグ](Expression Debug)ウィンドウを表示します。

このウィンドウには、すべての変数の値のほか、式の評価値が表示されます。ウィンドウの表示内容は、変数値の変更やタイム スライダの移動に伴い自動的に更新されます。したがって、式の効果をインタラクティブに確認することができます。このウィンドウには、フレーム(F)、平均化値(NT)、秒単位の経過時間(S)、およびティック単位の経過時間(T)も表示されます。

評価(Evaluate)
アニメーションの各フレームで式を評価します。

通常のプログラム言語と異なり、代入演算子(=、:=)は使用しません。結果の代入は時間の経過とともに、内部的に実行されます。

式に構文エラーが検出されると、エラー メッセージが表示されます。エラー メッセージには、式の先頭からエラーが発生した文字までの部分が表示されます。したがって、通常はエラー メッセージの末尾がエラー発生位置になります。ただし、括弧(ベクトル式ではカギ括弧)の非対応によってエラーが発生した場合は例外です。その場合は、式がエラー発生位置より先まで評価される可能性があります。

閉じる(Close)
[式コントローラ](Expression Controller)ダイアログ ボックスを閉じます。