エクスプレッションと他のアニメーション

 
 
 

ここでは、同じオブジェクトやパラメータに対して、エクスプレッションと他のアニメーション タイプを組み合わせて使用する方法をいくつか説明します。

エクスプレッションとコンストレイントを組み合わせる

エクスプレッションは、同じオブジェクトのコンストレイントより前に評価されます。被コンストレイント パラメータの値をエクスプレッションで使用すると、期待通りの結果が得られない場合があります。

たとえば、オブジェクトの位置に基づく向きをコントロールするエクスプレッションを記述する場合、オブジェクトにパス コンストレイントがあると、各フレームで位置が更新される前に向きが計算されるため、エクスプレッションでは以前の値が使用されることになります。希望の結果を得るためには、ヌルなどの中間オブジェクトをパスに拘束してから、オブジェクトの位置をヌルに拘束します。新しい方向を計算する際にヌルの位置を使用します。

注:コンストレイント、エクスプレッション、スクリプト オペレータで依存関係のループが発生する場合があります。その結果、サイクルを招くエクスプレッションを適用すると警告メッセージが表示されます。詳細については、「アニメーションの依存サイクルの検証」を参照してください。

エクスプレッションと F カーブを組み合わせる

同一のパラメータに対して F カーブとエクスプレッションを同時に設定することはできませんが、この問題を回避する方法はいくつかあります。

  • グローバルにオブジェクトを固定する場合は、グローバル変換パラメータ(たとえば[位置 Y])にエクスプレッションを置きます。オブジェクトに対するローカルな F カーブを使ったアニメーションを引き続き使用できます。

  • アニメーション レイヤを使用すると、エクスプレッションの上に F カーブを置くことができます。詳細については、「レイヤでアニメートする」を参照してください。

  • ミキサのクリップを使用すると、F カーブの「上に」エクスプレッションを置くことができます。たとえば、ローカルの[位置 Y]を固定するエクスプレッションを記述し、そのエクスプレッションをミキサにドロップするアクションに配置します。こうすると、そのアニメーション チャンネルを引き続き F カーブによってアニメートでき、ミキサが値をクリップ内のエクスプレッションと組み合わせます。

    ヒント:エクスプレッションはアクティブにも非アクティブにも設定できるため(「エクスプレッションを有効または無効にする」を参照)、同一のパラメータに別のアニメーションのエクスプレッションを設定することができます。しかし、そのアニメーションを他のアニメーションと同時にアクティブにすることはできません。

エクスプレッションをファンクション カーブに変換する

エクスプレッションをロー データのファンクション カーブのファイル(.fraw2 フォーマット)に変換することができます。Softimage はエクスプレッションの値をプロットし、フレームごとにキーがあるファンクションカーブファイルが保存されます。保存された .fraw2 ファイルは Animation Editor で開くことができます。選択したパラメータに設定された元のエクスプレッションは、変更されずにそのまま残ります。

エクスプレッションをファンクション カーブ ファイルに変換するには

  1. エクスプレッションが適用されていることを確認します。Softimage では、適用されたエクスプレッションだけがプロットされます。エクスプレッション編集ペインの内容はプロットされません。

  2. Expression Editor で[ファイル](File) [F カーブとして保存](Save as Fcurve)を選択します。

  3. 開いたブラウザでディレクトリとファイル名を選択し、[OK]ボタンをクリックします。

Animation Editor でファンクション カーブを開く方法については、「 F カーブを保存およびロードする」を参照してください。