Unity Animation Instancing 官方解决方案初试

Posted _Captain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity Animation Instancing 官方解决方案初试相关的知识,希望对你有一定的参考价值。

Animation Instancing 是unity官方提出的高性能大规模动画解决方案,起初是为了解决企业用户的需求,后来在Github上开放。

Github地址:

https://github.com/Unity-Technologies/Animation-Instancing

官方Blog地址:

https://connect.unity.com/p/animation-instancing-gao-xing-neng-da-gui-mo-dong-hua-jie-jue-fang-an

项目大概200M,从Github上Clone下来需要有耐心。

1.观察测试项目

本文转自 https://huutu.blog.csdn.net/article/details/109759751
用Unity5.6.7个人版打开测试项目
点击模型查看属性面板
可以看到 SkinnedMeshRender 组件是禁用的。
而且材质中使用的是特定的Shader。

运行项目
复制多个骨骼动画,DC仍然保持在21个,且 Saved By Batch 一直增长。
证实这个方案有效。

2.在自己的项目中使用 Animation Instancing

我这里不创建新项目,只是从头开始做一遍,介绍如何使用Animation Instancing组件。
本文转自 https://huutu.blog.csdn.net/article/details/109759751

2.1 准备新资源

新建my文件夹存放我自己的资源。
把测试用模型拖进来,并且创建好Animation。

对fbx创建一个Prefab,然后添加Animator组件,添加Animation Instancing 组件。

2.2 提取骨骼动画数据,制作数据贴图

菜单栏打开 Animation Generator 面板。

将上面制作的Prefab 拖到 面板里,点击 Generator 按钮生成贴图。
点击按钮后,会有一系列的操作。
再次查看Prefab,发现与之前相比有一些不同。
Prototype 被赋值了,就是自己本身。
本文转自 https://huutu.blog.csdn.net/article/details/109759751
生成的骨骼动画数据贴图存放在 AnimationTexture 文件夹。

因为字节数据并不是按照现有贴图格式进行存储,所以Unity并没有进行解析。

游戏人生 https://www.thisisgame.com.cn/

2.3 修改材质的Shader

将材质修改为特定的Shader。

2.4 创建大量实例测试


创建100个动画实例,DrawCall保持在3个。

以上是关于Unity Animation Instancing 官方解决方案初试的主要内容,如果未能解决你的问题,请参考以下文章

Unity Animation扩展方法总结

求大神解惑 unity3D animation 与 animator的问题

Unity 2D Animation——3.待机动画录制

Unity之Animation

unity 动画无法正常播放Animation的动画问题

Unity 动画系统 Animation 和 Animator的小实例