欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > Unity 编辑器中动画分割/创建动画剪辑

Unity 编辑器中动画分割/创建动画剪辑

2025/4/2 15:18:50 来源:https://blog.csdn.net/qiminixi/article/details/146541308  浏览:    关键词:Unity 编辑器中动画分割/创建动画剪辑

就是代替下面这个功能:

直接上代码

    private static void CreatePoseClips(){var modelImporter = AssetImporter.GetAtPath(AssetDatabase.GUIDToAssetPath(Selection.assetGUIDs[0])) as ModelImporter;var animation = modelImporter.defaultClipAnimations[0];var list = new List<ModelImporterClipAnimation>();for(int i = 0; i < animation.lastFrame; i+=2){//创建剪辑var ani = new ModelImporterClipAnimation();ani.firstFrame = i;ani.lastFrame = i + 1;ani.name = $"ABC {i}";list.Add(ani);}modelImporter.clipAnimations = list.ToArray();modelImporter.SaveAndReimport();}

defaultClipAnimations

Unity - Scripting API: ModelImporter.defaultClipAnimations
 defaultClipAnimations就是根据TakeInfo创建的默认动画。建模软件编辑的时候动画都是在一个轨道上的,导出的时候也是一个动画。但是可以通过指定开始和结束帧创建剪辑,这个数据在ModelImporter.importedTakeInfos里面。

Unity - Scripting API: ModelImporter.importedTakeInfos

模型自带动画总共有多少帧

可以遍历importedTakeInfos,或者遍历defaultClipAnimations来获取最大的lastFrame,就是结束帧了。一般最后一个元素就是最后一个动画,用最后一个元素的lastFrame就行了

其他

在AssetPostProcessor里处理,这样每次导入的时候就能自动创建了

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词