「毎日Unity」の技術ブログ

開発で役立つ情報を発信する

【UnityC#】スクリプトからアニメーションを逆再生させる方法

スクリプトからアニメーションを逆再生させる方法を自分用にメモ。

[ 方法 ]

まずはじめに、下記の画像のようにAnimatorのParametersにFloat型でSpeedというのを作成します。値は1.0にしておいてください。
f:id:EDunity:20201113083636p:plain
次に、下記の画像のように逆再生させたいAnimationClipのSpeedという項目の下にあるParameterのチェックボックスにチェックを入れ、Multiplierに先ほど作成したSpeedを指定します。
f:id:EDunity:20201113083713p:plain
最後に、下記のようなスクリプトを作成し、任意のタイミングで「Animator.SetFloat("Speed", -1);」を実行させれば、それ以降アニメーションが逆再生されるようになります。ちなみに下記のスクリプトははSキーを押すと、アニメーションが逆再生されるようになるスクリプトです。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ScriptTest : MonoBehaviour
{
    private Animator Animator;

    void Start()
    {
        Animator = gameObject.transform.GetComponent<Animator>();
    }

    void Update()
    {
        if(Input.GetKeyDown(KeyCode.S))
        {
            Animator.SetFloat("Speed", -1);
        }
    }
}