動画編集テクニック

【After Effects】テロップ背景が自動で伸び縮み!「sourceRectAtTime」の使い方

はじめに:「文字を直すたびに、背景の四角も直すの…?」

「ねぇひろぼー……もう嫌だにゃ。
YouTubeのテロップを見やすくするために、文字の後ろに『半透明の黒い四角(座布団)』を敷いてるのね。
でも、文字の長さを『あいうえお』から『あいうえおかきくけこ』に打ち替えたら、文字が四角からはみ出しちゃうんだにゃ!
だから毎回、文字を直した後に、下の四角形レイヤーも開いて横幅を伸ばして……ってやってるの。発狂しそうだよぉ…」

猫娘、本当にお疲れ様。テロップの「座布団」のサイズ調整は、動画編集において最も面倒くさくて無駄な作業の1つだよね。
でもプロは、四角形のサイズなんて手動で直さないんだ。

「ええっ!? じゃあどうやってるの!?」

ここで登場するのが、エクスプレッションの最高峰にして最強の時短ツール、『sourceRectAtTime()』という神呪文だよ。
これを使えば、「上の文字が長くなったら、下の四角も勝手に長くなれ!」という全自動テロップシステムが作れるんだ。

本記事では、AEエクスプレッション上級編の第1歩として、テロップ背景を自動追従させる魔法のコードを大公開します。
この記事を読めば、あなたのテロップ作成スピードが圧倒的に速くなりますよ!

1. 魔法の呪文『sourceRectAtTime()』とは?

なんだかとても長い呪文ですが、プログラミングの知識は一切不要です。
まずはこの呪文が何をしてくれるのかを理解しましょう。

「ターゲットの縦横のサイズ」をこっそり測るメジャー

`sourceRectAtTime()` を直訳すると、「その時間における、元の長方形(Rect)のサイズ」という意味になります。

この呪文を背景の四角形に仕込むと、「上のテキストレイヤーさんが今、横幅何ピクセルで、縦幅何ピクセルなのか測ってきて!」と自動でサイズを計測してくれます。
そして、「じゃあ僕(背景)も、それと全く同じサイズになります!」と変形してくれるのです。

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

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

続きを見る

2. 【準備】テキストと背景の図形を作る

それでは実際に作っていきましょう。まずは準備として、2つのレイヤーを用意します。

レイヤーの順番と名前に注意!

  • [1] テキストを書く ―― 横書き文字ツールで、適当な文字(「テロップ」など)を打ちます。このレイヤーの名前は仮に「テキスト」としておきます。
  • [2] 四角形を敷く ―― 長方形ツールを使って、文字の後ろに背景となる四角形を作ります。(※この時、必ずテキストレイヤーの下に配置してください)

これで準備は完了です。次から、下の「四角形レイヤー」に2つの呪文をコピペしていきます。

3. 【実践】コピペで完了!魔法のコードを打ち込む

背景の四角形を完璧に文字に追従させるには、四角形の「サイズ(大きさ)」「位置」の両方に呪文を入れる必要があります。
少し長いですが、以下のコードをそのままコピーして貼り付けてください!

STEP1:「サイズ」にコピペする呪文

四角形レイヤーの「コンテンツ」>「長方形1」>「長方形パス1」の中にある「サイズ」のストップウォッチをAltキーを押しながらクリックし、以下のコードをコピペします。

let txt = thisComp.layer("テキスト");
let w = txt.sourceRectAtTime().width;
let h = txt.sourceRectAtTime().height;
[w + 40, h + 20];
  • [解説] 1行目の `("テキスト")` の部分は、上で作ったテキストレイヤーの名前に合わせてください。
  • [余白の調整] 最後の行の `40` が「横の余白」、`20` が「縦の余白」です。ここを好きな数字に変えれば、背景の座布団の大きさを自由に変えられます!

STEP2:「位置」にコピペする呪文

サイズが自動で変わるようになりましたが、このままだと「四角形の中心」と「文字の中心」がズレてしまいます。
そこで、同じく「長方形パス1」の中にある「位置」のストップウォッチをAltキーを押しながらクリックし、以下のコードをコピペします。

let txt = thisComp.layer("テキスト");
let w = txt.sourceRectAtTime().width;
let h = txt.sourceRectAtTime().height;
let l = txt.sourceRectAtTime().left;
let t = txt.sourceRectAtTime().top;
[l + w/2, t + h/2];

完成!!
さあ、上の文字を「ああああああああ」と長く打ち直してみてください。
文字の長さに合わせて、背景の黒い四角形が勝手にビヨーンと伸びて、しかも常に中心をキープしてくれます!

うおおおおっ!!文字を打つたびに、四角形が勝手についてくるにゃ!!
これ、YouTuberの動画でよく見る「オシャレなテロップ」そのものだにゃ!
猫娘
ひろぼー
すごいよね!このコードを1回設定してしまえば、あとは文字を打ち替えるだけで無限にテロップが量産できるんだ。
手作業で四角形を直していた無駄な時間が、これで完全に「ゼロ」になるよ!
合わせて読みたい:【脱・初心者】After Effectsで「単価を上げる」ための3つの必須スキル。テキストアニメーションから合成まで、Premiere Proユーザーが覚えるべき演出術
【脱・初心者】After Effectsで「単価を上げる」ための3つの必須スキル。テキストアニメーションから合成まで、Premiere Proユーザーが覚えるべき演出術

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

続きを見る

まとめ:これを「テンプレート化」すれば時給がバグる!

今回は、テロップの背景を文字サイズに自動で合わせる神呪文『sourceRectAtTime()』について解説しました。

おさらいすると、ポイントは以下の通りです。

  • [基本] `sourceRectAtTime()` は、文字の「縦横のサイズ」を測ってくれる魔法。
  • [設定箇所] 背景の四角形の「サイズ」と「位置」の両方にコードを入れる必要がある。
  • [カスタマイズ] サイズのコードの最後にある `[w + 40, h + 20]` の数字をいじれば、余白(マージン)を自由に調整できる。

コードが少し長く見えますが、構造自体は「サイズを測って、余白を足しているだけ」の非常にシンプルなものです。
毎回入力するのは面倒なので、このコード自体をパソコンのメモ帳や「辞書登録」に入れておき、いつでもコピペで呼び出せるようにしておくのがプロのテクニックです。

次回は、このエクスプレッションシリーズの【最終回】!
今回作った「自動で伸び縮みするテロップ」を、Premiere Proで一生使い回せるようにする『MOGRT(モーショングラフィックステンプレート)化』のやり方を解説します。
これを覚えれば、あなたの動画編集の「時給」は異次元レベルに上がりますよ!お楽しみに!

ひろぼー、ありがとう!
コードは少し長かったけど、コピペするだけだから私でも簡単にできたにゃ!
次の最終回もめちゃくちゃ楽しみだにゃー!早くPremiere Proで使い回したいにゃ!
猫娘
ひろぼー
最後までついてきてくれてありがとう、猫娘!
次回のMOGRT化は、エクスプレッションの集大成であり、動画編集の「自動化」のゴール地点だよ。
この最強の武器を手に入れて、他の動画編集者と圧倒的な差をつけちゃおう!
  • この記事を書いた人
  • 最新記事

ひろぼー

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

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