从我在 Unity 开发的第一天开始,我就看到一些提示和内容说我们永远不应该给精灵着色。如果我们想要不同颜色的精灵,创建它们并将它们放置在相同的纹理中,然后交换不同颜色的精灵。
原因是着色精灵会破坏批处理。
我创建了一个小演示。
情况一
在 6 个游戏对象中使用了相同的方形精灵。这里并不奇怪。在统计中,有 1 个批次。5个通过批处理保存。
情况二
同样的方形精灵再次用于 6 个游戏对象,但这一次,它们都被染成具有相同颜色值的红色。
这不应该打破批处理吗?
情况3
为了完整起见,我用不同的颜色为方形精灵着色。尽管如此,我们还是保存了 1 个批次和 5 个。什么都没有改变。
附加信息
我在一次游戏中捕捉到了情况 1 和 2,在单独的游戏中捕捉到了情况 3。
我试着着色精灵直接在编辑器通过改变“颜色”字段SpriteRenderer
,并通过脚本改变SpriteRenderer.color
。结果是一样的。
皈依舞
相关分类