終了

タイムカウンターの作成

New Here ,
Sep 04, 2018 Sep 04, 2018

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

コピー完了

AfterEffectsで、時間経過に合わせて動くタイムカウンタを作成しようとしています。

「エフェクト」→「テキスト」→「番号」で[タイムコード24] なども試してみたのですがうまくいかず、
現在、以下のエクスプレッションを利用してこのような表記を作っています。

timeToTimecode(t = time + thisComp.displayStartTime, timecodeBase = 100, isDuration = false)
WS004217.JPG


ただ、このエクスプレッションでは
00:00:00:00
時:分:秒:1秒以下が2桁で表示
という表記になってしまいます。

通常のタイムカウンタで一般的なのは
00:00:00.000
時:分:秒:ミリ秒(3桁)
となるのでこちらの表記に合わせて最後の1秒以下の部分を2桁ではなく3桁にしたく思っています。

エクスプレッションがあまり詳しくなく、いろいろ調べてみたのですが判然とせずこちらに

投稿させていただきました。


もしお分かりの方いらっしゃいましたらヒントなどご教授いただければありがたいです。
どうぞよろしくお願いいたします。

表示

1.7K

翻訳

翻訳

レポート

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

correct answers 1 件の正解

Community Expert , Sep 04, 2018 Sep 04, 2018

こんにちは、yoshifujidesign

Mukaidaさん、横から失礼します。

次の内容でどうでしょうか。

私が数年前、秒以下2桁で作成したエクスプレッションを、秒以下3桁(ミリ秒)に修正しました。エクスプレッション内容はほとんど忘れてしまいましたが(笑)。

最後の2カ所の()内「3」で秒以下3桁になります。「1」で秒以下1桁、「2」で秒以下2桁になります。

コンポジションのフレームレートを120fpsにしましたので、約0.008ずつ加算されます。

参考のため、エクスプレッションを張り付けておきます。先程After Effects CC2018に貼り付けて動くことを確認しました。

時間、分の桁が不要ならクロップエフェクトで非表示にしてください。

function place(x){ //place()関数を定義

if(x<10){ return "0" + x } //1桁なら0追加して、2桁にして表示

else{ return "" + x }//2桁ならそのままの値を返す

}

t = Math.floor(time); //Math.floorで小数点以下切り捨て

place( Math.floor(t

...

投票

翻訳

翻訳
Community Expert ,
Sep 04, 2018 Sep 04, 2018

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

コピー完了

タイムコードの最後の2桁は、ミリ秒ではなくフレーム数になるので、120fpsなどの高速撮影では3桁になりますが、通常は2桁です。

ミリ秒にする場合は、「:」の前後で計算式を変える必要があったと思います。

どこかのサイトで見たような気はするので、他に回答がなければ探してみます。

投票

翻訳

翻訳

レポート

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

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

コピー完了

こんにちは、yoshifujidesign

Mukaidaさん、横から失礼します。

次の内容でどうでしょうか。

私が数年前、秒以下2桁で作成したエクスプレッションを、秒以下3桁(ミリ秒)に修正しました。エクスプレッション内容はほとんど忘れてしまいましたが(笑)。

最後の2カ所の()内「3」で秒以下3桁になります。「1」で秒以下1桁、「2」で秒以下2桁になります。

コンポジションのフレームレートを120fpsにしましたので、約0.008ずつ加算されます。

参考のため、エクスプレッションを張り付けておきます。先程After Effects CC2018に貼り付けて動くことを確認しました。

時間、分の桁が不要ならクロップエフェクトで非表示にしてください。

function place(x){ //place()関数を定義

if(x<10){ return "0" + x } //1桁なら0追加して、2桁にして表示

else{ return "" + x }//2桁ならそのままの値を返す

}

t = Math.floor(time); //Math.floorで小数点以下切り捨て

place( Math.floor(t/3600) ) + ":" + place( Math.floor((t%3600)/60) ) +

":" +     place( Math.floor(t%60) )+ ":" + time.toFixed(3).substr(-3);

//順番に時間、分、秒、1/1000秒を計算してテキストとして表示

投票

翻訳

翻訳

レポート

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

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

コピー完了

Mukaidaさま、150kwさま、お返事ありがとうございました!

150kwさまに記載していただいたエクスプレッションでこちらでも表示できました。
こういう考え方で調整することも併せて、非常に勉強になりました。
改めて感謝いたします。

投票

翻訳

翻訳

レポート

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

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

コピー完了

こんにちは

お役に立てたようで良かったです。

ちょっとおせっかいですが、

秒の右側の「コロン」を「ピリオド」に変更するには(下上図)、エクスプレッションの下から2番目の行の中ほどの「コロン」を「ピリオド」に変更します(下下図の矢印部)。

投票

翻訳

翻訳

レポート

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

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

コピー完了

最新

150kwさま

こちらのコロン部分について追加でご教授いただいた分、確認が遅くなってしまいました。大変失礼いたしました。
表示を制御している箇所も了解いたしました。行き届いた点まで教えていただき感謝いたします。改めて、ありがとうございました!

投票

翻訳

翻訳

レポート

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