南京装修公司做网站wordpress 去除rss
原理
接口:
public void Play(string stateName, int layer = -1, float normalizedTime = float.NegativeInfinity);
 
| 参数 | 含义 | 
|---|---|
| stateName | 动画状态机的某个状态名字 | 
| layer | 第几层的动画状态机,-1 表示播放第一个状态或者第一个哈希到的状态 | 
| normalizedTime | 从state动画进度的百分比(<100%)开始播放到结束 | 
Unity Animator.Play 详解
案例
-  
基于 Animator 制作一个Cube旋转的帧动画


 -  
在 Cube 上实现调用 Play(stateName,layer,normalizedTime) 脚本
using UnityEngine; using UnityEngine.UI;public class BoxAnimator : MonoBehaviour {public Animator animator;public Button btn1;public Button btn2;public const float Percentage1 = 0.3f;public const float Percentage2 = 0.7f;void OnEnable() {btn1.onClick.AddListener(() => animator.Play("Rotate",-1, Percentage1));btn2.onClick.AddListener(() => animator.Play("Rotate",-1, Percentage2));}void OnDisable() {btn1.onClick.RemoveAllListeners();btn2.onClick.RemoveAllListeners();} }

脚本挂在 cube 上,设置两个按钮分别从 30% 、70% 开始播放动画直到结束动画 -  
看运行效果,可以选中 cube 查看动画状态机是如何播放的,方便理解


 
