Lesson 40 カウントダウンするタイマー表示を作る方法/DaVinci Resolve 動画制作講座
Lesson 40 カウントダウンするタイマー表示を作る方法 エクササイズの動画などを見ると、「この動作をあと30秒続けます!」というように、カウントダウンのタイマーが登場します。 丸があってその中に数字が書いてあり、時間と共に数字がカウントダウンしていき、さらに丸の周りの境界線が変化していくというものを、今回は作ってみます。 こんな感じです。 カスタマイズから始めたい方はこちら コードを購入 1)タイムラインの設定 まずは、タイムラインを設定します。 ファイル→新規タイムラインをクリックし、 プロジェクト設定のチェックをはずしてから、フォーマットをクリックします。 今回は横型にしたいので、 解像度と書いてあるところに、1920 x 1080 を入力します。 タイムラインフレームレートは29.97fpsにしておきましょう。 これで作成を押すとタイムラインが作られます。 2)円の境界線部分 まずは「円の境界線が時間と共に変化する」部分から作っていきましょう。 エフェクト→Fusionコンポジションを選択し、 ビデオ1に配置します。 今回は30秒のカウントダウンタイマーを作りたいので、 クリップの右端を引っ張ってトリムして、35秒くらいにしておきましょう。 右クリックして「Fusionページを開く」を押します。 背景と楕円形をノードエディターにドラッグして、 Ellipse→Backgroundとなるようにつなぎます。 Ellipseを選択し、インスペクタ側で、 フル→チェックを外し、 境界線の幅→0.04にします。 これで境界線だけの画像に変わります。 さらに、「長さ」を変化させていくと境界線の長さが変わることが分かります。 タイマーは一番上から始まった方が自然だと思うので、 角度→90度 にしておきます。 先にキーフレームを打って、動きをつけてしまいましょう。 0フレームのところにカーソルを持っていき、 長さを0にした状態で、◆を押してキーフレームを打ちます。 次に、30秒のところにキーフレームを打ちます。 タイムラインのフレームレートは29.97fpsに設定したので、 29.97fps x 30秒= 899.1 厳密に言うと899.1フレームが30秒なんですが、まあ900フレームで良いでしょう。 ということで、900フレームのところにカーソルを合わせて、 長さを1.0にします。 これで再生してみると、30秒かけて黒い境界線が描かれていくという動画になりました。 ※背景が黒だと円がわからないので、以下の動画は背景を白くしています。 では、白い円を合成してタイマーの形を整えていきましょう。 もう1セット、背景と楕円形をノードエディターに配置し、 マージでつなぎます。 境界線を作った方を緑色の三角に、 2つ目の円を黄色の三角につなぎます。 色を整えておきましょう。 Background2の方を選んで、インスペクタ→カラー→白にします。 また、動く境界線にあたるBackground1の方を選んで、インスペクタ→カラー→オレンジにします。 境界線のオレンジ色が、白い円からはみ出ているように見えるので 少し大きさを調整します。 境界線にあたるBackground1とMergeの間に変形を入れます。 transformを選択し、インスペクタ側で、 サイズ→0.925 として、白い円にぴったり境界線がはまるようにします。 ついでに、「反転・横」を押して、 回転する方向を時計回りにしておきましょう。 これで、カウントダウンタイマーの部分が完成です。 再生してみて、うまく30秒で境界線が満ちていくか確認してみてください。 3)カウントダウン部分 では、続いてカウントダウン部分を作っていきます。 テキストを1秒ずつ30個書いていってもいいんですが、しんどいので、エクスプレッションで設定します。 テキストをノードエディターにドラッグし、 mergeの後に、もう一度mergeを入れて、テキストをつなぎます。 Merge2の緑色の三角にTextを、 Merge2の黄色の三角にMerge1をつなぐようにしてください。 つぎに、Textを選択し、インスペクタ側の「文字を打ち込む枠」の右側にある◆を右クリックします。 すると、メニューが出てくるので、一番下にある「エクスプレッション」を押します。 すると、「文字を打ち込む枠」のすぐ下に、エクスプレッションを打ち込む枠が出てきます。 初期値は Text(“”) となっていると思います。 こちらを、 Text(time) に、修正します。 また、カラーは黒、サイズは0.45にしておきましょう。 すると、現在のフレーム数と同じ数字が、テキストに表示されるようになったと思います。 今回は秒数を表示したいので、timeを30で割ってみましょう。 Text(time/30) に、修正します。 すると、小数点付きの秒数にできました。 これだと、割り切れない場合はものすごく長い桁数になって、とても見ずらいので 小数点以下を切り捨てる関数「floor()」を使います。 Text(floor(time/30)) と修正しましょう。 これで、小数点のない数値(整数)にすることができました。 ただ、今はカウントアップしているので、これを30秒間のカウントダウンに変えましょう。 0, 1, 2, 3・・・とアップしているということは、30から引けば、 30-0=30, 30-1=29, 30-2=28・・・となっていくと思うので、 Text(30 – floor(time/30)) に修正します。 これで、30から始まり、うまくカウントダウンされるようになりました。 ・・・なのですが、30秒を超えると-1, -2, […]
