为CocosCreator3.x集成SVGA,支持GPU Instancing

Number of views 623

最近有个项目Web的3D部分基于CocosCreator3.x,原生部分的3D使用Unity,都需要集成矢量动画,首选SVGA,如果不太清楚SVGA的可以看下SVGA是什么,不是SVG哈。

image.png

de73538c47839b981576a0168add1380.gif

我们自己有集成了一版,但是感觉性能没有太好,有些动画会有错位的现象。
所以想把这个功能找外部能人合作下。

要求如下:
1.所有SVGA动画能正常播放,不会出现错位等奇怪的输出
2.支持GPU Instancing

2025年1月15日前能够完成。

2 Answers

我搞了个。同时支持 SVGAInstancing

第一个SVGA,天使:

下面是关闭 InstancingDraw Call 达到 79

image1739691848038.png

下面是开启了 Instancing,开启后 DrawCall降至 2

image1739692052541.png

第二个Svga,巫婆:

下面是关闭 InstancingDraw Call达到 15

image1739692286382.png

下面是开启了 Instancing,开启后 DrawCall降至 2

image1739692329427.png

编写了SVGAContent组件。

image1739692468667.png

Url:是远程Svga的路径地址,图中路径是找资产包子平台管理员帮忙上传了文件,给的路径。

Svga Ins Mat:Svga Instanced材质。

Svga Mat:Svga不合批的材质。

Is Batching:是否开启合批。

Altas Resolution:内部会把Svga中的所有子图自动打到一个图集中,可以选择图集的分辨率,如果是大的Svga得选择大的图集分辨率。

另外不保证没有bug,毕竟仓促完成,如果有bug,需要额外花费不少时间解决再聊维护方案吧。

我把完成的项目地址私密方案给你,创作不易,记得验收采纳下。