高度なワークフロー: アニメーション レイヤでのコンストレインとエクスプレッションの使用
 
 
 

アニメーション レイヤをコンストレインやエクスプレッションと共に使用して、シーンのオブジェクトを操作することができます。コンストレインをアニメーション レイヤに追加する方法については、 コンストレインをアニメーション レイヤに追加するを参照してください。

アニメーション レイヤにエクスプレッションを追加するワークフローはより複雑で、ある程度の既知の制約があることに注意してください。(詳細については、「 コンストレインとエクスプレッションを持つアニメーション レイヤに対する既知の制限」を参照してください)。

レイヤ アニメーションがあるオブジェクトを制御するためにエクスプレッションを設定するには、操作するアトリビュートに対応するブレンド ノードをレイヤから探す必要があります。その後、このブレンド ノードの入力 B(inputB)アトリビュートを操作するために、コンストレインまたはエクスプレッションを設定します。

次の例は、レイヤ化されたアニメーションを持つオブジェクトの移動 Y アトリビュートにエクスプレッションを追加する方法を表しています。

レイヤ化されたアニメーションを制御するエクスプレッションを作成するには

  1. 新規シーンを作成し、エクスプレッションを使ってアニメートしたいオブジェクトを追加します。この例では、球体のアニメートについて説明します。
  2. アニメーション レイヤ エディタ(Animation Layer Editor)で、 をクリックし、空のレイヤを作成します。(新規レイヤには、デフォルトで AnimLayer1 という名前がつけられます)。

    次の手順では、球体の移動 Y アトリビュートを操作するために、AnimLayer1 にエクスプレッションを追加する方法について説明します。

  3. 以下の手順を実行して、エクスプレッションをコネクトする先のブレンド ノードを見つけます。
  4. エクスプレッション エディタ(ウィンドウ > アニメーション エディタ > エクスプレッション エディタ(Window > Animation Editors > Expression Editor))を開き、アトリビュート(Attributes)領域から入力 B(inputB)を選択します。
  5. エクスプレッション エディタ(Expression Editor)で、ブレンド ノードの入力 B(inputB)を制御するエクスプレッションを記述します(詳細については、「 アニメーションのエクスプレッションを作成する」を参照してください)。

    入力 B(inputB)アトリビュート用に記述したエクスプレッションにより、AnimLayer1 で球体の移動 Y アニメーションが制御されるようになります。

    たとえば、球体の移動 Y 値を制御する正弦関数を追加するには、次のように入力します。

    pSphere1.translateY = sin(time);

    このエクスプレッションにより、時間とともに変化する正弦波に従って、球体が上下に異動するようになります。

関連項目

コンストレインとエクスプレッションを持つアニメーション レイヤに対する既知の制限

コンストレインまたはエクスプレッションを持つアニメーション レイヤを使用する場合は、以下の既知の制限事項と回避方法に注意してください。