Unity——GPU Animation

2021-06-07  本文已影响0人  Sonnet_Studio

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

角色一多就卡,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

上一篇下一篇

猜你喜欢

热点阅读