lzth.net
当前位置:首页 >> unity AnimAtor怎么播放 >>

unity AnimAtor怎么播放

你需要获取当前animator所处在的动画状态,即使它处于idel状态也应当播放idel动画,你可以获取当前动画控制器处于哪个动画状态,正在播放哪些动画剪辑animator anim; animationinfo[] animationinfoarr; void getcurrentanimationname() { anim=getcomponent(); animationinfoarr=anim.getcurrentanimationclipstate(0); foreach(animationinfo a in animationinfoarr) { debug.log( a.clip.name); }}

使用Animator.GetCurrentAnimatorStateInfo(“层级”).IsName("动画名")判断

第一种方法:在动画结束帧后面加个动画事件,调用下含这个变量的函数接口不是可以了? 第二种方法:试试animator上面那个 exit time 第三种方法: //获取动画层 0 指base layer. animatorstateinfo stateinfo = animator.getcurrentanimatorstateinfo(0); //如果正在播放walk动画. if(stateinfo.isname("base layer.walk")) { }

是拖动面板吧? 用鼠标中键,滚轮、中键按下拖动都可以的.

using UnityEngine;using System.Collections;public class Animator_Magic_2 : StateMachineBehaviour{ // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator

anim.Play("名字",层,时间);

第一种方法:在动画结束帧后面加个动画事件,调用下含这个变量的函数接口不是可以了? 第二种方法:试试animator上面那个 exit time 第三种方法: //获取动画层 0 指Base Layer. AnimatorStateInfo stateinfo = animator.GetCurrentAnimatorStateInfo(0); //如果正在播放walk动画. if(stateinfo.IsName("Base Layer.walk")) { }

在Animation里面创建播放列表然后用animation.PlayQueued 播放队列

第一种方法:在动画结束帧后面加个动画事件,调用下含这个变量的函数接口不是可以了? 第二种方法:试试animator上面那个 exit time 第三种方法: //获取动画层 0 指Base Layer. AnimatorStateInfo stateinfo = animator.GetCurrentAnimatorStateInfo(0); //如果正在播放walk动画. if(stateinfo.IsName("Base Layer.walk")) { }

这是通过改变之前在系统中设定的值来做到的. this.theanimaor.setbool(this.attackanimationname, false); this.theanimaor.setbool(this.idleanimationname,true);同时这跟你的状态机是怎么构造的有关.

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com