本文主要是介绍Unity编辑器添加模型动画Event事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近有个需求要根据动画中的事件调用脚本中的功能,完成一些特效音效,技能音效等播放功能。
一、AnimationClip添加动画Event的方法
一个AnimationClip添加事件非常简单,只需在编辑其中双击这个文件,或者使用快捷键Ctrl+6,即可打开动画编辑。
打开的动画编辑窗口,在需要的位置右键或者点击图中按钮即可。
二、.Fbx动画模型添加Event方法
在当前经手的项目中,动画文件基本都是从Maya中导出的.fbx文件,这时使用上述方法是不可行的,因为这个文件下的Clip文件是只读的
因此,需要选中这个模型文件,在Inspector面板添加事件,操作方法和一类似,最后要点Apply应用,修改的是meta文件。
从图中可以看到,时间轨为归一化时间,并且很难定位到精确的时间点,为了更方便美术和策划同学能够自己添加事件,开发了一个工具简化操作。
三、使用工具为.Fbx动画模型添加Event
关键代码:
//获得对应模型的ModelImport,拿到其中的Animation数据
ModelImporter modelImporter = AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(selectObj)) as ModelImporter;
clipAnimations = modelImporter.clipAnimations;
//拿到动画文件后 编辑其中的events属性,可以添加事件或者修改事件信息
//此处省略一些代码
clipAnimations[0].events = evts;
//保存修改后的数据
modelImporter.clipAnimations = clipAnimations;
modelImporter.SaveAndReimport();
AssetDatabase.Refresh();
注意图中的Time为归一化时间。
这样就能很精准的为动画文件添加或者删除事件了。
这篇关于Unity编辑器添加模型动画Event事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!