spine局部换装drawcall问题

社区的各位大佬们,spine局部换装外部贴图,dc有什么好的优化方案吗,我是按照这个来的0.0【方案】Cocos Creator 的 web/原生多平台 Spine 换装方案解析,附 Demo 源码

一个spine换了30多个贴图,然后dc就跑到了30多 :sweat_smile:

局部换装都是只能用散图好像不能用图集的吧,那你换了30张图可不就30dc了

那有什么优化方案吗,人挺多的 :thinking:

看具体的情况吧,比如一些细碎的图片,那就直接让动画做成切换皮肤的这样都在一张合图里,主要替换相对比较大的图片。然后再看看论坛里的动态合图方案能不能用,毕竟一个spine要换30张图属实很夸张了,大概除了动态合图和减少换图数量,其他很多办法大概都无法避免dc增加

谢谢大哥。人物换装类的,部件比较多,都需要能够替换,之前用的挂点做动作的时候效果不太好,用这种方式又得考虑dc :sweat_smile:

3DTJ(UE6BFP{WSUL5S_@XEN
是可以支持图集的,计算下图片的uv就行

1赞

大佬,看不懂 :thinking:

DIYManager.ts.zip (3.6 KB) 这是我的0.0

image
你region这里的uv要用到我上面发的图中计算出来的uv,你这里写的固定是0,0, 1,1 是用了整张纹理,你需要的是大图集中的一部分。

请问有研究过 3.8.x 是否可以这样做呢?(我看 3.8.x 下没有 SkeletonTexture 这个类型 )

3.8.x的spine用wasm封装了,只暴露了setSlotTexture接口,只能说等死吧,很难用

把官方引过来看看 :joy: