動画編集テクニック

【After Effects】数字のカウントダウンを全自動化!「Math.round」エクスプレッションの使い方

はじめに:「60秒タイマーを作れって言われたけど、数字を手打ちするの…?」

「ねぇひろぼー……もう指が限界にゃ。
バラエティ風のYouTube編集で『右上に60秒のカウントダウンタイマーを出して』って頼まれたのね。
だからテキストレイヤーを作って、『60』って打って、1秒進めて『59』に変えて、また1秒進めて『58』に変えて……ってやってるんだけど、これ終わる気がしないにゃ…」

猫娘、それは完全に「やってはいけない力技」だね。もしクライアントから「やっぱり100秒からにして!」って言われたらどうするの?

「えっ……パソコン窓から投げるにゃ」

だよね(笑)。数字がパラパラ変わるタイマー演出は実務でめちゃくちゃよく使うんだけど、プロは絶対に手打ちはしないんだ。
前回学んだ『time』という呪文をテキスト(文字)に使うだけで、全自動で数字がカウントされるようになるんだよ。

「ほんとに!? じゃあさっそく『time』を入れてみるにゃ!」

ちょっと待って!ただ入れるだけだと「大変なこと」になるんだ。
本記事では、AEエクスプレッション中級編の第1歩として、数字のカウントを完璧に自動化する『Math.round()』の使い方を解説します。
この記事を読めば、もう二度と数字を手打ちする地獄の作業に戻ることはなくなりますよ!

1. テキストに『time』を使うと起こる「悲劇」

前回、時計の針を回すために使った「現在の秒数を読み取る呪文『time』」。
これをテキスト(文字)に使えば、1秒、2秒…と勝手に増えていくタイマーができそうですよね。やってみましょう。

小数点以下が暴走する!

  • [1] テキストを書く ―― 横書き文字ツールで、画面に適当な数字(0など)を打ちます。
  • [2] ソーステキストを開く ―― テキストレイヤーの中にある「テキスト」>「ソーステキスト」の項目を開きます。
  • [3] timeを入力 ―― Altキー(Optionキー)を押しながらストップウォッチをクリックし、枠内に time と打ち込みます。

結果はどうなる?
再生してみると、画面の数字が「1.23456789…」のように、とんでもない桁数の小数点がものすごいスピードでパラパラと表示されてしまいます。
これは、AEが「1フレーム単位の細かい時間」までバカ正直にテキストとして表示してしまっているからです。

これではタイマーとして使い物になりません。

合わせて読みたい:【初心者必見!】初心者でもわかるAfter Effects/アフターエフェクトの使い方
【初心者必見!】初心者でもわかるAfter Effects/アフターエフェクトの使い方

動画作成をしていると必ずぶつかる壁があります。それがAfter Effects/アフターエフェクトです。とにかく難しく、途中で挫折してしまう方も少なくないですが、 今回はそんなAfter Effect ...

続きを見る

2. 救世主『Math.round』で小数を切り捨てる!

この「邪魔な小数点」を綺麗に消し去って、1、2、3…という綺麗な整数(キリの良い数字)にしてくれるのが、中級魔法の『Math.round()』です。

「time」を「Math.round()」で包み込む

使い方は、マトリョーシカのように「呪文を呪文で包む」だけです。
先ほど入力した `time` を消して、以下のように打ち直してください。
(※「M」は大文字であることに注意!)

▶ 入力する呪文:Math.round(time)

  • [意味] カッコの中に入っている数字(=今の秒数)の、小数点以下を「四捨五入」して綺麗な整数にしなさい!

たったこれだけで、画面の暴走していた数字がピタッと止まり、1秒経過するごとに「1、2、3…」と綺麗にカウントアップしていくストップウォッチが完成しました!

