AfterEffectsで色管理を一括するスクリプト「Color Integrator」を作った話
2022/01/03 追記 幸いなことに色々な方に興味を持っていただけているようで嬉しいです。 どうやらgoogle driveのアップデートで一時的にリンクが使用できなくなっていましたが、回復させておきました。
こんばんは、まつらいです。
AfterEffectsにおいて面倒なことのひとつ、各レイヤーの色管理を一括してパネルで行えるようになるスクリプトを作成しました。
以下のURLよりDLして ScriptUI Panel
に入れてご使用下さい。
https://drive.google.com/open?id=0B3I96L8wZItOS2dnRVhuQ1p4NjQ
2017/02/08 01:57 カラーピッカー使用時に値がおかしくなるバグを修正しました。(v1.0.4)
使い方
このスクリプトは、特定のコンポジション内のテキストレイヤーに記述されたカラーコードを他のレイヤーから参照して使用する管理方法を効率化したスクリプトです。 このスクリプトでは _colorIntegrator
コンポジション内の colors
レイヤーを参照しています。
まだ _colorIntegrator
コンポジションが作成されていない場合、startを押すとコンポジションが作成されます。最初は自動的に#FFFFFF
が登録されますので、色を変更して適用するかscanして他のレイヤーの色を取得してみましょう。すぐにscanを行う場合は最初の#FFFFFF
は削除したほうが便利かもしれません。
色を取り込んで置き換える
レイヤーかプロパティを選択した状態でscan
をクリックすると、使用している色を取り込み、エクスプレッションに置き換えます。同じ色が重複している場合は一つにまとめられる他、既にcolorIntegratorに登録されている色を使用していれば自動的にそちらに置き換えられます。
色の変更する
右側のカラーコードをクリックするとカラーピッカーが起動し、色の変更ができるようになります。OS依存のカラーピッカーが起動し、決定やescをした際に色が変更されます。
また、パネル下部のカラーコードで直接変更することも出来ます。外部で管理している色使用する場合はこちらを使用するのをおすすめします。一括で色を変更したいときや色の入れ替えにも。
色を適用する
レイヤーかプロパティを選択した状態でリスト左側の色をクリックすることで、そのレイヤー/プロパティに色のエクスプレッションを適用します。以降、colorIntegrator側で色を変更すれば自動的に反映されます。
おすすめポイント
- 基本的に特定コンポジションの色指定を取得して管理しやすく作り直しているだけなので、このスクリプトがない環境でもプロジェクトが動きます。
- 文字列で色を管理できるので、コピペとかでサクッと配色パターンを変えられます。
- 上位のコンポジションから下位のコンポジションの色を手軽に変更できるようになるので、後から色を変えようと思った時にレイヤーを探す手間が省けます。
注意点
- このスクリプトでは色は「順番」で管理されています。n番目の色を参照する、というような書き方なので、色の置き換えとかがすぐにできる分色を減らしたり統合する時は頭を使います。どうしてもパネル上の2色を統合したいときは、一度「キーフレーム補助->エクスプレッションをキーフレームに変換」等でエクスプレッションでのリンクをなくし、後ほどscanし直すなどの運用が良いかと思います。
- すべての色計算時にテキストレイヤーを読みに行くので、(試しに使用している範囲では気になりませんでしたが)あまり複雑なことをすると重いかもしれません。
ctrl+z
等「戻る」をした時に、ScriptUI側から検知することが出来ずcolorIntegrator側では色が戻らないので、手動でreloadをクリックして下さい。- 不完全な部分もあるかと思いますので、フィードバックいただければ幸いです。
ところで、
こちらのスクリプトのソースコードは2016年冬のコミケに出しましたこちらの本のおまけとして、すべて公開しています。
中身的にはgulpやES2015などを使ってAdobeExtendScriptを書いております。
(別に買わなくてもgithubから見れますが、)この機会にぜひお求め頂けますと幸いです。
以上、AfterEffectsユーザーの助けになれば幸いです。