AfterEffects Script レイヤースワッパー

aescriptsからAEC4DというC4Dプラグインのローンチのメールがあり
デモ版をインストールし使用してみました。
これがC4DからAEにシーンを渡すプラグインで
デフォルトでも.aec.c4dファイルを読み込みライトやカメラなどの3Dデータや
外部コンポジットタグを使いAEC出力するなどすれば全く同様のことができます。
ただ、様々な手続きやファイルを出力することなくボタン一つで
コンポジションとしてAEに再現されている状態は作業環境としてとても快適に思いました。
ローンチセール中に購入することにします。

そこでふと以前にデフォルトの機能でC4Dオブジェクト→AE3Dレイヤーを
盛んに使用していたときを振り返りました。
多くはPlexus、Particular、OpticalFlaresなどのプラグインで
ライトレイヤーを使いノードやエミッター、ライトトラックなどのベースを作るためなのですが
AEでライトを多量に置くと恐ろしくビジーな状態になり
それらを一時的にシェイプで生成したヌルなどに置換したいと思うことがあったり
外部コンポジットタグで大量に出力されたヌルをライトの親にしたかったり
大量のライトポジションにテキストレイヤーでインデックス表示させたいと思うことがあったりしました。

このような状況を少しでも改善すべく書いたAEスクリプトが
AVレイヤー以外のレイヤー(コンポジションのプロシージャルなレイヤーとでも言ったらよいでしょうか)を
リプレイスするためのスクリプトなのですが未熟なのもありなかなか試行錯誤しました。
というのも各トランスフォームの値を引き渡すのが非常に面倒くさいからです。
C4Dでアニメーションが付いている場合はトランスフォームが
フルフレームベイク
されている状態が多いからなのですが。。。

書いた当時(2012,3年あたり)は、必要十分な機能として
元のレイヤーとペアレントさせることで一応の完成としていました。
この状態であれば、フルフレームでベイクされていても関係ありません。
しかしライトレイヤーでビジーな状態になっているのは解消されませんし
単純にレイヤーが倍になるのでタイムラインのスコープがとても悪くなります。
なんとかしなきゃなーと思っていましたが、使う機会も減っていたのでほったらかしに、、、

今回、このAEC4DというC4Dプラグインを導入するにあたり修正・最適化してみました。

PtcLS001

PtcLS002
PtcLSView

基本的に前述のシェイプ、テキストなどのAVレイヤーはもちろん、カメラ、ライトなど選択アイテムにも置換できます。
仕様としてはやや力技で元レイヤーのトランスフォームを丸々コピー
新規レイヤーにペーストするという処理をしています。
キーフレームも渡すことができるので元のレイヤーを削除することもできます。
オプションとしてアンカーポイントを[0,0,0]に設定、親子づけ、
レイヤーマーカーの設定、元レイヤーを削除などを選択できるようにしました。
これでしばらくは使えそうです。



コメントを書く