リアクション コントローラ

リアクション コントローラは、3ds Max の他のパラメータの変化に合わせてパラメータを変更する手続き型のコントローラです。通常、リアクション コントローラに関わる設定のほとんどは、[リアクション マネージャ](Reaction Manager)ダイアログ ボックスで行います。 このダイアログ ボックスでは、他のオブジェクトをコントロールするオブジェクト、「マスター」を定義します。また各マスターについて、このマスターがコントロールするオブジェクトである任意の数の「スレーブ」を定義します。 また、(他のコントローラと同様に)トラック ビューや[モーション](Motion)パネルを使用して、リアクション コントローラを直接スレーブ オブジェクトに割り当て、[リアクション マネージャ](Reaction Manager)でスレーブのマスターと他のパラメータを指定することもできます。

  • [コントローラを割り当て](Assign Controller) > リアクションタイプのコントローラ([位置リアクション](Position Reaction)など)を選択

リアクション コントローラには、位置リアクション、回転リアクション、Point3 リアクション、スケール リアクション、浮動リアクションの 5 つの種類があります。リアクション コントローラは、シーン内のアニメート可能などのトラックにも割り当てることができます。リアクションは時間ではなく、位置や回転などシーン内の他の変数を基準とします。

たとえば、リアクション コントローラを使用すると、オブジェクトが特定ポイントに近づいたときにライトを点灯することができます。 また、腕の骨格の回転とともに筋肉を膨らませたり、Z 軸上の位置がグラウンド面に接近するにつれてボールを自動的に押し潰したり、 かかとが床から離れるにつれて足を回転させたりすることができます。

一定のイベントでパーティクル システムをトリガさせたり、モーフ ターゲットのパーセンテージをイベントで制御したりできます。

手順

