複数のエクスプレッションを組み合わせて作る!高度なループ&弾むアニメーション演出
- 喜美雄 山本
- 5月22日
- 読了時間: 3分
MVやモーショングラフィックスで「単なるループ」では物足りない、もっと動きに表情やリズム感がほしい――そんな時は、複数のエクスプレッションを組み合わせることで、より高度なループ演出が実現できます。この記事では、After Effectsでよく使われるloopOut・wiggle・**バウンス(弾み)**などのエクスプレッションを組み合わせ、プロっぽいアニメーションを作る方法を初心者にもわかりやすく解説します。
1. ループ系エクスプレッションの基礎
After Effectsのループ表現は主に**loopOut()**で実現できます。
· l loopOut("cycle") :キーフレーム間の動きをそのまま繰り返す
· loopOut("pingpong"): :往復運動 (例: 振り子や波)
· loopOut("offset") :繰り返すたびに値を加算していく
2. 複数エクスプレッションを組み合わせるメリット
· 単調なループに“揺れ”や“弾み”を加えて自然な動きに
· 複数の動きを重ねて、より複雑でリッチなアニメーションに
· 工夫次第で、手作業では難しい演出も自動化できる
3. 実践!loopOut+wiggle+バウンスの組み合わせ例
例1:ループ+wiggleで「揺れるループ」
たとえば、キャラクターの手を振る動きをループさせつつ、自然な“手ブレ”感も加えたい場合。
// loopOutとwiggleを合成loop = loopOut("pingpong");wig = wiggle(2, 10);loop + wig - value
例2:ループ+バウンス(弾み)で「弾力のあるループ」
バウンス(弾む)動きを加えるには、スケールや位置プロパティにバウンス系エクスプレッションを追加します。たとえば、スケールに「弾む」動きを加えつつ、ループもさせたい場合:
// ループ部分loop = loopOut("cycle");// バウンス部分(例)freq = 3;decay = 4;t = time - inPoint;bounce = Math.exp(-decay t) Math.cos(2 Math.PI freq t);// 合成[loop[^0] (1 + bounce), loop[^1] * (1 + bounce)]
このように、ループの値にバウンスの係数を掛けることで、繰り返しながら弾む動きが作れます。
例3:loopOut+wiggle+valueAtTimeで「遅延付き多重ループ」
複数レイヤーで少しずつ動きをずらしたい場合は、 valueAtTime() を組み合わせて遅延を加えます。
delay = index * 0.1;loop = loopOut("cycle");wig = wiggle(2, 10);loop + wig - value +
valueAtTime(time - delay)
4. 実用例:Elastic Distortion Controllerスクリプトの応用
前回紹介した「Elastic Distortion Controller」スクリプトでは、
· スケールにバウンス+伸縮エクスプレッション
· CC Bend ItのBendにwiggleエクスプレッション
· ループ再生したい場合はloopOutを追加といった形で、複数のエクスプレッションを自動で組み合わせています。
これにより、一度の設定で“弾む+揺れる+繰り返す”複合アニメーションが実現できます。
5. コツと注意点
· エクスプレッションの順序や合成方法によって動きが大きく変わるので、プレビューで必ず確認しましょう[4]。
· 複数の動きを重ねすぎると破綻することもあるので、少しずつ調整するのがコツ。
まとめ
複数のエクスプレッションを組み合わせれば、After Effectsのループアニメーションは無限に進化します。「ループ+揺れ」「ループ+弾み」「遅延付き多重ループ」など、アイデア次第で表現の幅は大きく広がります。まずは基本のloopOutやwiggleから始めて、少しずつ組み合わせにチャレンジしてみてください!
次回は、エクスプレッションを使ったMV演出アイデア集や、実際のMVでの活用事例を紹介します!お楽しみに!
⁂
Comments