【Unity】2Dアニメーションの作り方 Animator Controller, Animation Clipの切り替え
Unity 2021.1.0f1 Personal(2021年4月)
過去記事をアップデートしたついでに続きの記事を書きました!
Spriteを使った2Dアニメーションについて解説します。
以前の記事はこちら。
hiyotama.hatenablog.com
本記事はパラパラ漫画のようなコマ送りのアニメーションを取り扱います。
Unity2018から始まったボーンを使った最新の2Dアニメーションについてはこちらのシリーズをご参照下さい。
hiyotama.hatenablog.com
Animationビューでアニメーションフレームを調整
前回最後に作成したのはひよこが羽ばたくアニメーションでした。
こちらのアニメーション、デフォルトではスピードが早すぎるので調整していきます。
まずはAnimationビューを開きます。
0:00と0:01の2フレーム登録されております。
左の0は秒数を、右の00や01はフレーム数を表しています。
デフォルトでは12フレームで1秒となっていますが、今回のアニメーションだと例えば4フレームで1秒くらいがちょうど良さそうです。
こちらの記事を参考に、コンテキストメニュー > Show Sample Rateを選択します。
Show Sample Rateにチェック
するとSamplesという項目が出現するので、そちらに4と入力します。
Samplesに4と入力
無事サンプルレートが4に変わり、1秒間に4フレームのアニメーション速度となりました。
サンプルレートが変わる
アニメーション速度変わる
Animation Clipを切り替える
続いてAnimator ControllerからAnimation Clipを切り替えていきます。
まずはAnimationビューに戻り、Flyと書かれている箇所をクリックして下さい。
すると「Create New Clip...」とあるのでクリックし、「Cry」という名前のAnimation Clipを作成します。
「Cry」Animation Clipを新規作成
こちらのアニメーションもサンプルレートは4に変更します。
「Cry」Animationのサンプルレートを4に設定
完了しましたら各フレームにSpriteを設定していきます。
ドラッグ&ドロップで指定できるので、
0フレーム目:hiyoko_02
1フレーム目:hiyoko_03
のSpriteを指定します。
各フレームにSpriteを指定
完了しましたらAnimationビューの再生ボタンを押して動作確認してみます。
無事アニメーションしました。
続いてWindow > Animation > AnimatorからAnimatorビューを開きます。
Animatorビュー
FlyとCryのAnimation Clipが確認できます。
Animatorの詳細については過去記事をご参照下さい。
まずはBool型のParameter「Cry」を作成します。
Parametersを選択しBool型で変数作成
名前をCryとする
続いてTransitionを作成します。まずはFly→Cryから。
Flyを選択し右クリック→Make Transition
Cryに繋げます
作成したTransitionの矢印をクリックしてInspectorで遷移条件を設定していきます。
Has Exis Time: false
Transition Duration: 0
に変更し、
Conditionsに
Cry: true
を追加します。
Fly→CryのTransition設定
同じ要領でCry→FlyのTransitionも作成・設定します。
Conditionsだけ
Cry:false
とし、他は全く同じです。
この状態でゲームを再生しParametersのCryを変更すればアニメーションが切り替わります。
Scriptからのアニメーションを変更したい場合は、こちらの方法を参考にしてみて下さい。
using UnityEngine; using System.Collections; public class AnimController : MonoBehaviour { [SerializeField] Animator animator; private bool cry; void Update() { if (Input.GetMouseButtonDown(0)) { animator.SetBool("Cry", cry); cry = !cry; } } }
AnimController.cs
animatorには今回作成したAnimatorを指定します。
SetBoolメソッドでAnimatorのパラメータを変更できます。
第一引数がstring型のパラメータ名、第二引数がパラメータとなります。
今回は以上となります。
ありがとうございました〜。