CG・映像デザイナー技術ブログ

【After Effects】エクスプレッション作成の為のTIPSまとめ

本記事ではAfter Effectsに関する実際に使ってみて便利だったエクスプレッションをまとめて紹介いたします。

この記事の著者
CGブロガー すいみん

CGブロガー

すいみん

Suimin

プロフィール

某美大の油絵科を卒業後、大手CG映像プロダクションに入社。
その後ゲーム業界に転職。
現在は技術系のCGデザイナーをしています。 書籍:Unity デザイナーズ・バイブル
プロフィール詳細はこちら

AE:エクスプレッションのデバッグログを表示する方法

エクスプレッション書いているとこの値、取得できているかなーと確認したいことがあります。

いちいちテキストへ値を表示させてもよいのですが、ESTKにログを表示させる設定をしてみました。

STEP.1
AEを起動しCtrl+Alt+;から環境設定を開きます
STEP.2
環境設定をエクスプローラーで表示
STEP.3
設定が上書きされないように、まずはAEを閉じます

AEを開きっぱだと、あとで閉じた時に環境設定が保存されてもとに戻ってしまうので注意

STEP.4
環境設定のテキストを開き下記のパラメーターを1に変更します

C:\Users\<ユーザー名>\AppData\Roaming\Adobe\After Effects\バージョン\Adobe After Effects バージョン 環境設定.txt

192行目のEnableExpressionsDebuggingAtYourOwnRisk” = 1にします

STEP.5
あとはAEを起動しAdobe ExtendScript Toolkit CCも起動しておきます
STEP.5
テキストを作成して下記のエクスプレッションを挿入

str="CGメソッド"; $.writeln(str);

以上です、ESTKのコンソールにログが表示されます!

エクスプレッションで詰まった時にデバッグログを確認できるのはとても便利ですね!

ちなみに毎フレーム、ログが吐き出されるので扱いには注意したほうが良いです。

参考 エクスプレッションをESTKでデバッグAEP Project

AE:エクスプレッションを外部参照する方法

エクスプレッションを外部参照できると知りまして、試してみました。

外部参照エクスプレッション

  • まず適当な場所(デスクトップ)に下記の内容のテキストを作成
var text1="おはよう";
var text2="こんにちは";
var text3="おやすみ";
  • AEを立ち上げ、テキストを作成し、ソーステキストのエクスプレッションを作成(目玉マークをAlt+クリック)下記のエクスプレッションを挿入
    ※パスのバックスラッシュは1個ではなく、2個つけていくこと!
$.evalFile ("file://C:\\Users\\min\\Desktop\\text.txt");
text.sourceText=text1;

これでおはようと表示されます

$.evalFile ("file://C:\\Users\\min\\Desktop\\text.txt");
text.sourceText=text3;

とするとおやすみと表示されます。

ちなみにMACの場合は

$.evalFile ("/work/text.txt");
text.sourceText=test1;

というようなパスになります。

カラーの値の場合

RGBの値は変数を下記のような感じで入力すると簡単です。

var color1=[255,0,0,255]/255;
var color2=[0,255,0,255]/255;
var color3=[0,0,255,255]/255;

スライダーの値で変数を変化をさせる場合

  • ヌルを作成し、エフェクト>エクスプレッション制御>スライダー制御を作成
  • テキストのエクスプレッションは下記を参考
num = thisComp.layer("ヌル 1").effect("スライダー制御")("スライダー");
$.evalFile ("file://C:\\Users\\min\\Desktop\\text.txt");
if (num == 1) text.fillColor=text1;
if (num == 2) text.fillColor=text2;
if (num == 3) text.fillColor=text3;

*あとはスライダーの値を変えていくとテキストの内容が変化します。

コンポジション名で変数を変化させる場合

コンポジション名(例:コンポ1とか)を取得して(アンダーバー)で区切って、右側の数字を取得、数字が一致したら、値が変化

var str = thisComp.name.split("_")[1];
num = Number(str);
$.evalFile ("file://C:\\Users\\min\\Desktop\\text.txt");
if (num == 1) text.sourceText= text1;
if (num == 2) text.sourceText= text2;
if (num == 3) text.sourceText= text3;

いまのところ実用的な方法がそこまで思いつかず。
外部から変化する値(天気とか)をこのように外部参照して、動画出力するなどしても面白いかもしれません。

参考 エクスプレッションの外部ファイル化AfterEffects compZero

以上、すいみん(@cg_method)でした!

After Effectsに関する参考記事・ツール・書籍のまとめ

After Effectsに関する記事を下記にまとめました。



aftereffects-summary-article


作業効率化!After Effectに関する動画制作まとめ

After Effectsのソフトウェア購入


eyecatch-buy-adobe-creative-cloud
【Adobe Creative Cloud】最安!アドビ認定スクールから購入する方法(+講座付き)

After Effectsの参考書籍

assistant すいみん

最初の教科書にするならこの本です!

assistant すいみん

この本見ながらエフェクトを触っているとより身につきます!

assistant すいみん

Premiere Pro版もあります。YouTuber向け!

assistant すいみん

このシリーズ3冊あるのですが、アニメの技法って特殊で面白いので引き出しを増やしたい方向けに!

After Effectsの参考書籍

assistant すいみん

AfterEffects慣れてくると効率化も考えるようになると思いますが、まずはエクスプレッションを覚えましょう!