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

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

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

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

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

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

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

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

  3. 以下の手順を実行して、エクスプレッションをコネクトする先のブレンド ノードを見つけます。
  4. ウィンドウ > アニメーション エディタ > エクスプレッション エディタ(Windows > Animation Editors > Expression Editor)を選択し、エクスプレッション エディタを開きます。
  5. アトリビュート(Attributes)領域の inputB を選択し、エクスプレッション(Expression)領域にあるブレンド ノードの inputB を制御するためのエクスプレッションを入力します。

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

    pSphere1_translateY_AnimLayer1.inputB = sin(time);
    

    アニメーションのエクスプレッションを作成するも参照してください。

  6. 作成(Create)をクリックします。

    入力 B(inputB)アトリビュート用に記述したエクスプレッションにより、AnimLayer1 で球体の移動 Y アニメーションが制御されるようになります。このサンプル エクスプレッションにより、時間とともに変化する正弦波に従って、球体が上下に移動するようになります。

関連項目

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

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