式コントローラ

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

インタフェース 手順

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

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

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

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

X 回転

Y 回転

Z 回転

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

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

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

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

手順

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

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

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

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

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

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

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

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

例: 球を正確な円軌道に従って移動させる式を作成するには:

  1. 半径 15.0 の球を作成します。

    トラック ビューで式コントローラを作成します。

  2. アクティブなビューポートで、球を右クリックし、カーブ エディタをクリックします。
  3. 階層リストを下にスクロールして[オブジェクト](Objects)ブランチを展開し、必要に応じて[Sphere01]を展開して球の[位置](Position)トラックを表示します。[位置](Position)ラベルをクリックして、ハイライト表示します。
  4. 階層リストで[位置](Position)を右クリックし、[コントローラを割り当て](Assign Controller)をクリックします。

    3ds Max は、[コントローラを割り当て](Assign Controller)ダイアログ ボックスを開きます。

  5. コントローラの種類のリストで[位置式](Position Expression)を選択し、[OK]をクリックします。

    3ds Max の[式コントローラ](Expression Controller)ダイアログ ボックスが開きます。

  6. [式](Expression)編集ボックスに次の位置式を入力し、既定値として表示されている式を上書きします。

    [100*cos(360*NT), 100*sin(360*NT), 0]

    球の円軌道が指定されました。NT は平均化した時間を示す変数です。 NT を使用した式で導出される移動は、アニメーションのフレーム数にかかわらず、アクティブな時間セグメントを通じて 1 回だけ実行されます。

  7. [評価](Evaluate)ボタンをクリックします。
  8. アニメーションを 再生します。球オブジェクトがワールド原点(0, 0, 0)を中心とした円軌道を描きながら移動します。中心から軌道までの半径は 100 単位です。

例(続き): 円の半径を変更するには:

    上記の位置式では、2 つの「100」によって半径を指定しています。円軌道の半径を調整するには、この値の代わりに変数で半径を表現します。変数に任意の定数を代入すると、必要に応じて容易に半径を変更できます。

  1. 必要に応じてトラック ビューと[式コントローラ](Expression Controller)ダイアログ ボックスを再度開きます。
  2. [式コントローラ](Expression Controller)ダイアログ ボックスの[名前](Name)フィールドに radius と入力します。[スカラー](Scalar)が選択されていることを確認し、[作成](Create)ボタンをクリックします。

    ダイアログ ボックスの[スカラー](Scalars)リストに変数名「radius」が表示されます。

  3. [定数に割り当て](Assign To Constant)ボタンをクリックします。

    3ds Max の「radius」という名前のダイアログ ボックスが開きます。

  4. [値](Value)フィールドに 150 と入力し、[OK]をクリックします。

    変数 radius の値が 150 に設定されます。

    これで、この新しい変数を式に使用できるようになりました。

例(続き): リテラル値を変数名で置換するには:

  1. [式](Expression)編集ボックスで、2 箇所の 100 を radius に変更します。変更後の式は次のようになります。

    [radius*cos(360*NT), radius*sin(360*NT),0]

  2. [評価](Evaluate)ボタンをクリックします。
  3. アニメーションを 再生します。球オブジェクトがワールド原点(0, 0, 0)を中心とした円軌道を描きながら移動します。中心から軌道までの半径は 150 単位です。

例(続き): 球をボックスを中心として回転させるには:

  1. 1 辺 40 単位ほどのボックス オブジェクトを作成し、そのオブジェクトの位置を 3 ~ 4 個のキーフレームにわたってアニメートします。
  2. 球を 選択します。
  3. [式コントローラ](Expression Controller)ダイアログ ボックスの[名前](Name)フィールドに boxposn と入力します。[ベクトル](Vector)を選択し、[作成](Create)ボタンをクリックします。

    ダイアログ ボックス左下の[ベクトル](Vectors)リストに「boxposn」と表示されます。

    変数名の大文字と小文字は区別されます。上記の変数名は、すべて小文字で入力します。

  4. [コントローラに割り当て](Assign to Controller)ボタンをクリックします。

    [トラック ビュー選択](Track View Pick)ダイアログ ボックスが表示されます。このダイアログ ボックスには、[トラック ビュー - ドープ シート](Track View-Dope Sheet)の左側と同様のオブジェクト階層が表示されます。

  5. 階層リストで[Box01]の位置コントローラを選択し、[OK]をクリックします。
  6. [式](Expression)編集ボックスの式に、位置のオフセットとして boxposn を追加します。

    [radius * cos(360*NT), radius * sin(360*NT), 0] + boxposn

  7. [評価](Evaluate)をクリックして、[閉じる](Close)をクリックします。

    アニメーションをもう一度 再生します。球がボックス オブジェクトを中心として回転します。ボックスを移動すると、球も同様に移動します。

インタフェース

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

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

名前
変数名を入力します。
スカラー/ベクトル
作成する変数の種類を選択します。
作成
変数を作成して、適切なリストに追加します。

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

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

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

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

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

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

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

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

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

保存
式を保存します。式は拡張子.xpr のファイルとして保存されます。
ロード
式をロードします。

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

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

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

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

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

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

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