Skip to main content
zazenboys
Participating Frequently
January 24, 2023
質問

2023でのスクリプトのLayerCollectionオブジェクトの問題

  • January 24, 2023
  • 返信数 2.
  • 453 ビュー

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の問題かと思いますが、いかがでしょうか?

このトピックへの返信は締め切られました。

返信数 2

Participating Frequently
January 25, 2023

自分の環境Windows10,AE23.1.0でも発生します。

手順としては

スクリプト実行>レイヤー削除>スクリプト実行>アンドゥ>スクリプト実行

でアンドゥ前の値が返ってきます。

キャッシュを削除すると期待される値が返ってくるので。キャッシュの問題?

ちなみにスクリプトで先にヌルを作って即削除するとキャッシュが無効になるのか、期待される値が返ってきました。

Community Expert
January 24, 2023

Apple Silicon版で試したところ、レイヤーを削除とアンドゥしてから実行するとレイヤー5まで表示されています。
環境設定フォルダーの再作成を行なって、初期状態にして問題が発生するか確認してはどうでしょう。


おかしいなと思ったら(Windows 版 After Effects CC) 

おかしいなと思ったら(Mac OS 版 After Effects CC) 

zazenboys
zazenboys作成者
Participating Frequently
January 24, 2023

Windows版(23.1)なのですが、

環境設定フォルダの再作成を行って、初期状態にして確認してみましたが、症状は変わりませんでした。

zazenboys
zazenboys作成者
Participating Frequently
January 24, 2023

社内の他のWindowsPCで確認したところ、AfterEffects2023(23.0)で、この問題が発生しなかったので、

試しに、そのPCのAfterEffects2023を、「23.0」から「23.1」へバージョンアップをしたら、この問題が発生するようになりました。