Unity Animator 之 重置动画指定刷新某一动画

 时间:2024-09-21 23:40:12

UnityAnimator之重置动画指定刷新某一动画。在Unity中,纛独编竿由于涌动Animator穰惩较瘁动画机控制动画播放,有时候需要重置动画,或者需要直接由某个动画未播放前就直接切换到某一个动画,这时候怎么做呢?具体使用到play和update函数,具体如下

Unity Animator 之 重置动画指定刷新某一动画

工具/原料

Unity

Animator

方法/步骤

1、打开Unity,新建一个空工程,具体如下图

Unity Animator 之 重置动画指定刷新某一动画

2、向工程中导入某个带多个动画的模型,具体如下图

Unity Animator 之 重置动画指定刷新某一动画

3、新建一个动画机Animator,把喋碾翡疼模型的动画添加进新建的Animator,并且添加导线,最好每个导线的都勾上HasExitTime便于演示,具体如下图

Unity Animator 之 重置动画指定刷新某一动画

Unity Animator 之 重置动画指定刷新某一动画

4、把模型添加到场景中,并把之前新建的Animator添加到模型上,具体如下图

Unity Animator 之 重置动画指定刷新某一动画

5、在工程中新建一个脚本“AnimatorResetAnimation”,双击打开进行脚本编辑,具体如下图

Unity Animator 之 重置动画指定刷新某一动画

6、“AnimatorResetAnimation”的脚本具体代码和代码说明如下图

Unity Animator 之 重置动画指定刷新某一动画

7、“AnimatorRese隋茚粟胫tAnimation”的脚本具体内容如下:usingSystem.Collections;usingSyst髫潋啜缅em.Collections.Generic;usingUnityEngine;publicclassAnimatorResetAnimation:MonoBehaviour{privateAnimatoranim;//设置动画机参数 //Usethisforinitialization voidStart(){//获取动画机anim=this.gameObject.GetComponent<Animator>(); } //Updateiscalledonceperframe voidUpdate(){//按下A键重置动画为Idleif(Input.GetKeyDown(KeyCode.A)){ResetAnimator("Idle");} }///<summary>///进行重置动画///</summary>///<paramname="AnimationName">该动画的名称</param>privatevoidResetAnimator(stringAnimationName){//设置动画机播放的动画名称//设置为最初的动画名称即重置动画//Update(0)即是刷新0层的动画机,默认新建的动画在0层anim.Play(AnimationName);anim.Update(0);}}

8、脚本编译正确,回到Unity,把脚本挂载到模型上,具体如下图

Unity Animator 之 重置动画指定刷新某一动画

9、运行场景,在动画运行到某个动画途中,按下A键,动画立即被重置切回来(其中不会等到动画播完才切换,是立即切回来),具体如下图

Unity Animator 之 重置动画指定刷新某一动画

手工折纸——旺旺 VSCode怎么设置内部控制台选项会话启动 Axure原型工具如何将日期输入框设置成默认日期 如何在会声会影上添加一条覆叠轨 三国终极觉醒英雄技能怎么装备?
热门搜索
美女鲍鱼图片 郭晶晶图片 耽美漫画cc 番荔枝图片 整容液漫画