AfterEffects

【AfterEffects】コンポ内のエクスプレッションをベイクする方法

aftereffects-bake-expression

エクスプレッションを多用するとレンダリングが激重くなるようなので、ベイク(キーフレーム化)することにしました。

普通のやり方

レイヤーを展開し、エクスプレッションの入っているプロパティを選択。

アニメーション>キーフレーム補助>エクスプレッションをキーフレームに変換

でエクスプレッションがベイクされます。(複数選択も可)

スクリプトでやる場合

下記のような感じです。
変換できない場合はプロパティを追加してやります。

function convertToKeyframes(theProperty){
    if (theProperty.canSetExpression && theProperty.expressionEnabled){
        theProperty.selected = true;
        app.executeCommand(2639);
        theProperty.selected = false;
    }
}
    var myComp = app.project.activeItem;
    if (myComp && myComp instanceof CompItem){
        var myLayer;
        var myProperty;
        app.beginUndoGroup("convert expressions");
        for (var i = 1; i <= myComp.numLayers; i++){
              myLayer = myComp.layer(i);
          try{
              myProperty = myLayer.property("position");
              convertToKeyframes(myProperty);
          }catch(err){
          }
          try{
              myProperty = myLayer.property("anchorPoint");
              convertToKeyframes(myProperty);
          }catch(err){
          }
          try{
              myProperty = myLayer.property("rotation");
              convertToKeyframes(myProperty);
          }catch(err){
          }
          try{
              myProperty = myLayer.property("scale");
              convertToKeyframes(myProperty);
          }catch(err){
          }
          try{
              myProperty = myLayer.property("opacity");
              convertToKeyframes(myProperty);
          }catch(err){
          }
          try{
              myProperty = myLayer.property("timeRemap");
              convertToKeyframes(myProperty);
          }catch(err){
          }
          try{
              myProperty = myLayer.property("sourceText");
              convertToKeyframes(myProperty);
          }catch(err){
          }
        }
        app.endUndoGroup();
}

参考

Bulk convert expressions into keyframes

AfterEffectsの参考紹介

参考記事

  • After Effectsに関連するまとめ記事45選!
  • 参考書籍

    ABOUT ME
    すいみん
    東京在住。デザイナー寄りのテクニカルデザイナー。 ブログは技術検証の備忘録として書いています。