AfterEffectsでプロジェクトパネル上でフッテージを複製をすることや
他のプロジェクトをインポートし丸ごと複製することが、たまにあるのではないかと思います。
その際の挙動で不満なことはないでしょうか?その不満がこのスクリプト制作に関係しています。
今回は例としてモデルのチェックムービー作成などで時々あるマルチアングルのレンダリング素材で説明してみます。
同じ仕様のレンダーパス(ルートはカメラ名で以下は全て同名)で、別カメラでレンダリングした素材を用意します。
今回は分かりやすくアングルで色が変わるようなマテリアルセッティングしてあります。
Aが完成したらディレクトリごとB用として複製します。
当たり前といってしまえばそれまでなのですが、
BになるコンポジションのタイムラインにはAと同じレイヤーが並んでいます。
決して、一緒に複製されたフッテージは配置されていません。
ということで複製されたフッテージは捨てても問題ありません。
そして、なんとなくガッカリな仕様だと前から思っています。
つまり丸ごと複製しましたが、自動でリンク・リプレイスはされないので
一つずつリプレイスしていかなければならないのです。
さらに言うと、Bを完成させるにはそれ自体も根本的にBのレンダーパスと入れ替える必要もあります。
ただ、ファイルパスのリプレイスツールなどは多くの方が公開されているので必要であればそちらを利用させてもらいます。
そこで、複製したコンポのレイヤーと
フッテージをリプレイスするツールを作りました。
ひとまず、Bのレンダーパスを読み込みます。
プロジェクトパネルでそれらの読み込んだフッテージを選択し
タイムラインのレイヤーも選択する。
同名であればリプレイスする。と言った簡単なものです。
レンダーパスがあまり多くない条件での使用しかしていませんが少し楽に感じます。
実際、どれぐらい時短できているかと問われれば、高がしれているでしょうけれど気楽です。
悶々としません。逆に知らないだけでデフォルトでこの機能か設定ってあるんじゃないだろうか?
スクリプトを書いて時間を無駄にしたのでは?と悶々とします。
余談ですがインポートに関してはSmartImportを自社用に拡張・最適化したツールを使っているので
レンダーパスのルートディレクトリを指定すると、サブディレクトリを含めて再帰的にファイルサーチ・インポート・ソートをします。
その中から選んでリプレスするととても楽チンです。
少し改良したVersionを書きました。<17/06 アップデート>