2017年9月29日金曜日

AfterEffects レイヤー置き換えスクリプト

こんにちは、ヤマヤマです。
今回は自作のAEスクリプトを紹介したいと思います。

唐突ですが…、
AfterEffectsでコンポをする際に、複数体のキャラクターがいるとします。
(例えばcut01にキャラAとキャラBがいる)

で、「キャラA」と 「キャラB」のコンポの組み方が一緒の場合、

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
先に「キャラA」のコンポを済まし、

そのコンポジションをコピーし、

チマチマと「Ctrl+Alt+?」でコンポジションアイテムやフッテージを「キャラB」のものに差替え、

「キャラB」用のコンポを作っていく。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

なんて苦行をやってませんか??


自分はやってました。


1カットだけであれば上記のような力技で差替えていくのも手ではありますが、
100カットあったらと思うとゾッとします。

そんな面倒なルーチンワークに時間かけたくないですよね。
プログラムに関してはド素人ですが、色々調べて頭沸騰させながら
一括でレイヤーを置換するスクリプトを作ってみました。


その名も"LayerReplace.jsx"


↓ダウンロードはコチラから
https://ux.getuploader.com/animaroidWEST/download/2
※パスワード入力欄に「animaroidWEST」と入力して認証ボタンを押すとダウンロードできます。


 
~~~ 使い方は以下の通り ~~~

 まずは下の図ようなコンポがあるとします。
 「sample_A」(これをキャラAとしましょう)のコンポが完了しているとして説明を進めます。 


 Step①
 「sample_B」(これをキャラBとしましょう)のコンポを作りたいので、
 「sample_A」のコンポをまるっとコピーしておきます。
 (コンポジション名の置換は他の方が配布しているスクリプト等で行うと効率的です) 

 Step②
 「sample_B」のフッテージも読み込んでおく必要があります。 
 この状態ではまだ「sample_B」の中身は「sample_A」と同じですね。

 ※注意
 このスクリプトは 、プロジェクト内の全アイテムを検索して、
 置換後の名前に該当するアイテムがあれば置き換えるという処理をしているので、
 プロジェクト内に置換後のアイテムが事前になくてはなりません。
 


 Step③
 スクリプト「LayerReplace.jsx」を実行します。
 そうすると画像のようなウィンドウが立ち上がるので置換前の文字列と置換後の文字列を入力。
 サンプルだと「A」を「B」に置換したいので、置換前に「A」、置換後に「B」を入力。
 
 Step④
 プロジェクトから置き換えを行いたいコンポジションを全て選択しておきます。
 今回の場合、「Sample_B」の中身を置き換えたいのでそれに付随するコンポ全てを選択。


 Step⑤
 全ての準備が整ったら "Replace!" ボタンを押す。
 そうすると、画像のようにコンポジションとフッテージが全て置き換わりました。

 コレですぐにキャラBのコンポの出来上がり!


 ちなみに、以下の仕様がありますので使用時にはご注意を。 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ・連番名は「○○_バージョン名_連番番号.拡張子」というような命名規則にしておかないと、
  正常にフッテージが置き換わりません。

 ・テキストボックスに何も入力されていない状態でボタンを押した場合はアラートが鳴ります。

 ・コンポが選択されていない状態でボタンを押した場合はアラートが鳴ります。

 ・平面レイヤー、調整レイヤー、ヌルレイヤー、シェイプ、テキスト、ライト、カメラは
  置換しないようになっています。

 ・実行後、置換できなかったレイヤーはアラート表示されます。
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 よかったら活用してみて下さい。
 あ、あと動作環境はCS6でしか試してません。
 
 それでは!