unity2d在animator组件里一个anim动画运行的过程中怎样直接切换到另一个?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity2d在animator组件里一个anim动画运行的过程中怎样直接切换到另一个?相关的知识,希望对你有一定的参考价值。

我的角色有两套动画循环 一个是原地不动衣服被风吹动的循环 一共180帧 30fps要播6秒
另一套是移动 83帧走五步 也是30fps 因为我在走路的动画里加了面朝玩家 眨眼之类的动作所以长了点
所以现在的问题就是代码部分没有问题 根据按键进行的逻辑判断全都运行正常
只是比如从原地不动这段6秒的循环动画切入走路的动画就一定要等6秒这一大长段动画全都过一遍之后如果还按着移动键才会切换到移动的动画 反之松开移动键又一定要等移动的循环播完才能切换回原地不动的动画
请问有没有方法可以直接终止这段动画 在按下按键的瞬间直接开始播放别的动画?
我用的是unity5 先谢谢大神们了

UNITY动画

你要改动的有 EXIT time   = 0
下面的选项你试着改一下 把退出动画都改掉 你自己试试就好了

参考技术A

这个是控制是否播放完毕再转换下一个状态的,取消勾选就可以随时切换状态。

zepto 添加 animate组件

今天发现JQuery可以用 animate方法回到顶部,心想着zepto应该也可以

$(\'html,body\').animate({ scrollTop: 0 }, 1000);

于是便用了一下,发现console提示zepto没有这个方法,百度之后发现原来不是没有这个方法,是因为这animate这个方法是在effects组件里的,然而默认的zepto是没有这个组件的,于是又倒腾了一下。

1.要安装node和npm

2.到https://github.com/madrobby/zepto下载zepto的包

3.到zepto的目录下编辑目录下的make文件,找到第41/42行,就是modules = (env[\'MODULES\'] || \'zepto event ajax form ie\').split(\' \')这么一行,增加或删除组件

4.到cmd,cd到zepto的目录,执行npm install回车,再执行npm run-script dist 回车,成功之后你应该可以看到

dist/zepto.js: 57.4 KiB
dist/zepto.min.js: 25.8 KiB
dist/zepto.min.gz: 9.6 KiB

接下来你就可以快乐地使用animate了,什么?不行,在踩了一个又一个坑之后,发现又来一个坑。zepto的animate()源码采用css3的方式进行,而scrollTop属性不在css3的动画属性中,所以没有生效。

解决方案见这篇博文http://www.cnblogs.com/skyHF/p/4720308.html

以上是关于unity2d在animator组件里一个anim动画运行的过程中怎样直接切换到另一个?的主要内容,如果未能解决你的问题,请参考以下文章

在 Unity2D Sprite 中使用 Animator 将动画添加到游戏对象时无法翻译游戏对象

unity2d游戏入门开发【三】各个面板作用

zepto 添加 animate组件

Unity中的Animation组件(一)

unity3d里面Animation和Animator的区别

Unity -- Animation(旧版动画组件)和Animator(新版动画器组件)