Unity——GPU Animation

咋样能同时渲染成千上万个角色呢?

角色一多就卡,Batches特别高,Draw Call问题多,因为角色带动画,CPU的蒙皮开销又很大。

一般用Animator来管理角色动画,角色是使用Skinned Mesh Renderer进行渲染

如果要做个军团动画的话...

有两个巨大的开销:

CPU处理动画

每个角色的Draw Call开销

(空场景,50个角色)如果是五百个,五千个呢。


之前用Shader可以做旗帜动画,那角色动画是不是可以用相应的原理进行转换呢。

看了一些解决方案,试着使用了一下GPU Animation来看看效果,

让GPU来处理动画,

SkinnedMeshRender替换成一般的Mesh Render,使用GPU Instancing来减少Draw Call。



(同一个角色,使用GPU Aniamtion后跑500个角色)

感觉还是很好的,具体在项目内使用的话,效果如何还有待研究。

只是提供一种解决方案。

推荐插件:GPU Animation Baker Basic

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容