zhulixintm

情况是这样的。
一个spine动画,导出了两张2048.
丢到unity后,生成了很多个材质球,而且顺序是第一张图--第二张图--第一张图--第二张图---
就导致渲染效率很低。(具体请看附件的图)

首先为什么会造成这种情况
其次解决办法是什么
能否让前面的材质球都是第一张图,后面都是第二张图
或者有没有更好的解决办法

请各位大佬不吝赐教。多谢

---

群里的小伙伴说是材质球复用,让我删掉材质球,并且把数量从65改成2
我试过,删不掉。

---

spine版本 3.7.94

---

有没有大佬帮忙看看这个问题
您没有权限查看这个主题的附件。
zhulixintm
  • 帖子: 8

Harald

您的问题是附件的绘制顺序需要始终在两种纹理(以及材料)之间切换。

这是在此处描述的:
spine-unity Runtime Documentation: Material Switching and Draw Calls
材质切换和绘图调用

如果分配的附件分布在多个地图集页面上,例如材料A和材料B,根据需要材料的绘制顺序设置材料阵列。

如果订单是:

来自 A 的附件
来自 A 的附件
来自 B 的附件
来自 A 的附件

生成的材料数组将是:

材料 A(附件 1 和 2)
材料 B(附件 3)
材料A(附件4)

Materials 数组中的每个材质都对应一个绘制调用。因此,大量的材料切换会对性能产生不利影响。

Dragon 示例显示了一个具有许多绘制调用的不幸用例:

因此建议将附件打包到尽可能少的图集页面,并根据绘制顺序将附件分组到图集页面,以防止不必要的材料切换。请参阅 Spine Texture Packer:文件夹结构,了解如何在您的 Spine 地图集中排列地图集区域。
------
Your problem is that the draw order of your attachments requires switching between both textures (and thus also materials) all the time.

This is described here:
spine-unity Runtime Documentation: Material Switching and Draw Calls
头像
Harald

Harri
  • 帖子: 3353


回到 中国Spine用户