Unity3D之Animation中AnimationEvent的BUG?爬坑向
2015-11-19 11:48
846 查看
写在前面:账号被盗,博客被封,直到今天才动手找回,没想到还挺顺利。刚好手头上碰到一个坑,记录一下。
BUG_1:
如图,我在动画的末尾添加了一个AnimationEvent,我希望达到的效果。
if(动画拨到最后一帧时(情况一))
{
通知我,这里输出一个字符串,表示技能完整施放;
播放另一个动画;
}
else if(动画播放一半切换到另一个动画(情况二))
{
那么不触发这个AnimationEvent;
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201511/804048ecb290f6e26ce88a27a0dcf51b)
问题出现了,我发现无论我是中途切换动画或者让动画播完,AnimationEvent都会被调用。(此刻我的心情是崩溃的)。
。。。(查代码逻辑,过程略,其中并没有什么问题,耗费生命1 h)
于是我觉得问题出在动画系统。
。。。(百度,谷歌,没有。。耗费生命0.5f h)
自动(自己动手)修复吧。
。。。(把动画系统的参数改来改去,耗费生命1.5f h)
卧槽!
问题出在这!
![](https://oscdn.geek-share.com/Uploads/Images/Content/201511/be15980323981b7f137a120f479ad6b9)
这!
![](https://oscdn.geek-share.com/Uploads/Images/Content/201511/4e8d2c2dbce9d607ff35a0bba2d59080)
我吧LoopTime取消掉,就可以了,也就是说动画如果是LoopTime的状态,无论如何都会触发AnimationEvent,以我的观点来看,这明显不是我想要的,所以我认为这是个BUG。
以上,BUG_1。
——————————————————————————————————————
BUG_2:
BUG_2是在调BUG_1的时候发现的。
如图,当LoopTime设置为true,这里我只调用一次动画,结束时却同时出现两条OutHitHeavy。这就表示AnimationEvent被调用两次,WHY?(这比上面那个BUG给我造成的阴影面价还大)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201511/b3b78a32c717fee0fc5568e30375a4b7)
。。。。(各种无语)
自动修复。
细心的同学可能发现这张图和BUG_1的图的区别在:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201511/208b0064fcf09a57f71c9ff71256b3a7)
和
![](https://oscdn.geek-share.com/Uploads/Images/Content/201511/703ccfe8bf8ebf9636c9640b63b4bedb)
没错,我的AnimationEvent向后移了一帧,超出了动作帧。
卧槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽!!
这尼玛求解释啊,玩人那吧!
同样,我取消掉LoopTime之后,这个问题就不存在了。
好吧,因为这个问题调了一下午,心情烦躁。。
列出这两个问题想听听各位的看法
就此搁笔了,如果文章对您有帮助,我深感荣幸
大四了,现在正在实习,同样,除工作以外也想做些有趣的游戏,个人更希望是娱乐式的游戏项目,如果有意的话请与我联系。
BUG_1:
如图,我在动画的末尾添加了一个AnimationEvent,我希望达到的效果。
if(动画拨到最后一帧时(情况一))
{
通知我,这里输出一个字符串,表示技能完整施放;
播放另一个动画;
}
else if(动画播放一半切换到另一个动画(情况二))
{
那么不触发这个AnimationEvent;
}
问题出现了,我发现无论我是中途切换动画或者让动画播完,AnimationEvent都会被调用。(此刻我的心情是崩溃的)。
。。。(查代码逻辑,过程略,其中并没有什么问题,耗费生命1 h)
于是我觉得问题出在动画系统。
。。。(百度,谷歌,没有。。耗费生命0.5f h)
自动(自己动手)修复吧。
。。。(把动画系统的参数改来改去,耗费生命1.5f h)
卧槽!
问题出在这!
这!
我吧LoopTime取消掉,就可以了,也就是说动画如果是LoopTime的状态,无论如何都会触发AnimationEvent,以我的观点来看,这明显不是我想要的,所以我认为这是个BUG。
以上,BUG_1。
——————————————————————————————————————
BUG_2:
BUG_2是在调BUG_1的时候发现的。
如图,当LoopTime设置为true,这里我只调用一次动画,结束时却同时出现两条OutHitHeavy。这就表示AnimationEvent被调用两次,WHY?(这比上面那个BUG给我造成的阴影面价还大)
。。。。(各种无语)
自动修复。
细心的同学可能发现这张图和BUG_1的图的区别在:
和
没错,我的AnimationEvent向后移了一帧,超出了动作帧。
卧槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽!!
这尼玛求解释啊,玩人那吧!
同样,我取消掉LoopTime之后,这个问题就不存在了。
好吧,因为这个问题调了一下午,心情烦躁。。
列出这两个问题想听听各位的看法
就此搁笔了,如果文章对您有帮助,我深感荣幸
大四了,现在正在实习,同样,除工作以外也想做些有趣的游戏,个人更希望是娱乐式的游戏项目,如果有意的话请与我联系。
相关文章推荐
- 教你如何开发VR游戏系列教程一:前言
- XML的增删改查
- 关于 unity如何读写Json的学习
- Socket.IO for Unity 简要介绍和简单应用
- unity3d - new 不出的单例
- 关于unity中支持的音频的格式和视频的格式的总结
- 关于Random.Range 范围的学习
- C#动态库在Unity3D 4.5版本上可以编译通过,但在5.2版本上编译不通过的问题
- Unity协程(Coroutine)原理深入剖析
- unity3d 触屏拖拽物体代码
- unity3d 陀螺仪代码
- [Unity]面试题整理
- unity3d 5.2 添加广点通广告
- Unity杂记
- Unity3d 支持的图形格式和大小优化
- Surface Shader Lighting Examples
- Custom Lighting models in Surface Shaders
- [Shader] UnityShader系列---黑与白
- 【Unity开发】NGUI,UGUI按钮监听的动态添加与移除
- Unity着色器常用关键字及属性