当前位置:   article > 正文

Unity animator动画倒放的方法_animator 倒放

animator 倒放

Unity中, 我们有时候不仅需要animator正放的效果,也需要倒放的效果。但我们在实际制作动画的时候可以只制作一个正放的动画,然后通过代码控制倒放。

实现方法其实很简单,只需要把animator动画的speed设置为-1即为倒放,speed设置为1即为正放:

animator.speed = -1f; //倒放
animator.speed = 1f; //正放
  • 1
  • 2

比如我制作了一个从无到有的提示语的animator动画,然后我再通过设置speed=-1进行倒放。从而实现从无到有,再从有到无的效果。

首先我创建一个动画:

请添加图片描述

然后新建一个控制脚本,AnimatorController.cs,并编写如下:

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

public class AnimatorController : MonoBehaviour
{
    public Animator animator;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if(Input.GetKeyDown(KeyCode.A))
        {
            animator.enabled = true;
            animator.Rebind();
            animator.speed = 1;
            animator.Play(0);
            StartCoroutine(wait());
        }
    }

    IEnumerator wait()
    {
        yield return new WaitForSeconds(1f);
        animator.Rebind();
        animator.speed = -1;
        animator.Play(0);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

把脚本放到场景中,并赋值animator对象,运行后,完美实现倒放。

制作效果如下:

Unity animator动画倒放的方法

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/624295
推荐阅读
相关标签
  

闽ICP备14008679号