キー入力でアニメーションを切り替え、画面にアニメーション名を表示する
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// キー入力でアニメーションを切り替え、画面にアニメーション名を表示する
/// </summary>
public class ChangeAnimation : MonoBehaviour
{
[SerializeField] Animator anim =null;
[SerializeField] Text text = null;
[SerializeField] float delay = 0.1f;
[SerializeField] string triggerName = "Trigger";
[SerializeField] KeyCode key = KeyCode.Space;
private void Start () => UpdateText ();
private void Update ()
{
if ( Input.GetKeyDown ( key ) )
{
anim.SetTrigger ( triggerName );
text.text = "";
// AnimationClip が切り替わるのを待って名前を表示
Invoke ( nameof ( UpdateText ), delay );
}
}
private void UpdateText ()
=> text.text = anim.GetCurrentAnimatorClipInfo ( 0 )[0].clip.name;
}