gpu instancing animation代替骨骼动画的做法

本文探讨了如何使用GPU实例化动画技术替代骨骼动画,通过将动画信息烘焙到贴图中并在Shader中处理,实现了性能的提升。文章介绍了存在的问题,如贴图过大、无法计算光照和缺乏动画混合,并提出烘焙骨骼信息的解决方案,详细阐述了烘焙原理、Shader实现和空间优化。最终,作者提供了一个实现该技术的Unity插件商店链接。
摘要由CSDN通过智能技术生成

    最早是在Unity推出gpuinstancing后,马上有人做了一个顶点动画代替骨骼动画的方案,当时自己也测试了一下,红米2一千人可以跑60帧,确实非常不错。后来发现UWA群里也有人在讨论这个东西的做法,当时M神说可以用烘焙骨骼的方式代替烘焙顶点,这样子烘焙出来的贴图大小只和骨骼数相关。而小米超神也说是通过烘焙顶点,不过为了减少烘焙文件的大小,使用了类似RGBM的方式存储数据。

    我整合了主流的几种做法,做了一个插件。

    首先展示结果:

   

   场景中可见大概750个角色,batches只有7,去掉地面和天空盒,其实这么多人只有5个Batches.

   贴图大小:

  

  115帧的动画,4秒不到一点,128k,而且看到图中还有剩余,即使动画文件更大一些,依然可以用这张贴图放下。可能现在还看不出来它足够小,等后面和烘焙顶点的

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yxriyin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值