リアクション コントローラは、3ds Max の他のパラメータの変化に合わせてパラメータを変更する手続き型のコントローラです。通常、リアクション コントローラに関わる設定のほとんどは、[リアクション マネージャ](Reaction Manager)ダイアログ ボックスで行います。 このダイアログ ボックスでは、他のオブジェクトをコントロールするオブジェクト、「マスター」を定義します。また各マスターについて、このマスターがコントロールするオブジェクトである任意の数の「スレーブ」を定義します。 また、(他のコントローラと同様に)トラック ビューや[モーション](Motion)パネルを使用して、リアクション コントローラを直接スレーブ オブジェクトに割り当て、[リアクション マネージャ](Reaction Manager)でスレーブのマスターと他のパラメータを指定することもできます。
リアクション コントローラには、位置リアクション、回転リアクション、Point3 リアクション、スケール リアクション、浮動リアクションの 5 つの種類があります。リアクション コントローラは、シーン内のアニメート可能などのトラックにも割り当てることができます。リアクションは時間ではなく、位置や回転などシーン内の他の変数を基準とします。
たとえば、リアクション コントローラを使用すると、オブジェクトが特定ポイントに近づいたときにライトを点灯することができます。 また、腕の骨格の回転とともに筋肉を膨らませたり、Z 軸上の位置がグラウンド面に接近するにつれてボールを自動的に押し潰したり、 かかとが床から離れるにつれて足を回転させたりすることができます。
一定のイベントでパーティクル システムをトリガさせたり、モーフ ターゲットのパーセンテージをイベントで制御したりできます。
例: 球オブジェクトをボックス オブジェクトの位置に反応させるには:
この手順では、リアクション コントローラを使用する別の方法を示します。ほとんどの設定では、[リアクション マネージャ](Reaction Manager)ダイアログ ボックスを使用することをお勧めします。「例: [リアクション マネージャ](Reaction Manager)ダイアログ ボックスを使用するには」を参照してください。
[リアクション マネージャ](Reaction Manager)ダイアログ ボックスが開きます。[リアクション](Reactions)リストから、球の位置がスレーブとして割り当てられていてマスター エントリは存在するが、モーションは割り当てられていないことが分かります。 リアクション コントローラはマスターのモーションから、任意の数のスレーブを制御します。
ピック モードに変わり、シーン内のオブジェクトからマスターとして動作するモーション トラックを選択できます。
ポップアップ メニューが開きます。
「割り当てなし」テキストが、「Box001 / X 位置」のラベルの付いたマスター トラックに変わります。
また、[リアクション](Reactions)リストの下の[状態](States)リストに新しい状態(State001)が表示されます。
これはリアクション コントローラで使用される制御メカニズムの基本を示した例です。マスター/スレーブの組み合わせごとに、任意の数の状態を指定できます。状態はマスター トラックとスレーブ トラックの値で定義します。マスターを追加したときに自動的に作成される最初の状態は、ボックス オブジェクトが X 軸の -100 の位置にあるとき、球オブジェクトは(-100,0,50)に位置することを指定します。この場合では、3 つのパラメータ(球オブジェクトの 3 つの軸上の位置)と、1 つのパラメータ(ボックス オブジェクトの X 軸上の位置)を制御しています。一般的には、1:1 の比率のマスター/スレーブ パラメータを使用します。
次に、ボックス オブジェクトが 1 つの軸を移動するときに、複数の軸上を移動する方法を球オブジェクトに伝える 2 番目の状態を作成します。
ボックス オブジェクトは、アニメートされた軌道の中点に移動します。球オブジェクトの位置はそのままです。
ボックス オブジェクトと球オブジェクトの現在の位置を使用して、新しい状態(State002)が作成されます。
球オブジェクトはそのマスター オブジェクトであるボックス オブジェクトに完全に制御されているため、移動することができません。同様に、ステータス バーの[座標表示](Coordinate Display)領域を使用して球オブジェクトの位置を変更することもできません。ただし、球オブジェクトの位置は、[リアクション マネージャ](Reaction Manager)の編集ツールを使用すると変更できます。
[State002]の[Sphere001 / 位置](Sphere001 / Position)行で、位置が更新されます。 また、[リアクション マネージャ](Reaction Manager)のグラフに、マスター ボックスの X 位置の変化に伴う、スレーブ(球オブジェクト)の X 位置および Z 位置の値の変化が示されます。トラック ビューと同様に X は赤、Y は緑、Z は青でグラフが表示されます。
ボックス オブジェクトがフレーム 0 と 50 の間を移動すると、球オブジェクトは 2 番目の状態で指定される位置に上昇します。
3 番目と最後の状態では、マスターのモーションの後半でスレーブを別の方向に移動させます。
最初の 50 フレームの間、球オブジェクトは最初の 2 つの状態の間を移動しますが、アニメーションの後半では、球オブジェクトは 2 番目と 3 番目の状態の間を移動します。
手順をまとめるために、アニメーションとは別に、球オブジェクトがボックス オブジェクトの X 位置に対してのみ反応していることを示します。
アニメーション クアッド メニューが表示されます。
このコマンドは、現在の選択内容のアニメーション キーをすべて削除します。
Y 位置または Z 位置が変化しても、球オブジェクトに影響しません。ただし、X 軸上の -100 から 100 の間でボックス オブジェクトを移動すると、Y 位置または Z 位置に関わりなく、球オブジェクトの位置はリアクション コントローラの指定に従って移動します。
この手順から、リアクション コントローラの機能を知る手がかりが得られます。「例: [リアクション マネージャ](Reaction Manager)ダイアログ ボックスを使用するには」では、[リアクション マネージャ](Reaction Manager)の別の側面を示す手順について説明しています。
リアクション コントローラを割り当てた後、トラックを右クリックし[プロパティ](Properties)を選択するか、[アニメーション](Animation) [リアクション マネージャ](Reaction Manager)を選択して、[リアクション マネージャ](Reaction Manager)ダイアログ ボックスを開きます。