在游戏开发中,为了实现更好的效果,动画的应用还是很广泛的, 下面主要说一下如何动态的为动画添加相应的动画帧事件。

1.首先创建动画文件,动画根据需求自行编辑

2.脚本一定要加在播放动画的物体上:



3.代码的具体实现:

* 找到animator上所有的动画clip
* 根据动画名字找到自己想修改的动画文件
* 添加对应的帧事件 private void AddAnimationEvent() { //获取动画组件中所有动画 AnimationClip[]
clips = animator.runtimeAnimatorController.animationClips; for (int i = 0; i <
clips.Length; i++) { //根据动画名字 找到你要添加的动画 if (string.Equals(clips[i].name,
"Animation")) { //添加动画事件 AnimationEvent events = new AnimationEvent();
//添加第一个事件 带参数 events.functionName = "event_0"; events.time = 0.02f;
events.stringParameter = "参数0"; clips[i].AddEvent(events); //添加第二个事件 不带参数
events.functionName = "event_1"; events.time = 0.04f;
clips[i].AddEvent(events); break; } } animator.Rebind(); } private void
event_0(string parma) { Debug.Log("第一个事件:" + parma); } private void event_1() {
Debug.Log("第二个事件"); }
在动画事件中可以传参,上面都是实例,下面是运行结果:



具体的实例工程链接:链接:https://pan.baidu.com/s/19jG6ISK2GsaXpsQy4R26Fg 密码:9hmm

如果想学习更多unity相关知识,请关注下方公众号或者添加QQ群:879354767:


友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信