5月GWも終わり絶賛5月病ですか?
はやく次の連休が来てほしい、そんな初夏の日いかがお過ごしでしょうか。
これから暑くなるのかな、夏暑いのかな……。
あ、さて今回はAfterEffectsのお話となります。
テキストソースをCSVデータで管理する
AfterEffectsのテキストレイヤーのテキストソース(表示文言)をCSVデータで用意して、
テキストソースに登録してあげるとひとつのレイヤーで文言を変えて使用することが出来ます。
つまりは同じステータスやエフェクトの場合わざわざ複数用意しなくてもテキストレイヤー1つを使いまわせるのです。
どんなことができるの?
- CSVファイルのデータをAfter Effectsに読み込み、テキストレイヤーのテキストソースを自動で切り替え!
- ポイント制御エフェクトのX値でCSVの行を選択、Y値で不透明度を自在にコントロール!
- GUIでCSVファイルとキー間隔を選ぶだけ。面倒な手作業は一切不要!
例えばこんな使いかた
テロップの作成とかに特にむいています。
出す位置や文字の見た目などをそのままに時間経過でだす文言を変えることができるので切り替わるタイミングをAfterEffects側で調整すれば、文言の変更などはAfterEffects側ではなくCSVデータで出来ちゃうのでとても管理はしやすい。
その他でも、テキストレイヤーのテキストソース(と一部不透明度)に影響をあたえるので、他のエフェクトやパラメータに干渉しないので、汎用的でかつ自由度が高くテキスト素材全般に利用できます
本題:Run_AE_CSVtoText.jsxの使いかた
まずは最初にCSVデータの準備します
CSVデータの準備と注意点
CSVデータの注意点としてAfterEffectsで使用するにあたり、最上段の行に何らかのテキストを挿入しないといけません。

上の画像での1行目に”String”と入っているかと思いますが、この部分になります。
文字は空白以外であれば何でもいいのでとりあえず何か書いといていただけると良いかと。
2行目以降の”ありくい”~11行目の”こんどる”までがテキストレイヤーで表示されるテキストソース(表示文言)となります。
A列以外は現状使用しません。
B以降はとりあえず何も入れないでおいてください
このデータはExcelを使用していますが、スプレッドシートでもCSVデータは作成することが出来ます。

同じく1行目は何かしらのテキストを入れます、今回は”Text”を入れています。
スプレッドシートでCSVデータを出力する方法は
ツールバーの「ファイル」の「ダウンロード」→「カンマ区切り形式(.csv)」で出力することが出来ます。

スクリプトの起動
CSVデータが準備出来たら、AfterEffectsを起動して動画の準備をします。
作成したCSVデータもプロジェクト内に読み込んでおきます。
そしてスクリプトの影響を与えるテキストレイヤーを1つだけ選択した状態でスクリプトを起動します
毎度お約束ですが基本的なスクリプトの使い方。
というか起動方法は色々あるんですが、とりあえず一番簡単なやつでAfterEffectから呼び出してみましょう。
AfterEffectのツールバーの「ファイル」→「スクリプト」→「スクリプトファイルを実行…」を開いて
任意のjsx”Run_AE_CSVtoText.jsx“を起動します。

起動すると上の様なウインドウは開きます。
ウインドウが開けない場合以下の条件が整っていない場合が考えられます。
アラートが出ると思いますのでそちらに従ってください。
- プロジェクト内にCSVデータが読み込まれていない
- コンポジションが開かれていない
- テキストレイヤーを1つだけ選択してない(複数は対応してません)
項目「CSVファイルを選択してください」
こちらはテキストレイヤーに使用したいCSVデータを選択します。
プロジェクトに読み込まれているCSVデータが表示されるとおもいますので、そちらから選んでください。
項目「テキスト切り替えキーの間隔(フレーム)」
こちらはテキストを切り替えるタイミングをフレーム数で指定できます。
デフォルトでは1F間隔でテキストが切り替わるように設定されています。
例えば、10Fごとにテキストを切り替えるようにしたい場合はここに10と入力してください。
あとは「実行」ボタンを押下すると、テキストレイヤーに「ポイント制御」エフェクトが追加され、X値とY値にキーフレームが自動で打たれます。

上の画像では「えび」の文言が表示されています。
えびはCSVデータでは5行目にあったので、ポイント制御のX値は”3”ということになります。

X値の数値はCSVデータの1行目(”String”が入っているところ)を除き、その下の
2行目(”ありくい”) ”0”
3行目(”いぬ”) ”1”
4行目(”うま”) ”2”
5行目(”えび”) ”3” ……というように数値が割り当てられます。
どんな動きになるの?
ポイント制御のX値が 0, 1, 2, …と変化するごとに、CSVの各行のテキストが自動で表示されます。
ポイント制御のY値が不透明度の倍率となります。100なら100%となり元の不透明度の値となり、50なら50%で半分の不透明度、0なら0%で透明となります。

上の画像では「けがに」の文言が表示されています。
けがにはCSVデータでは10行目にあったので、ポイント制御のX値は”8”ということになります。
またY値が50になっているので、もともと不透明度80%で表示が、その50%(80%*0.5)となるので不透明度は40%として表示されています。
キーフレームは指定した間隔で自動的に打たれますが、タイムラインで任意で動きのタイミングも簡単に調整できます。
さらに便利なポイント
既に制作されたポイント制御にキーフレームがある場合、キーは上書きされず、CSVに行数が追加されたて足りない場合だけ自動で追加のみ追加されます。
なので一度スクリプトをかけたテキストレイヤーに再度処理をした場合に設定したキーフレームがなくなることはありません。
ソーステキストや不透明度のエクスプレッションはスクリプトが自動で設定してくれるので、エクスプレッションが苦手な方でも安心して使用できます。
CSVデータとポイント制御を組み合わせることで、
大量のテキスト差し替えやデータアニメーションがとても簡単になります!
「手作業で1つずつテキストを差し替えていた…」
「データに合わせて不透明度も連動させたい…」
そんな方にぜひ使ってみていただきたいスクリプトです。
補足
スクリプトを使用すると、新規で「SubcompCSV」という名前のコンポジションが追加されます。
そちらに使用したCSVデータがまとまります。
特に削除しても動作はしますが、
プロジェクト内で複数のCSVデータも使用することができ、スクリプト使用時に追加されたCSVデータを登録します。
管理用として保持いただければと思います。

ダウンロード
BOOTHにてにて販売いしております。よろしくお願いいたします。
【リリース記念セール価格】~2025年6月末日
2025年6月末日まで 390円(JPY) 7月以降は販売予定価格 680円(JPY)を予定しています
おわりに
テキストをCSVファイルのデータで管理し修正もしやすくなるのでテキストを差し替えが格段に楽になるので、個人以外でのAfterEffectsの作業の効率が上がります。まぁたぶん便利だと思うのでよかったら使ってくださいな。
コメント