【AE】ラベルカラーの設定【自動化】
こんにちは。
After Effects の作業でコンポジションに配置するレイヤーにはラベルの色を設定することができます。
図の左側の■がそうです。
色の種類については、メニューバーの[編集(E)]>[環境設定(F)]>[ラベル(B)]から確認・変更が可能です。
下図のダイアログで行えます。図の設定は初期設定のものです。
さて、通常これらの設定はプロジェクトパネルかタイムラインパネル上で対象のアイテムやレイヤーを選択し、それを右クリックから色を設定することができるのですが、この手順が面倒に感じることはままあるかと思います。
業務の中ではアイテムの使用目的やデータ整理によって色を設定するようなデータ作成規則が存在することもあると思いますが、その規則を賄えるような設定をAEの基本設定で行うことはできません。
そこでワンクリックで色設定をするスクリプトを作成しました。
■使用方法
DL後、解凍して使用してください。
・対応バージョン
After Effects CC2020(ver17.x.x)
(動作確認をしたのがこのバージョンのみのため。他バージョンでの動作情報お待ちしております)
(Win10で開発)
・インストール
デフォルトのインストール先フォルダ内の下記のパスにおいてください。
~\Adobe After Effects 2020\Support Files\Scripts\ScriptUI Panels
・実行
メニューバーの[ウィンドウ(W)]からlabelColor.jsxbinを選んでください。
([ファイル(F)>スクリプト>スクリプトファイルを実行]でも可能)
ウィンドウから実行した場合はパネルのドッキングが可能です。
■操作方法
実行すると次のようなダイアログが開きます。
パネルドッキングするとこんな感じです。
※使用については自己責任でお願いいたします。
・色を設定する
タイムラインパネルをアクティブにし、対象のレイヤーを選択(複数可能)しスクリプトの色ボタンを左クリックするとラベルの色が設定されます。
・色で選択する
タイムラインパネルをアクティブにし、色ボタンを右クリックすると、アクティブなコンポジションに配置されているレイヤーのその色が設定されているレイヤーを選択状態にします。
■コードについて
ラベルの色を設定するには次のように記述します。
// プロジェクトパネルでアイテムのラベルを指定する場合
app.project.item(index).label = 0; // 0~16の数字で色番号を指定
// タイムラインパネルでレイヤー1のラベルを指定する場合
app.project.item(index).layers[1].label = 0; // 0~16の数字で色番号を指定
これを、選択しているレイヤーすべてに適応するなら下記のようになります。
var colorNum = 0; // 任意の色番号
for( var j = 1; j <= app.project.activeItem.layers.length; j ++ ){
var lay = app.project.activeItem.layers[j];
if( lay.selected == true ) lay.label = colorNum;
}
これで色指定を自動化することができますが、実はAEの色の種類や設定をスクリプトで取得することができません。
そのため、AEの環境設定を変更している場合にスクリプトで表示されている色とは違う場合があります。
今回のスクリプトで使用している色の情報は次の通りです。
"なし" : [102/255, 102/255, 102/255],
"レッド" : [181/255, 56/255, 56/255],
"イエロー" : [228/255, 216/255, 76/255],
"アクア" : [169/255, 203/255, 199/255],
"ピンク" : [229/255, 188/255, 201/255],
"ラベンダー" : [169/255, 169/255, 202/255],
"ピーチ" : [221/255, 193/255, 158/255],
"シーフォーム" : [179/255, 199/255, 179/255],
"ブルー" : [103/255, 125/255, 224/255],
"グリーン" : [ 74/255, 164/255, 76/255],
"パープル" : [142/255, 44/255, 154/255],
"オレンジ" : [232/255, 146/255, 13/255],
"ブラウン" : [127/255, 69/255, 42/255],
"フクシアピンク" : [244/255, 109/255, 214/255],
"シアン" : [ 61/255, 162/255, 165/255],
"サンドストーン" : [168/255, 150/255, 119/255],
"ダークグリーン" : [ 30/255, 64/255, 30/255],
また、タイムラインパネルではなくプロジェクトパネルがアクティブになっている場合は意図せぬ動作を実行してしまいますので注意してください。
具体的には、「プロジェクトウィンドウで選択されているアイテムがコンポジションの場合にその中で選択されているレイヤーの色が変更」されます。
これは、スクリプト上でアクティブなパネルを判別することができないために起こります。
通常の想定ではタイムラインパネルを操作している途中で使用しているハズですので問題になることはありませんが、「実行したのに変化がない場合」などは上記の状態が発生しているかも知れませんので一度確認をしてください。
なお、ctrl + z によるアンドゥ操作は可能です。
■あとがき
ここまで閲読ありがとうございます。
このスクリプトの機能は最小限の状態ですので、他にも、例えば「ソロレイヤーを選択する」「シャイレイヤーに設定する」などの機能を増設することも可能だと思われます。
こういった機能補助にどれぐらいの需要があるのかわからないのでひとまずこういう状態としました。
AEのバージョンについては筆者の環境がCC2020しかないためにそうなっています。
このスクリプトについて機能の強化や操作性の向上など要望がありましたら気軽にコメントしてください。
過去バージョンへの対応ももしかしたら実現できるかもしれません?(^^;)
それでは快適なAEライフを。
■更新履歴
・2020/10/28 :初版
・2020/10/29 :アンドゥを一括実行できるように修正