授業レジュメ-06 ループ処理「移動課題」②

1.AfterEffectsでエクスプレッションを使おう

AfterEffectsの中でコードを使用できます。コードを使うことで単純作業などを自動化できます。これを「エクスプレッション」と言います。

1-1.腕を振る動作で使える: loopOut

たとえばloopOut() は、「打ってあるキーフレームの終わりまでいったら、最初に戻って(または繰り返して)再生する」というエクスプレッションです。

キャラクターの腕の振り(往復運動)を作る場合、主に次の2種類の引数(ひきすう)のうち、どちらかを使います。

① 往復ループ:loopOut("pingpong")

腕の振りのように、「行って、戻る」動きに最適です。

  • 仕組み: キーフレームを「前へ振る > 後ろへ振る」まで作ると、その後は自動的に「前へ > 後ろへ > 前へ…」とピンポン玉のように往復してくれます。
  • メリット: 往復分のキーフレームを打つだけで済むので、歩行サイクルの作成が楽になります。

② 単純ループ:loopOut("cycle")

最初のキーフレームから最後のキーフレームへの動きを、「時計の針」のように一方向に繰り返すエクスプレッションです(※デフォルトの設定なので、単に loopOut() と書くだけでもこれになります)。

  • 仕組み: 最後のキーフレームに達すると、瞬時に最初のキーフレームの位置に戻って再生を繰り返します。
  • 使いどころ: タイヤの回転や、背景の雲が右から左へ流れて画面外に消え、また右から出てくるような動き(先ほどの背景ループなど)に使います。

やり方(腕の振りの場合)

  1. 腕レイヤーの「回転(Rotation)」を使い、1.開始位置 → 2.前振りなど、片道分のキーフレームを2点打ちます。
  2. Altキーを押しながら、「回転」の左側にあるストップウォッチ型のアイコンをクリックします。右側の数字が赤くなります。
  3. タイムラインにテキスト入力欄が現れるので、半角英数でコードを入力します。loopOut("pingpong")

1-2. タイヤの回転で使える:time

time は、「現在の時間(秒数)」の数値をそのままプロパティに代入するエクスプレッションです。キーフレームを1つも打たずに、ずっと一定の速度で動かしたいときに使います。

コンポジションの時間が 1秒のときは 1、5秒のときは 5 という数値が自動で入ります。これに算数の計算(掛け算など)を組み合わせて速度を調整します。

よく使う書き方(掛け算 )

単に time とだけ書くと、1秒間に1ピクセル(または1度)しか動かないため、動きが遅すぎます。そのため、通常は後ろに数値を掛け合わせます。

  • time * 100 = 1秒間に 100(ピクセルまたは度)ずつ数値が増える。
  • time * -50 = 1秒間に 50ずつ数値が減る(逆方向に動く)。

使いどころ

  • 車輪や歯車の回転:
    「回転」に time * 360 と書けば、1秒間にぴったり1回転(360度)し続けます。

2.背景を工夫しよう

2-1.視差効果

自然に見せるための「視差(パララックス)」の工夫

山や空などの大自然を舞台にする場合、すべての背景が同じ速度で動くと、平面的で不自然な印象になってしまいます。現実の風景と同じように、「遠くのものは遅く、近くのものは速く」動かすパララックス(視差効果)を取り入れましょう。

たとえばレイヤーを以下のように分けて、流れる速度(キーフレームの移動量)を調整します。

レイヤーの階層具体例動きの速度工夫のポイント
最背面(遠景)空、太陽、月ほぼ動かさない(または極めて低速)雲だけをわずかに左へ動かすとリアルになります。
背面(中景)遠くの山、地平線低速(ゆっくり左へ)わずかに位置を変化させます。
中面(近景)近くの木、電柱、道高速(素早く左へ)キャラクターの歩行速度(足の接地感)と速度を合わせます。

投稿日

カテゴリー:

投稿者: