
前回のパートでは、鳥がジャンプの仕方を覚えました。
今日は走り方を教えましょう。
Run
走りは繰り返しのスプライトの連続なので、便宜上、それらを1つのレイヤーにまとめます。
3フレームの長さのコンポジション Run を作成し、走っているスプライトを順番に並べます(AEJuice Pack Manager – Newsletter – Rig Bird Game から Run をインポートします)。
Pro tip:3フレームの代わりに6フレームのコンポジションを作成し、各スプライトを2フレームずつ伸ばすこともできます。そうすると、キャラクターの脚の動きがよりゆっくりになります。
Run コンポジションをメインコンポジションに追加し、コントロールにアタッチして、Character の別のレイヤーから位置をコピーします。
走りのアニメーションをループさせます。Time Remap(Ctrl+Alt+T)に、次のように記述します
oopOut()
これはコンポジションなので、最後のキーの前にキーを作成し、最初のキーを最後のキーの位置にコピーすることでサイクルを修正します。
Pro tip:当社の Pack Manager を使うこともできます – 稲妻アイコンを押す – Loop。これで最後のキーフレームの問題が自動的に処理されます。
Run レイヤーは、次の条件の場合に表示されるべきです:
– Character が動いている
– Character がジャンプしていない
– Character がジャンプしていない
Character が動いているかどうかを判断するために、次のエクスプレッションを使用します:
position.speed
今後、スピードの値を確認できると便利なので、これ専用の別の Slider Control を作成します(約束します、これが最後です)。
新しいスライダーに [Speed] という名前を付けて、エクスプレッションを追加します:
position.speed
これで [Character] エクスプレッションを更新できます:
Land = effect(“Land level”)(“Slider”); //ground level
y = transform.yPosition; //bird’s y position
Speed = effect(“[Speed]”)(“Slider”); //bird’s speed
D0 = transform.scale[0]; //scale at current frame
D3 = transform.scale.valueAtTime(time+3*thisComp.frameDuration)[0]; //scale in 3 frames
y = transform.yPosition; //bird’s y position
Speed = effect(“[Speed]”)(“Slider”); //bird’s speed
D0 = transform.scale[0]; //scale at current frame
D3 = transform.scale.valueAtTime(time+3*thisComp.frameDuration)[0]; //scale in 3 frames
if (y < Land) 1 //if character is higher than ground then 1
else if (D0 != D3) 3 //other cases and if the turn is soon
else if (Speed != 0) 2 //other cases and if character is moving then 2
else 0 //all other cases 0
else if (D0 != D3) 3 //other cases and if the turn is soon
else if (Speed != 0) 2 //other cases and if character is moving then 2
else 0 //all other cases 0
そしてこれを Run の opacity に追加します:
character = thisComp.layer(“Control”).effect(“[Character]”)(“Slider”);
if (character == 2) 100
else 0
else 0
ここで After Effects のバグを見つけました。X Position の値だけを変更すると、Y Position の値もわずかに変化してしまいます。
これを修正するには、次元を分離する必要があります。

また、スライダー [Speed] を更新します
position.speed

また、スライダー [Speed] を更新します
position.speed
を次のように
transform.xPosition.speed
これで鳥が走れるようになりました。

あとは鳥に振り向き方を教えるだけです。また明日お会いしましょう。
Part 1
Part 3
メールでさらにヒントを受け取るにはこちらをクリック。
