自分用にSimple Animationの関数まとめ
Simple Animationとは
using System.Collections; using System.Collections.Generic; using UnityEngine; public class AnimeTest : MonoBehaviour { private SimpleAnimation simpleAnimation; [SerializeField] private AnimationClip anime_clip; void Start () { simpleAnimation = GetComponent<SimpleAnimation>(); // デフォルトのクリップを再生する simpleAnimation.Play(); // 特定のクリップを再生する simpleAnimation.Play("AAA"); // アニメーションを停止する simpleAnimation.Stop(); // 再生中のアニメーションを頭から流しなおす simpleAnimation.Rewind(); // 1秒かけてAAAステートに遷移する simpleAnimation.CrossFade("AAA", 0.2f); //アニメとステート追加する simpleAnimation.AddState(anime_clip, "CCC"); //前のアニメーションが終わった後に切り替える simpleAnimation.CrossFadeQueued("AAA", 0.2f, QueueMode.CompleteOthers); simpleAnimation.CrossFadeQueued("BBB", 0.2f, QueueMode.CompleteOthers); //アニメーション全停止 重要 CrossFadeQueuedでエラー出た時は直前に使う simpleAnimation.Stop(); } void Update() { //Aキーを押すとデフォルトに設定したアニメーションの再生 if (Input.GetKeyDown(KeyCode.A)) { simpleAnimation.CrossFade("Default", 0.3f); } //Sキーを押すとステート名AAAのアニメーションを再生 if (Input.GetKeyDown(KeyCode.S)) { simpleAnimation.CrossFade("AAA", 0.3f); } //アニメーション終了の検出 if (!simpleAnimation.isPlaying) { Debug.Log("アニメ終了"); } else { Debug.Log("アニメ実行中"); } } }