#|Unity动画丨动画帧事件
目的: 当模型动画播放到一定进度后,执行某函数
方法: 添加的方法根据模型的不同暂时分为两种:
1、模型为美术人员制作,带有动画:
在模型源文件的Animation-Events处添加即可
文章图片
文章图片
2、动画为自己在Unity中给模型制作的:
我们点击我们自己的模型,即使做成预制体,也会发现右侧Inspector面板并没有Animation-Events。我们需要如下操作
a、选中你做的Animtion,进入下面界面。
b、点击AddEvents添加帧时间。将物体挂在右侧的Object,填上要执行的方法名和传入的参数。
c、你可能想修改或删掉帧事件时找不到帧事件在哪。
帧事件就在第二个红框那。需要你放大放大再放大,才能找得到它。
d、你可以在同一个位置,同一帧添加多个帧事件。
文章图片
注意: 以上两种方法Object赋值的都是你的脚本。
你的脚本必须挂在这个物体带有Animator的物体上(其他物体不行)。否则会出现如下错误:
'NoviceKnight' AnimationEvent 'Skode_ActiveIdleLoop' has no receiver! Are you missing a component?【#|Unity动画丨动画帧事件】
文章图片
Question: 关于无法给物体创建Animation:
情境1:
在Hierarchy面板,将一个物体A放入另一个预制体B中。这时再点击A物体,就发现Animation面板显示的就是B物体的属性了。并且显示的这个Animation还没有A物体的属性。也就意味着我们无法给A物体添加动作。
解决办法:
将A物体先拖到预制体B的外面,先给A创建Animation,再拖入到预制体B中去。
情境2:
应该点击的是创建了Animation的物体,却点击了该物体的Animation clip。
解决办法:
点该物体,开始录制动画。
录制的动画位置发生变化:
原因之一:
在某物体B外面给A录制的动画,最后将A移动到B里面去了。发现位置不对。
解决办法:
在B物体里面对A进行录制动画。
推荐阅读
- 七律丨游长安晚归
- 行走诗丨那书生在破石村喊了五声
- Unity和Android通信系列文章2——扩展UnityPlayerActivity
- 2018-04-16动画练习作业
- 长篇小说丨青石碑57
- 纪事丨生活总在不经意间迸发出火花!
- 玩具测评丨BANDAI万代神奇宝贝小镇盒玩
- unity探究UGUI的Image中sprite和overrideSprite的区别
- 好看的动画都有一只有趣的动物,CoCo也不例外
- 张晧奕(7.8国际黄金,原油丨日内进场操作策略建议,黄金参考策略)