Skip to main content
Participant
February 16, 2021
Question

スクリプトから実行した場合に開始フレームが正常に反映されない

  • February 16, 2021
  • 1 reply
  • 618 views

①お使いのOSとそのバージョン

windows10 Pro 1909

 

②製品とそのバージョン

AE 2019 16.13 日本語版 ※ 英語版は確認していません
AE 2020 17.70 日本語版 英語版

2018以前は確認していません

 

③トラブルの内容

AftereffectsのJavaScriptにて予期せぬ動作が発生します


CompItemのdisplayStartTimeに値を
代入すると想定した結果と異なる値が入力されています

そのため、コンポジション設定の開始フレームが想定した値と異なります


以下、再現手順
・プロジェクト設定、フレーム数は「0から開始」を選択
・新規コンポジションを作成
  フレームレート:24
  開始フレーム:2002

 

問題が発生するコード(一部抜粋、全文は後述)

$.writeln(compItem.displayStartTime); //83.4166666666667
compItem.displayStartTime = compItem.displayStartTime;
$.writeln(compItem.displayStartTime); //83.4166641235352

値を代入しているだけで数値が変わります
結果、UI上から確認できる「開始フレーム」は2001となります

 

以下、プログラム全文

for(var i=1; i<=app.project.items.length; i++){
    var compItem = app.project.items[i];
    if(compItem instanceof CompItem){
        $.writeln("-------------");
        $.writeln(compItem.name);
        $.writeln(compItem.displayStartTime);
        compItem.displayStartTime = compItem.displayStartTime;
        $.writeln(compItem.displayStartTime);
    }
}

 

④エラーメッセージ

エラーメッセージは表示されません

 

補足

サポートへチャットにて問い合わせ済みです

サポートからの回答は

1.フォーラムへ内容の投稿

2.エンジニアへの情報共有を行う

上記2点となっています

This topic has been closed for replies.

1 reply

Community Expert
February 16, 2021

displayStartTime を displayStartFrame に書き換えてみてはどうでしょう。

endoAuthor
Participant
February 16, 2021

返信、ありがとうございます

 

現在、私の作業環境はCC2019を使用しております

CC2019の環境ではdisplayStartFrameは存在しないようです

 

また、2020の場合は

displayStartFrameが存在しますので

想定通りの結果となりました

 

業務上の都合があり

2020への移行はすぐにできないのですが

返信を頂けて、とてもうれしく思っています

ありがとうございます

Community Expert
February 16, 2021

返信ありがとうございます。

 

displayStartFrameに代わるものとして、framesCountTypeがあるようです。

使用方法については調べてもらえればと思います。
framesCountType - After Effects スクリプトリファレンス

displayStartFrame - After Effects スクリプトリファレンス

 

あれ、displayStartTimeとは、別の設定だったでしょうか。