BMS, Movie, Illustrations, Programming

インデックス対称性のあるエクスプレッションを心がけよう!(連載・エクスプレッションの対称性と不変性 1)

この記事では、調整レイヤーを追加したり、背景のホワイト平面を追加したりしても、エクスプレッションの結果が変わらないようにする方法について解説します。

1. 基準レイヤーを作成し、エクスプレッション制御を追加

ヌルオブジェクトなどの基準となるレイヤーを作成します。

2. エクスプレッションに index と記入

スライダー制御に index というエクスプレッションを追加します。

index

3. 相対インデックスを使用してエクスプレッションを書く

スライダー制御の値と index を参照して、relativeIndex を定義します。そして、index の代わりにこの relativeIndex を使用してエクスプレッションを書きます。

const relativeIndex = index - thisComp.layer("_expression_base").effect("スライダー制御")("スライダー") - 1;

(relativeIndex + 1).toString()

このエクスプレッションでは index の値が変わったとしても、それと同じ量だけスライダー制御の値も変わります。これにより、後から調整レイヤーを追加したり、背景のホワイト平面を追加したりしても、エクスプレッションの結果が変わらないようにできます。relativeIndex が 0 オリジン (0-indexed) になるように、1 を引いていますが、好みによって変えても構いません。

スライダーの値自体はピックウィップで参照できますが、頻繁に使う場合はアニメーションプリセットやマクロツール、Orbital 2 などの片手デバイスに登録しておきましょう。

4. レイヤーを好きな数だけ Ctrl+D で複製する

プログラミングにおいては、環境に依存せず、どこでも同じように動くことが望まれます。インデックスの増減に関する対称性を意識することで、 After Effects においてもよりよいエクスプレッションを書くことができると考えられます。

次回へのリンク: