最近有个项目Web的3D部分基于CocosCreator3.x,原生部分的3D使用Unity,都需要集成矢量动画,首选SVGA。
Unity官方已经有给出代码了,但是也会在部分svga下有错位的现象。Unity Svga代码,然后性能也不高,不支持合批。
要求如下:
1.所有SVGA动画能正常播放,不会出现错位等奇怪的输出
2.支持GPU Instancing
2025年1月15日前能够完成。
最近有个项目Web的3D部分基于CocosCreator3.x,原生部分的3D使用Unity,都需要集成矢量动画,首选SVGA。
Unity官方已经有给出代码了,但是也会在部分svga下有错位的现象。Unity Svga代码,然后性能也不高,不支持合批。
要求如下:
1.所有SVGA动画能正常播放,不会出现错位等奇怪的输出
2.支持GPU Instancing
2025年1月15日前能够完成。
验收下吧。
第一个SVGA,天使:
下面是关闭 Instancing
的 Draw Call
达到 78
:
下面是开启了 Instancing
,开启后 DrawCall
降至 2
:
第二个Svga,巫婆:
下面是关闭 Instancing
的 Draw Call
达到 15
:
下面是开启了 Instancing
,开启后 DrawCall
降至 2
:
编写了SVGAContent组件。
Url
:是远程Svga的路径地址,图中路径是找资产包子平台管理员帮忙上传了文件,给的路径。
Canvas
:2D Canvas对象
Is Batching
:是否开启合批。
Render Camera
:如果不为None, 渲染的画面会输出到RenderTexture中。
Is Reuse
: 配合Render Camera对象使用, 如果为true, 则会重复利用RenderTexture
另外不保证没有bug,毕竟仓促完成,如果有bug,需要额外花费不少时间解决再聊维护方案吧。
我把完成的项目地址私密方案给你,创作不易,记得验收采纳下。