すごい!!あんなに長かった小数点が消えて、ちゃんとしたタイマーになったにゃ!
これなら、手打ちしなくても勝手に数字が増えていくにゃー!
猫娘
ひろぼー
でしょ? `Math.round()` は、「細かい数字をザックリ綺麗な数字に整えてくれるフィルター」みたいなものなんだ。
それじゃあ、これを応用して実務で一番よく使う「カウントダウン」を作ってみよう!

3. 【実践】60秒からのカウントダウンを作る方法

「0から増える」のではなく、「60から減っていく」タイマーを作りたい場合は、小学生の算数を使えば一瞬で解決します。

「スタートの数字」から引き算するだけ!

もし60秒からスタートして、1秒ごとに数を減らしたいなら、「60」という数字から「現在の秒数(整数)」を引き算すればいいですよね。

▶ 入力する呪文:60 - Math.round(time)

  • [0秒の時] ―― 60 - 0 = 画面には「60」と表示される。
  • [10秒の時] ―― 60 - 10 = 画面には「50」と表示される。

これで完璧なカウントダウンタイマーの完成です!
もし「100秒からスタートしたい!」とクライアントに言われても、呪文の「60」の部分を「100」に書き換えるだけで、一瞬で修正が終わります。

もっと速くカウントしたい時は?

クイズ番組の「残り時間」のように、もっと速いスピードで数字を減らしたい場合は、前回学んだ掛け算( * )を組み合わせます。

▶ 例:1000 - Math.round(time * 10)

こうすると、「1000からスタートして、通常の10倍のスピードで数字が減っていく」という、焦燥感を煽るかっこいいタイマーが作れます!

合わせて読みたい:【脱・初心者】After Effectsで「単価を上げる」ための3つの必須スキル。テキストアニメーションから合成まで、Premiere Proユーザーが覚えるべき演出術
【脱・初心者】After Effectsで「単価を上げる」ための3つの必須スキル。テキストアニメーションから合成まで、Premiere Proユーザーが覚えるべき演出術

Contents1 はじめに2 1. なぜPremiere Proだけでは稼げないのか?2.1 「カットとテロップ」は誰でもできる時代2.2 Premiere ProとAfter Effectsの決定 ...

続きを見る

まとめ:呪文を組み合わせれば無敵になれる!

今回は、テキスト(数字)を自動でカウントさせる『Math.round』の使い方を解説しました。

おさらいすると、手順は以下の通りです。

  • [1] テキストレイヤーの「ソーステキスト」にエクスプレッションを入れる。
  • [2] ただの `time` だと小数点が暴走するので、Math.round(time) で四捨五入する。
  • [3] カウントダウンしたい時は、スタートの数字 - Math.round(time) と引き算にする。

今回のように、AEのエクスプレッションは「呪文と呪文を組み合わせる(算数をする)」ことで、無限の表現が可能になります。
数字を手打ちするという地獄の単純作業はパソコンにすべて任せて、あなたは「タイマーのフォントやデザイン」をカッコよくすることに全力を注いでください!

次回は、中級編の第2回!滑らかな動画をあえて「カクカク」させてアニメ風にするお洒落な魔法『posterizeTime』について解説します。お楽しみに!

ひろぼー、ありがとう!
エクスプレッション同士を組み合わせるなんて、なんだかプログラマーになったみたいでカッコいいにゃ!
これでバラエティ番組みたいなタイマーが10秒で作れるようになったにゃー!
猫娘
ひろぼー
その調子!もう完全にエクスプレッションへの恐怖心がなくなってるね!
この「ソーステキスト×エクスプレッション」は実務で死ぬほど使うから、ぜひマスターして単価アップに繋げていこう!
  • この記事を書いた人
  • 最新記事

ひろぼー

ひろぼーと申します!X(旧Twitter)フォロワー6500人超え、動画制作200件超え、動画制作は独学で学びました!多くのクライアントやプロジェクトで培ったスキルと独学ならではの学びと経験からあなたのメッセージを効果的に伝えるコンテンツを提供します!

-動画編集テクニック
-, , , , , , ,