式コントローラでは、オブジェクトのパラメータ(長さ、幅、高さなど)や、変換とモディファイヤの値(オブジェクトの位置座標など)など、アニメーションのさまざまな要素を数式を使ってコントロールすることができます。
インタフェース
手順
シーン内の他のオブジェクトのコントローラ値を基にした値の制約ができます。
式は、単一の値を戻す数値関数です。3ds Max では、アニメーションのフレームごとに式を評価れます。戻される値は、フレーム毎に異なる可能性があります。
式を割り当てることができるシーン要素を、次に示します。
シーン要素 |
コントローラ |
作成パラメータ |
すべての数値作成パラメータ |
変換 |
位置[X, Y, Z] X 回転
Y 回転
Z 回転
スケール[X%, Y%, Z%]
|
モディファイヤ |
すべての数値モディファイヤ パラメータ(作成パラメータを含む) |
マテリアル |
カラー[R, G, B] すべての数値マテリアル パラメータ
|
注: 式コントローラは、オイラー回転の XYZ 個別コンポーネントでのみ使用できます。 TCB 回転やその他の回転コントローラに式を割り当てることはできません。
手順
変数に定数を割り当てるには:
- [スカラー](Scalars)リストまたは[ベクトル](Vectors)リストで任意の変数名を選択します。
- [定数に割り当て](Assign To Constant)ボタンをクリックします。
3ds Max は新しいダイアログ ボックスを開きます。
- ダイアログ ボックスで、定数の新しい値(ベクトルの場合は、複数の値)を入力し、[OK]をクリックします。
コントローラを変数に割り当てるには:
- [スカラー](Scalars)リストまたは[ベクトル](Vectors)リストで任意の変数名を選択します。
- [コントローラに割り当て](Assign To Controller)ボタンをクリックします。
3ds Max は、[トラック ビューを選択](Track View Pick)サブダイアログ ボックスを開きます。 このダイアログ ボックスには、トラック ビュー階層に類似した内容が表示されます。
- 変数が使用するトラックをハイライトし、[OK]ボタンをクリックします。
例: 球を正確な円軌道に従って移動させる式を作成するには:
- 半径 15.0 の球を作成します。
トラック ビューで式コントローラを作成します。
- アクティブなビューポートで、球を右クリックし、カーブ エディタをクリックします。
- 階層リストを下にスクロールして[オブジェクト](Objects)ブランチを展開し、必要に応じて[Sphere01]を展開して球の[位置](Position)トラックを表示します。[位置](Position)ラベルをクリックして、ハイライト表示します。
- 階層リストで[位置](Position)を右クリックし、[コントローラを割り当て](Assign Controller)をクリックします。
3ds Max は、[コントローラを割り当て](Assign Controller)ダイアログ ボックスを開きます。
- コントローラの種類のリストで[位置式](Position Expression)を選択し、[OK]をクリックします。
3ds Max の[式コントローラ](Expression Controller)ダイアログ ボックスが開きます。
- [式](Expression)編集ボックスに次の位置式を入力し、既定値として表示されている式を上書きします。
[100*cos(360*NT), 100*sin(360*NT), 0]
球の円軌道が指定されました。NT は平均化した時間を示す変数です。 NT を使用した式で導出される移動は、アニメーションのフレーム数にかかわらず、アクティブな時間セグメントを通じて 1 回だけ実行されます。
- [評価](Evaluate)ボタンをクリックします。
- アニメーションを 再生します。球オブジェクトがワールド原点(0, 0, 0)を中心とした円軌道を描きながら移動します。中心から軌道までの半径は 100 単位です。
例(続き): 円の半径を変更するには:
上記の位置式では、2 つの「100」によって半径を指定しています。円軌道の半径を調整するには、この値の代わりに変数で半径を表現します。変数に任意の定数を代入すると、必要に応じて容易に半径を変更できます。
- 必要に応じてトラック ビューと[式コントローラ](Expression Controller)ダイアログ ボックスを再度開きます。
- [式コントローラ](Expression Controller)ダイアログ ボックスの[名前](Name)フィールドに radius と入力します。[スカラー](Scalar)が選択されていることを確認し、[作成](Create)ボタンをクリックします。
ダイアログ ボックスの[スカラー](Scalars)リストに変数名「radius」が表示されます。
- [定数に割り当て](Assign To Constant)ボタンをクリックします。
3ds Max の「radius」という名前のダイアログ ボックスが開きます。
- [値](Value)フィールドに 150 と入力し、[OK]をクリックします。
変数 radius の値が 150 に設定されます。
これで、この新しい変数を式に使用できるようになりました。
例(続き): リテラル値を変数名で置換するには:
- [式](Expression)編集ボックスで、2 箇所の 100 を radius に変更します。変更後の式は次のようになります。
[radius*cos(360*NT), radius*sin(360*NT),0]
- [評価](Evaluate)ボタンをクリックします。
- アニメーションを 再生します。球オブジェクトがワールド原点(0, 0, 0)を中心とした円軌道を描きながら移動します。中心から軌道までの半径は 150 単位です。
例(続き): 球をボックスを中心として回転させるには:
- 1 辺 40 単位ほどのボックス オブジェクトを作成し、そのオブジェクトの位置を 3 ~ 4 個のキーフレームにわたってアニメートします。
- 球を 選択します。
- [式コントローラ](Expression Controller)ダイアログ ボックスの[名前](Name)フィールドに boxposn と入力します。[ベクトル](Vector)を選択し、[作成](Create)ボタンをクリックします。
ダイアログ ボックス左下の[ベクトル](Vectors)リストに「boxposn」と表示されます。
変数名の大文字と小文字は区別されます。上記の変数名は、すべて小文字で入力します。
- [コントローラに割り当て](Assign to Controller)ボタンをクリックします。
[トラック ビュー選択](Track View Pick)ダイアログ ボックスが表示されます。このダイアログ ボックスには、[トラック ビュー - ドープ シート](Track View-Dope Sheet)の左側と同様のオブジェクト階層が表示されます。
- 階層リストで[Box01]の位置コントローラを選択し、[OK]をクリックします。
- [式](Expression)編集ボックスの式に、位置のオフセットとして boxposn を追加します。
[radius * cos(360*NT), radius * sin(360*NT), 0] + boxposn
- [評価](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)ダイアログ ボックスを閉じます。