リンクをクリップボードにコピー
コピー完了
①お使いの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点となっています
リンクをクリップボードにコピー
コピー完了
displayStartTime を displayStartFrame に書き換えてみてはどうでしょう。
リンクをクリップボードにコピー
コピー完了
返信、ありがとうございます
現在、私の作業環境はCC2019を使用しております
CC2019の環境ではdisplayStartFrameは存在しないようです
また、2020の場合は
displayStartFrameが存在しますので
想定通りの結果となりました
業務上の都合があり
2020への移行はすぐにできないのですが
返信を頂けて、とてもうれしく思っています
ありがとうございます
リンクをクリップボードにコピー
コピー完了
返信ありがとうございます。
displayStartFrameに代わるものとして、framesCountTypeがあるようです。
使用方法については調べてもらえればと思います。
framesCountType - After Effects スクリプトリファレンス
displayStartFrame - After Effects スクリプトリファレンス
あれ、displayStartTimeとは、別の設定だったでしょうか。
リンクをクリップボードにコピー
コピー完了
返信ありがとうございます
framesCountType はプロジェクト設定の
0 または 1 を 起点として扱うかの設定だと思います
私が求めているものは
コンポジション設定の「開始フレーム」となっていますので
ご提案頂いたframesCountTypeでは根本的な解決はしないと思います
ご提案、ありがとうございます
リンクをクリップボードにコピー
コピー完了
どうも失礼しました。
framesCountTypeを追加しても、プロジェクト設定が変わるだけで開始フレームが2001になるのは変わらずでした。