知方号

知方号

Unity animator动画倒放的方法

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

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

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

比如我制作了一个从无到有的提示语的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); }}

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

制作效果如下:

Unity animator动画倒放的方法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。