【Unity/2D】アニメーションの実装手順

Unityで2Dのアニメーションを実装するための最低限の手順メモ。

  1. 画像を用意する
    • パラパラ漫画(Stand, Run, Jumpなど)
    • サイズは2の冪乗にする
    • 背景は透過
  2. 用意した画像をUnityに取り込む(Spriteにする)
  3. アニメーションを適用するゲームオブジェクトを追加する
    • 既存のオブジェクトでもいいし、用意した画像のうちの1枚を使うでもOK
  4. Animator Controllerを作成する
    • プロジェクトウィンドウのAssetsフォルダ配下に作成
    • 右クリック > Create > Animator Controller
  5. ゲームオブジェクトのインスペクターでAnimatorコンポーネントを追加する
    • AddComponent > Animator
    • Controllerにさっき作成したAnimator Controllerを設定
  6. Animationを作成する
    • 対象のゲームオブジェクトを選択している状態で
      メニュー > Window > Animation > Animation
      を選択して、アニメーション編集ウィンドウを開く
    • 状態(Stand, Run, Jumpなど)の数だけアニメーションを作成
  7. Animator Controllerを編集する
    • オレンジ色のボックスがデフォルトモーション。
      右クリック > Set as Layer Default State
      でデフォルトモーションを変更できる。
    • 右クリック > Make Transition
      でアニメーション遷移を繋げる。
      (例)「Stand」→「Run」、「Run」→「Stand」
    • 左側ペインのParametersタブでパラメータを追加する。
      (例)型:Bool、名称:run
    • 繋げた矢印を選択した状態のインスペクターで以下の設定を行う。
      • 「Has Exit Time」のチェックを外す。
        ボタンが押されたら即座に反応してほしいので。
      • 「Settings > Transition Duration」の値を0にする。
        2Dアニメーションの場合、アニメーションの合成をして欲しくないので。
      • 「Conditions」のリストに遷移する条件を追加する。
        (例)「Stand」→「Run」の場合、run = true
        (例)「Run」→「Stand」の場合、run = false
  8. スクリプトでパラメータを制御する
private Animator anim = null;
void Start()
{
    anim = gameObject.GetComponent<Animator>();
}

void Update()
{
    if (<走り出す条件>)
    {
        anim.SetBool("run", true);
    }
    else if (<立ち止まる条件>)
    {
        anim.SetBool("run", false);
    }
}

コメント

タイトルとURLをコピーしました