終了

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

New Here ,
Feb 15, 2021 Feb 15, 2021

リンクをクリップボードにコピー

コピー完了

①お使いの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点となっています

キーワード
エラーまたは問題 , スクリプティング

表示

445

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Feb 15, 2021 Feb 15, 2021

リンクをクリップボードにコピー

コピー完了

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

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Feb 16, 2021 Feb 16, 2021

リンクをクリップボードにコピー

コピー完了

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

 

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

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

 

また、2020の場合は

displayStartFrameが存在しますので

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

 

業務上の都合があり

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

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

ありがとうございます

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Feb 16, 2021 Feb 16, 2021

リンクをクリップボードにコピー

コピー完了

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

 

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

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

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

 

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

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Feb 16, 2021 Feb 16, 2021

リンクをクリップボードにコピー

コピー完了

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

 

framesCountType はプロジェクト設定の

0 または 1 を 起点として扱うかの設定だと思います

 

私が求めているものは

コンポジション設定の「開始フレーム」となっていますので

ご提案頂いたframesCountTypeでは根本的な解決はしないと思います

 

ご提案、ありがとうございます

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Feb 16, 2021 Feb 16, 2021

リンクをクリップボードにコピー

コピー完了

最新

どうも失礼しました。

 

framesCountTypeを追加しても、プロジェクト設定が変わるだけで開始フレームが2001になるのは変わらずでした。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines