リンクをクリップボードにコピー
コピー完了
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の問題かと思いますが、いかがでしょうか?
リンクをクリップボードにコピー
コピー完了
Apple Silicon版で試したところ、レイヤーを削除とアンドゥしてから実行するとレイヤー5まで表示されています。
環境設定フォルダーの再作成を行なって、初期状態にして問題が発生するか確認してはどうでしょう。
リンクをクリップボードにコピー
コピー完了
Windows版(23.1)なのですが、
環境設定フォルダの再作成を行って、初期状態にして確認してみましたが、症状は変わりませんでした。
リンクをクリップボードにコピー
コピー完了
社内の他のWindowsPCで確認したところ、AfterEffects2023(23.0)で、この問題が発生しなかったので、
試しに、そのPCのAfterEffects2023を、「23.0」から「23.1」へバージョンアップをしたら、この問題が発生するようになりました。
リンクをクリップボードにコピー
コピー完了
検証ありがとうございます。
ESTKかVisual Studio Codeで実行されていると思うのですが、保存したスクリプトをAfter Effects で直接実行した場合でも現象は出ているでしょうか。
当方は、Visual Studio Codeを使用しています。
$.writelnをalertに書き換えてAfter Effectsのスクリプトメニューから実行しても正常に動作しています。
リンクをクリップボードにコピー
コピー完了
先程から、23.0では発生しなかったが、23.1にバージョンアップしたら発生した旨のメッセージを何回も書いているのですが、何故かメッセージが消えてしますので、直接サポートへ連絡してみようと思います。
お手数おかけして申し訳ありませんでした、ご確認ありがとうございました。
リンクをクリップボードにコピー
コピー完了
社内の他のWindowsPCのAfterEffects2023(23.0)で確認したところ、この問題は発生しなかったので、
試しに、そのPCのAfterEffects2023を「23.0」から「23.1」へバージョンアップしたら、この問題が発生するようになりました。
リンクをクリップボードにコピー
コピー完了
社内の他のWindowsPCのAfterEffects2023(23.0)で確認したところ、この問題が発生しなくなったので、
試しに、そのPCでAfterEffects2023を「23.0」から「23.1」へバージョンアップしたら、この問題が発生するようになりました。
リンクをクリップボードにコピー
コピー完了
別のWindows PCでも同じ現象が起きているようでしたら、不具合かもしれませんね。
それと、このコミュニティでは、返信を投稿しても担当者がチェックするまで画面に表示されないようになっています。
深夜に投稿すると翌日になる事もあります。
リンクをクリップボードにコピー
コピー完了
なるほど、そういう仕様だったのですね。
カスタマーケアの担当者の方と連絡が取れたので、状況を報告しました。
ありがとうございます。
リンクをクリップボードにコピー
コピー完了
自分の環境Windows10,AE23.1.0でも発生します。
手順としては
スクリプト実行>レイヤー削除>スクリプト実行>アンドゥ>スクリプト実行
でアンドゥ前の値が返ってきます。
キャッシュを削除すると期待される値が返ってくるので。キャッシュの問題?
ちなみにスクリプトで先にヌルを作って即削除するとキャッシュが無効になるのか、期待される値が返ってきました。