イトウ先生のTips note【AfterEffects 2020】エクスプレッション・text
こんにちは、イマジカデジタルスケープの伊藤和博です。
今週は、2019年最後のブログとなりましたが、AfterEffects 2020から新機能で「エクスプレッション・text」をご紹介します。
AfterEffects 2020から、エクスプレッション言語メニュー内に【text】が新設されました。このテキストメニューの新設によって、テキストレイヤーの文字そのものだけでなく、そのレイヤーの様々なスタイルを取得・コントロールすることが可能になりました。
取得した値を使って、様々なアニメーションに活用することが可能になりますが、今回はこの新設されたメニューから取得できるプロパティとその取得の仕方をご紹介します。
●さっそくやってみよう!
まずは、空のテキストレイヤーを作成し、ソーステキストにエクスプレッションを適用します。text < sourceText、を選択すると、sourceTextの文字列をエクスプレッションに返すだけ、となり、text < Font…を選択すると、表示されたウインドウ内で指定したフォント名を取得することが可能です。
テキストのスタイルに関するプロパティを取得する場合は、text < Properties < Propertiesから必要なプロパティを選択します。
ただし、空のテキストレイヤーには、何の文字もないため、取得するものがありません。そこで、これらは何らかの文字を入力している別のテキストレイヤーがあり、そのレイヤーで使っている文字のプロパティを取得する、という場合に使用しますが、まずはどのようなプロパティの種類があるのか?をご説明します。直接記述する場合は、【text.sourceText.style】までは共通で、次に取得したいプロパティを記述します。
取得できる値 text.sourceText.style. text.sourceText.style.font; text.sourceText.style.fontSize; text.sourceText.style.fillColor; text.sourceText.style.strokeColor; text.sourceText.style.strokeWidth; text.sourceText.style.tracking; text.sourceText.style.leading; |
プロパティ 現在のテキストレイヤースタイル(の、が、に) フォント名を返す フォントサイズを返す 塗りのカラー値を返す 線のカラー値を返す 線幅(px)を返す トラッキング値を返す 行送り値を返す |
なお、塗りと線のカラー値は、0~1.0の範囲でRGBそれぞれの値をカンマ区切りで返します。
以下は、ブール値を取得します。
取得できる値 text.sourceText.style.isFauxBold; text.sourceText.style.isFauxItalic; text.sourceText.style.applyFill; text.sourceText.style.applyStroke; text.sourceText.style.autoLeading; |
ブール値(True または False) 太字であるかどうか 斜体であるかどうか 塗りが適用されているかどうか 線が適用されているかどうか 自動行送りがオンまたはオフ |
文字ツールで、AfterEffectsと入力したテキストレイヤーを新規で作成し、空のテキストレイヤーのソーステキストに、以下のようにエクスプレッションを書きます。
thisComp.layer("AfterEffects").text.sourceText.style.font;
すると、AfterEfectsの文字レイヤーで使っているフォント名を、空のテキストレイヤーの方に文字として返します。
●set関数
それぞれのプロパティやブール値を【取得】するのではなく、エクスプレッションで【指定】する場合はset関数を使用します。
text.sourceText.style.に続けて・・ | 現在のテキストレイヤースタイル(の、が、に) |
setFont(“Myriad Pro”); | フォントを”Myriad Pro”にする |
setFontSize(200); | フォントサイズを200にする |
setBaselineShift(10); | ベースラインシフト値を10にする |
setApplyFill(true); | 塗りをオンにする |
setFillColor([1.0,1.0,1.0]); | 塗りのカラーを指定する(setApplyFill(true); の時に使用) |
setApplyStroke(true); | 線のカラーをオンにする |
setStrokeColor([1.0,1.0,1.0]); | 線のカラーを指定する(setApplyStroke(true) ;の時に使用) |
setStrokeWidth(10); | 線幅を10にする |
setLeading(100); | 行送り値を100にする |
setAutoLeading(true); | 自動行送りをオンにする |
塗りと線のカラーは、hexToRgb(“00FF00”)メソッドと組み合わせると、CSSでおなじみの16進数で指定が可能ですので・・
setFillColor(hexToRgb(“00FF00”)); setStrokeColor(hexToRgb(“FF0000”)); |
塗りのカラーを緑(00FF00)にする 線のカラーを赤(FF0000)にする |
という指定が可能になります。AfterEffectsの文字レイヤーのソーステキストにエクスプレッションを設定し、以下のように書きます。
text.sourceText.style.setFillColor(hexToRgb("00FF00"));
塗りのカラーを緑にすることが可能です。
●createStyle()でスタイル変数の作成
また、新しく搭載されたcreateStyle()メソッドを使うと、テキストスタイル変数を作成することが可能です。あらかじめcreateStyle()でスタイル変数を生成しておき、そのスタイルにset関数を使用することで、個々のスタイルを追加していきます。
スタイル生成 text.sourceText.createStyle(); |
この後、Set関数で個々のスタイルを指定 |
例 var x = text.sourceText.createStyle(); var y = x.setFontSize(200); var z = y.setFont(“Myriad Pro”); z; |
xにスタイル生成 xにSet関数でフォントサイズ200を指定し、yに代入 yにSet関数でフォント名”Myriad Pro”を指定し、zに代入 zの呼び出し |
空のテキストレイヤーを削除するか非表示にし、AfterEffectsの文字レイヤーの、ソーステキストにエクスプレッションを以下のように書き換えます。
var x = text.sourceText.createStyle(); var y = x.setFontSize(200); var z = y.setFont("Myriad Pro"); z;
なお、変数を省略し、createStyle()の下層に直接set関数を書くことも可能です。
text.sourceText.createStyle().setFontSize(200).setFont(“Myriad Pro”); |
createStyle()を使用する場合は変数にし、他でも利用できる形にしておくと便利ですが、文字レイヤーが1つしかなく、わざわざ変数を使う必要がない場合は、createStyle()を使わずにそのまま書くことも可能です(以下のソースを1行につなげて書いてみてください)。
text.sourceText.style.setFillColor(hexToRgb(“700491”)) .setApplyStroke(10).setStrokeWidth(20).setStrokeColor(hexToRgb(“FF00E4”)) .setFontSize(200); |
今回のこのバージョンアップによって、フォント、フォントサイズ、ベースラインシフト、塗りと線のONOFF、カラー、線幅、行送り値など、いわゆる文字パネル上で行う編集内容そのものが、エクスプレッションで制御できるようになりましたので、set関数の()の内側に、エクスプレッション言語メニューの中にあるtimeなどを組み合わせて使用したり他から値を参照することで、例えば・・
text.sourceText.style.setStrokeWidth(20+time*250);
のように指定すると、20pxの線幅が時間と共に太くなり、次第に背景を埋め尽くす、というようなアニメーションも可能になります(ちなみにAfterEffectsでのテキストへの最大線幅は1000pxになりますので、1000pxまでの線幅アニメーションが可能です)。(約5秒。音はなりません)
ソーステキストの上で右クリックし、キーフレーム補助 < エクスプレッションをキーフレームに変換、を選択した後、全てのキーフレームを選択して、キーフレーム補助 < 時間反転キーフレームでリバース再生すると、以下のように背景色が次第にテキストの線幅になる、ということも可能になります(約8秒。音はなりません)。
これまでのAfterEffectsでは、アニメータプロパティで行うか、またはアウトライン化した文字であれば様々なアニメーションにすることが可能でしたが、今回のこのテキストへのエクスプレッションの搭載により、テキストのまま、スタイルをコントロールすることで様々なアニメーションに応用することが可能になりました。オープニングやテロップなど様々なアニメーションに応用可能かと思いますので、ぜひアップデートがまだの方はアップデートして使ってみてください。
それでは、2019年、一年間お読みいただき、誠にありがとうございました。どうぞよいクリスマス、年末年始をお過ごしください。来年もどうぞよろしくお願いいたします。
この記事を読んだ方にオススメの講座はこちら!
▼AfterEffects CC 2018の使い方・基本トレーニング
▼AfterEffects CC 2014の使い方・実践トレーニング
イトウ先生のTips noteアーカイブ【2016年~】
○Illustrator CC 2015:ダイナミックシンボル
○Illustrator CC 2015:画像に書き出し・アセットの書き出し
○Illustrator CC 2017:サンプルテキストと異体字のコンテキスト表示
○Illustrator CC 2017:画像の切り抜き
○Illustrator CC 2018:バリアブルフォント
○Illustrator CC 2018:パペットワープ
○Illustrator CC 2018:変数パネルを使用したデータ結合・1
○Illustrator CC 2018:変数パネルを使用したデータ結合・2
○Illustrator CC 2018:テキストのデザインセット
○Illustrator CC 2018:新しくなったアートボード操作
○Illustrator CC 2019:フリーグラデーション
○Illustrator CC 2019:コンテンツに応じた切り抜き
○Illustrator CC 2019:グローバル編集
○Illustrator CC 2019:トリミング表示とプレゼンテーションモード
○Illustrator 2020:自動スペルチェック
○Photoshop CC 2015:かすみを除去する
○Photoshop CC 2015:クイック書き出し
○Photoshop CC 2015:遠近法ワープ
○Photoshop CC 2015:顔立ちを調整
○Photoshop CC 2015:切り抜きのコンテンツに応じた塗りつぶし
○Photoshop CC 2015:マッチフォント
○Photoshop CC 2017:OpentypeSVGフォント
○Photoshop CC 2018:対称ペイント
○Photoshop CC 2018:被写体を選択
○Photoshop CC 2018:球パノラマ編集
○Photoshop CC 2018:曲線ペンツール
○Photoshop CC 2018:範囲マスク
○Photoshop CC 2019:フレームレイヤー
○Photoshop 2020:オブジェクト選択ツール
○InDesign CC 2015:字形を簡単に選択
○InDesign CC 2015:スタイルオーバーライドハイライター
○InDesign CC 2017:脚注の段抜き
○InDesign CC 2018:段落の囲み罫
○InDesign CC 2018:段落囲み罫の結合
○InDesign CC 2018:目次の強制改行を削除
○InDesign CC 2019:内容を自動認識に応じて合わせる
○InDesign CC 2019:同一設定段落の間隔
○InDesign CC 2019:表に脚注を追加する
○InDesign CC 2019:レイアウトを調整(フォントサイズを調整)
○AfterEffects CC 2015:タイムチューナー
○AfterEffects CC 2015:AIデータはレイヤーに分配で取り込む
○AfterEffects CC 2015:プレビューのコントロール
○AfterEffects CC 2015:スクリプト
○AfterEffects CC 2015:新しくなったMAXON CINEMA 4D Exporter
○AfterEffects CC 2015:マスクリファレンス
○AfterEffects CC 2015:スムーザー
○AfterEffects CC 2015:立体の旗を作る・1
○AfterEffects CC 2015:立体の旗を作る・2(CINEMA 4Dレンダラー)
○AfterEffects CC 2017:強化されたライブテキストテンプレート
○AfterEffects CC 2017:日付のトークン
○AfterEffects CC 2017:マーカーデュレーション
○AfterEffects CC 2017:他のレイヤーのエフェクトをプリコンポーズ無しで参照する
○AfterEffects CC 2017:拡張された平面フォルダ
○AfterEffects CC 2017:レイヤーのあるコンポジションに変換
○AfterEffects CC 2017:現在のフレームから静止画を作る
○AfterEffects CC 2017:最後のフレームでフリーズ
○AfterEffects CC 2017:サウンドの振幅を他のレイヤーで活用する、オーディオ振幅
○AfterEffects CC 2017:カンマ区切りの文字列をランダムに表示する
○AfterEffects CC 2017:CC Light Raysとトラッカー
○AfterEffects CC 2018:パスからヌルを作成
○AfterEffects CC 2018:モーショングラフィックステンプレート
○AfterEffects CC 2018:マスタープロパティ
○AfterEffects CC 2018:プロパティリンクのピックウィップ
○AfterEffects CC 2019:レスポンシブデザインー時間
○AfterEffects CC 2019:パペットベンドピン
○AfterEffects CC 2019:Mocha AE CC プラグイン
○AfterEffects CC 2019:Animate CC FLAファイルの読み込み
○AfterEffects CC 2019:コンテンツに応じた塗りつぶし
○AfterEffects CC 2019:トレイル(オニオンスキン)
○AfterEffects CC 2019:スネークケースとキャメルケース
○AfterEffects CC 2019:エクスプレッションを使った点灯・点滅
○AfterEffects 2020:エクスプレッション・text
○Premiere Pro CC 2015:デュレーションの補間方法
○Premiere Pro CC 2015:Liveテキストテンプレート
○Premiere Pro CC 2015:インジェスト設定とプロキシ
○Premiere Pro CC 2015:オープンキャプション(字幕)
○Premiere Pro CC 2017:VRワークフロー・その1
○Premiere Pro CC 2017:VRワークフロー・その2
○Premiere Pro CC 2017:グラフィッククリップとエッセンシャルグラフィックスパネル
○Premiere Pro CC 2017:キーボードショートカット
○Premiere Pro CC 2018:レスポンシブデザイン
○Premiere Pro CC 2018:複数のプロジェクトを同時に開く
○Premiere Pro CC 2018:スマホで撮ったビデオ(VFRビデオ)のサポート
○Premiere Pro CC 2018:自動ダッキング
○Premiere Pro CC 2018:比較表示と自動カラーマッチング
○Premiere Pro CC 2018:自動ラウドネス
○Premiere Pro CC 2019:ベクトルモーションコントロール
○Premiere Pro CC 2019:新しくなったアピアランス
○Premiere Pro CC 2019:ガイド
○Premiere Pro CC 2019:マスクトラッキングの高速化
○Premiere Pro CC 2019:クロマノイズ除去
○Premiere Pro CC 2019:フリーフォーム表示
○Premiere Pro 2020:オートリフレーム