例: 球オブジェクトをボックス オブジェクトの位置に反応させるには:

    この手順では、リアクション コントローラを使用する別の方法を示します。ほとんどの設定では、[リアクション マネージャ](Reaction Manager)ダイアログ ボックスを使用することをお勧めします。「例: [リアクション マネージャ](Reaction Manager)ダイアログ ボックスを使用するには」を参照してください。

    注: リアクション コントローラを使用する場合、オブジェクトをアニメートする必要はありません。この手順ではまずリアクションを簡単に確認できるように、アニメーションを実行します。
  1. トップ ビューポートの左側に一辺が約 30 単位であるボックス オブジェクトを作成します。
  2. ボックス オブジェクトをフレーム 0 の(–100,0,0)の位置から、フレーム 100 の(100,0,0)の位置にアニメートします。
  3. フロント ビューポートで、ボックスのやや上の位置に球オブジェクトを作成します。球オブジェクトを(–100,0,50)に配置します。
  4. [モーション](Motion)パネルに移動し、[コントローラを割り当て](Assign Controller)ロールアウトで位置トラックをクリックしてハイライト表示します。
  5. [コントローラを割り当て](Assign Controller)ロールアウトで、 ([コントローラを割り当て](Assign Controller))をクリックします。
  6. [位置コントローラを割り当て](Assign Position Controller)ダイアログ ボックスで、[位置リアクション](Position Reaction)をクリックしてハイライトし、[OK]ボタンをクリックします。

    [リアクション マネージャ](Reaction Manager)ダイアログ ボックスが開きます。[リアクション](Reactions)リストから、球の位置がスレーブとして割り当てられていてマスター エントリは存在するが、モーションは割り当てられていないことが分かります。 リアクション コントローラはマスターのモーションから、任意の数のスレーブを制御します。

  7. [リアクション](Reactions)リストの先頭の「割り当てなし」エントリを右クリックします。 メニューから、[マスタを置き換え](Replace Master)を選択します。

    ピック モードに変わり、シーン内のオブジェクトからマスターとして動作するモーション トラックを選択できます。

  8. ビューポートでボックス(Box001)をクリックします。

    ポップアップ メニューが開きます。

  9. ポップアップ メニューで[変換](Transform) [位置](Position) [X 位置](X Position)を選択します。

    「割り当てなし」テキストが、「Box001 / X 位置」のラベルの付いたマスター トラックに変わります。

    また、[リアクション](Reactions)リストの下の[状態](States)リストに新しい状態(State001)が表示されます。

    これはリアクション コントローラで使用される制御メカニズムの基本を示した例です。マスター/スレーブの組み合わせごとに、任意の数の状態を指定できます。状態はマスター トラックとスレーブ トラックの値で定義します。マスターを追加したときに自動的に作成される最初の状態は、ボックス オブジェクトが X 軸の -100 の位置にあるとき、球オブジェクトは(-100,0,50)に位置することを指定します。この場合では、3 つのパラメータ(球オブジェクトの 3 つの軸上の位置)と、1 つのパラメータ(ボックス オブジェクトの X 軸上の位置)を制御しています。一般的には、1:1 の比率のマスター/スレーブ パラメータを使用します。

    注: [リアクション マネージャ](Reaction Manager)では、新しいスレーブをマスターに割り当てた場合の自動的な状態も定義します。

    次に、ボックス オブジェクトが 1 つの軸を移動するときに、複数の軸上を移動する方法を球オブジェクトに伝える 2 番目の状態を作成します。

  10. タイム スライダをフレーム 50 までドラッグします。

    ボックス オブジェクトは、アニメートされた軌道の中点に移動します。球オブジェクトの位置はそのままです。

  11. [リアクション マネージャ](Reaction Manager)ダイアログ ボックスで ([状態を作成](Create State))をクリックします。

    ボックス オブジェクトと球オブジェクトの現在の位置を使用して、新しい状態(State002)が作成されます。

  12. フロント ビューポートで球オブジェクトを移動してみてください。

    球オブジェクトはそのマスター オブジェクトであるボックス オブジェクトに完全に制御されているため、移動することができません。同様に、ステータス バーの[座標表示](Coordinate Display)領域を使用して球オブジェクトの位置を変更することもできません。ただし、球オブジェクトの位置は、[リアクション マネージャ](Reaction Manager)の編集ツールを使用すると変更できます。

  13. [リアクション マネージャ](Reaction Manager)ダイアログ ボックスで、[State002]の[Sphere001 / 位置](Sphere001 / Position)エントリをクリックしてハイライトし、必要に応じて[モードを編集](Edit Mode)ボタンをクリックします。
  14. 球オブジェクトを(0,0,100)に配置します。

    [State002]の[Sphere001 / 位置](Sphere001 / Position)行で、位置が更新されます。 また、[リアクション マネージャ](Reaction Manager)のグラフに、マスター ボックスの X 位置の変化に伴う、スレーブ(球オブジェクト)の X 位置および Z 位置の値の変化が示されます。トラック ビューと同様に X は赤、Y は緑、Z は青でグラフが表示されます。

  15. [モードを編集](Edit Mode)ボタンを再度クリックしてオフにし、タイム スライダを動かします。

    ボックス オブジェクトがフレーム 0 と 50 の間を移動すると、球オブジェクトは 2 番目の状態で指定される位置に上昇します。

    3 番目と最後の状態では、マスターのモーションの後半でスレーブを別の方向に移動させます。

  16. フレーム 100 に移動し、新しい状態を作成します。
  17. [状態](States)リストで、新しい状態またはそのスレーブ トラックをクリックしてハイライトします。
  18. [モードを編集](Edit Mode)ボタンをクリックしてオンにします。球オブジェクトを(0,-100,100)に配置し、[モードを編集](Edit Mode)チェック ボックスのチェックマークを消します。
  19. タイム スライダをフレーム 0 から 100 の間で移動します。

    最初の 50 フレームの間、球オブジェクトは最初の 2 つの状態の間を移動しますが、アニメーションの後半では、球オブジェクトは 2 番目と 3 番目の状態の間を移動します。

    手順をまとめるために、アニメーションとは別に、球オブジェクトがボックス オブジェクトの X 位置に対してのみ反応していることを示します。

  20. フレーム 0 に移動します。ボックス オブジェクトを 選択し、Alt キーを押したままボックスを右クリックします。

    アニメーション クアッド メニューが表示されます。

  21. [セット(右下)](Set (lower-right))から、[選択したアニメーションを削除](Delete Selected Animation)を選択します。

    このコマンドは、現在の選択内容のアニメーション キーをすべて削除します。

  22. 次に、3 方向にボックス オブジェクトを 移動します。

    Y 位置または Z 位置が変化しても、球オブジェクトに影響しません。ただし、X 軸上の -100 から 100 の間でボックス オブジェクトを移動すると、Y 位置または Z 位置に関わりなく、球オブジェクトの位置はリアクション コントローラの指定に従って移動します。

    この手順から、リアクション コントローラの機能を知る手がかりが得られます。「例: [リアクション マネージャ](Reaction Manager)ダイアログ ボックスを使用するには」では、[リアクション マネージャ](Reaction Manager)の別の側面を示す手順について説明しています。

インタフェース

リアクション コントローラを割り当てた後、トラックを右クリックし[プロパティ](Properties)を選択するか、[アニメーション](Animation) [リアクション マネージャ](Reaction Manager)を選択して、[リアクション マネージャ](Reaction Manager)ダイアログ ボックスを開きます。