エクスプレッションの要素へのアクセス
エクスプレッション言語を使って、数値の値を持つ、After Effectsのプロパティにアクセスします。値にアクセスするには、一連のオブジェクト参照をピリオド(.)演算子で区切って使います。エクスプレッションに要素を追加できる順序を理解するには、After Effectsエクスプレッション言語ガイドを参照して、要素が何を返すのかを調べます。 以下の手順は、After Effectsエクスプレッション言語ガイドを参照してエクスプレッションを作成する方法の一例です。
簡単なエクスプレッションを作成するには - 2つのレイヤーを使って作業を開始します。
- コンポジション内の最初のレイヤーの位置プロパティを選択し、アニメーション/エクスプレッションを追加を選択します。初期設定では、次のエクスプレッションが表示されます。
position - 次のエクスプレッションを直接「position」に上書きします。
this_comp - 要素「this_comp」はグローバル属性で、その値は、現在のコンポジションを表すCompオブジェクトです。
- エクスプレッションで「this_comp」の後に入力できる要素を確認するために、グローバルな属性とメソッドでthis_compの戻り値を調べます。
- 「this_ comp」はCompを返します。次に、コンポジションの属性とメソッドを参照して、Compと併用できる要素を調べます。1つの選択肢として、「layer(index)」があります。かっこ内のインデックス(数値)で、使うレイヤーを指定します。アクティブなコンポジションに含まれている2番目のレイヤーから値を取り出すには、次のように入力します。
this_comp.layer(2) - 再びエクスプレッション言語ガイドを参照して、layer(index)がLayerを返すことを確認します。レイヤーの属性とメソッドを参照して、使う要素を探します。例えば、レイヤーの位置プロパティの値にアクセスするには、次のように入力します。
this_comp.layer(2).position - レイヤーの属性とメソッドで、position属性がPropertyを返すことを確認します。プロパティの属性とメソッドを参照すると、エクスプレッションに時間係数を追加できることがわかります。現在の時間の2秒前など、特定の時間を追加するには、次のように入力します。
this_comp.layer(2).position.value_at_time(time-2) - プロパティの属性とメソッドから、時間係数「value_at_time(time)」はNumberを返すことがわかります。要素がNumber、Array、またはBoolean(真または偽)を返すときは、エクスプレッションにその他の属性またはメソッドを追加することはできません(ただし、必要に応じて+、-、*、/などの演算子を追加することはできます)。
- エクスプレッションの外をクリックして、エクスプレッションをアクティブにします。
|