質問
2023でのスクリプトのLayerCollectionオブジェクトの問題
AfterEffects2023でレイヤーを削除した後にUndoして削除したレイヤーを元に戻しても、
スクリプトのLayerCollectionオブジェクトが削除した状態のままになって、更新されないようです。
具体的には、レイヤー数5のコンポジションがあった場合、
var activeComp = app.project.activeItem;
$.writeln( activeComp.layers.length );
// 出力結果 5
for( var i = 1; i <= 5; i++ ) $.writeln( activeComp.layer(i).name );
// 以下、出力結果
// layer01
// layer02
// layer03
// layer04
// layer05
を実行すると、通常であれば「5」が返ってきますが、
AfterEffects2023の場合、このコンポジションのレイヤーを1つ削除してアンドゥをした後に、上記コードを実行すると削除した状態の「4」が返ってきます。
この状態で、
// layer05を削除して、Undoで元に戻してレイヤーが5つある状態
var activeComp = app.project.activeItem;
$.writeln( activeComp.layers.length );
// return:4
for( var i = 1; i <= 5; i++ ) $.writeln( activeComp.layer(i).name );
// layer01
// layer02
// layer03
// layer04
// ここでエラー
AfterEffects2022までは問題なく上記手順を行っても正常に「5」が返ってくるので、
AfterEffects2023の問題かと思いますが、いかがでしょうか?
