今回はメッセンジャーをリグします。ユーザーがテキストを入力すると、メッセンジャーのインターフェースが自動的にアニメーションします。
プロジェクト全体でわずか2つのキーフレームしか使いません。
それ以外はすべてエクスプレッションでアニメーションさせます。
ステップバイステップで学ぶ(推奨)か、プロジェクトをダウンロードしてください。すべてのアセットと最終プロジェクトは AEJuice Pack Manager – Newsletter – Messenger で見つけられます。最新のプラグインバージョンへの直接リンクはこちら:

Windows / macOS

テキストレイヤーをアニメーションさせる
まず単一のテキストレイヤーをアニメーションさせましょう。
Controls レイヤーを作成し、Slider を追加します。
Slider を 0 から 100 までアニメーションさせます。
これは、すべてのテキストレイヤーが画面に表示される際に使用する参照アニメーションになります。
当初、私はレイヤーの inPoint をアニメーションの始点として使おうと考えていました。
しかし、受信・送信のどちらのメッセージにも入力中(タイピング)のフェーズがあります。
そのため、inPoint をタイピングの始点として使い、メッセージを Send するためにマーカーを使います。
ユーザーの利便性のためにマーカーのコメントに “Send” を追加しましたが、エクスプレッションには必須ではありません。
考え方としては、マーカーがある場合は inPoint とマーカーの間でタイピングアニメーションを表示します。ただし、マーカーがない場合はすぐにテキストをアニメーションさせます。

-50%
-50%
00時間 : 00 : 00
Happy Holidaysサイト全体セール
今すぐ購入

アニメーションがいつ始まるかを判定するために、ヘルパー関数を書きましょう:
function getAnimationStartTime(layer) {
if (layer == null) layer = thisLayer;
var animationStartTime = layer.inPoint;
var marker = layer.marker;
if (marker.numKeys > 0) {
var markerTime = marker.key(1).time;
if (markerTime > animationStartTime) {

animationStartTime = animationStartTime +
(markerTime – animationStartTime);
}
}
return animationStartTime;
}

後になって、次の部分を簡略化できることに気づきました

animationStartTime = animationStartTime +
(markerTime – animationStartTime);

を次のように
animationStartTime = markerTime;
この関数はさまざまなレイヤーで
何度も再利用します。
後ほど、何度も入力し直さなくて済むようにスクリプトを使う方法をお見せします。
メールでさらにヒントを受け取るにはこちらをクリック。

Our Bestsellers

Our Bestsellers