标签:
今天研究了下动画状态机遇到一个问题. 有一个动画我只想然跟他播放一次,但是在某一些环境下我需要让他重复播放.
大概有两种方法 :
1. 使用Animatior Parameters 通常情况都是这样
2. 为动画节点创建一个StateMachineBehaviour, 它具有一个当动画播放完毕的生命周期,在这个动画可以判断是否跳转 或者继续重复播放
我们来看看StateMachineBehaviour的生命周期:
using UnityEngine; using System.Collections; public class d : StateMachineBehaviour { //暂时只列举这几种常用的 //动画进入播放的时 public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { base.OnStateEnter(animator, stateInfo, layerIndex); } //动画播放完毕的时 public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { base.OnStateExit(animator, stateInfo, layerIndex); } //刷新动画每一帧调用 public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { base.OnStateUpdate(animator, stateInfo, layerIndex); } }
Unity StateMachineBehaviour 生命周期
标签:
原文地址:http://www.cnblogs.com/plateFace/p/4397172.html