リヨスケのチラシ裏

学んだことを書き留めていく自分のための技術メモです。

【Unity】Mecanimでアニメーションを作成した雑メモ

Mecanimシステムを使ってアニメーションを作成したときに触ったものをメモります。

 

Animation Clipを作成する

  1. アニメーションを設定したいオブジェクトを選択した状態で、ツールバーの「Window」→「Animation」
  2. 画面真ん中らへんにある「Create」ボタンをクリックして任意の名前で保存(Animation Clipが作成される)

    f:id:riyosuke_13:20180401203101j:plain

    すでにAnimation Clipがあり、新しく追加する場合は、Animationウィンドウ左上のドロップダウンリストから「Create New Clip」を選択し、任意の名前で保存する
  3. 「Add Property」から「Sprite Renderer」を選択
    スプライトをプロジェクトビューからドラッグ&ドロップし、任意の時間の場所にキーフレーム(Keyframe)をセットする
最後のに追加するスプライトは、持続させたい時間の後にもう一つ同じものをセットさせてやる必要があります。

 

AnimatorウィンドウでAnimation Clipの遷移を管理する

Animatorウィンドウを開く(以下のいずれかの方法で)
  • ツールバーの「Window」→「Animator」
  • プロジェクトビューのいずれかのAnimation Clipをダブルクリック

    f:id:riyosuke_13:20180401203107j:plain

最初から用意されている「Entry」「Any State」「Exit」の3つのノードがあります。

  • Entry:アニメーションを開始するときはEntryノードから遷移する
  • Any State:現在の状態にかかわらずに特定のアニメーションに遷移したいときに使用する
  • Exit:アニメーションを終了させる場合はExitノードに遷移する

初期位置だとExitノードはやたら遠くにあるので画面が小さい場合は見えないかもしれないので、動かして確認します。(気づかずにちょっとハマりました。。。)
すでにAnimation Clipが存在している場合は、それらもAnimationウィンドウに表示されます。(画像の中だと「Walk」と「Jump」)

1Animation Clipにつき1ノードですね。

 

ノードをつなぐ

遷移元のノードを右クリック→「Mate Transition」を選択すると、矢印が伸びます。

この状態で遷移先のノードをクリックすると遷移ができるようになります。

この矢印を選択した状態でインスペクターから詳細な設定が可能です。

f:id:riyosuke_13:20180401204354j:plain

 

 条件を満たしたときに遷移させる

  1. Animatorウィンドウ左上の「Parameters」タブを開くf:id:riyosuke_13:20180401204351j:plain
  2. 「+」ボタンをクリックし「Trigger」を選択し、任意の名前を付ける
  3. 遷移条件を設定したい矢印をクリックして選択し、インスペクターの「Conditions」の「+」をクリック

    f:id:riyosuke_13:20180401204823j:plain

  4. リストの中から作成したTriggerを選択する

 

このTriggerをスクリプトで呼び出す場合は、AnimatorコンポーネントのSetTrigger関数を使用します。

あらかじめAnimatorを宣言し、初期化しておいて以下のように呼び出したいTriggerの名前を引数に渡してやるとTriggerを起動?することができます。

this.animtor.SetTrigger("呼び出したいTriggerの名前");

 

 

とりあえず触ったもののメモ程度なので、Animationについてきちんと調べるのはまた今度。