読者です 読者をやめる 読者になる 読者になる

Flasherからみた、Unityアニメーションの特徴

Unity

良い点

  • アニメーションと、GameObject(FlashでいうMC)は独立しているので、複数のGameObjectで、同じタイムラインの使い回しができる。
  • 複数のアニメーションのクロスフェードができる。
    • 例) animation.CrossFade("Walk", 0.2);

悪い点

  • Flashでいうクラシックトゥイーンはない。モーショントゥイーンのみ。
  • コマアニメは、できるけど、苦手。
  • 複数階層をいじりにくい。(いちおういじれる)
  • モーションパスを使ったTweenは、iTween+iTweenPathを使う感じかも。

良くも悪くもないけど特徴

  • ローカル座標モードと、ワールド座標モードがある。
    • ゲームオブジェクトに入れ子にすることで、相対座標アニメーションになる。
    • (Flashでもあるけど、Unityの方が間違えやすい。)

これで何が出来るのか

機能だけ見ても、何が出来るのかイメージ出来ないと思います。
俯瞰してみて、ゲームに特化した、アニメーション機能だという印象です。
具体的にどういったシーンで使えるのか、例を挙げてみようと思います。

  • アバターのアニメーションが簡単。

アニメーションと、GameObjectが独立しているので、複数のキャラクターで同じアニメーションを使いまわせます。
"ArmL","ArmR"など、名前さえ同じなら、子階層まで再帰的に、同じアニメーションが適用されます。
たとえば、DSのドラクエ9のキャラクターアニメーションなんかをUnityで作れるということです。
いやー、Flashのときは、MCの中身を入れ替えてた。Unity簡単。

  • ユーザーの動作に合わせて、スムーズにアクションを変えられる。

クロスフェードは、歩いてる途中の動作から、スムーズに攻撃モーションに移れる。
ユーザーのアクションに応じて動きを変えるアクションゲームなどでは、
歩いている途中で、攻撃モーションにはいらなければいけないときなど多々あります。

Flashだと、諦めて、カクっと、次の
gotoAndPlay("Atack");
をするしか無かった。(やろうと思えば出来たけど)

Unityでは、
animation.CrossFade("Atack");
で、現在の位置から線形補間しながら、攻撃モーションに入ります。便利。