2

我需要减少批次数。Unity 的出色功能“动态批处理”让我感到厌烦:D 我的游戏包含许多较小的对象,这些对象在玩家互动时会不断变化。

  1. 即使我将所需数量的材料中的一种分配给对象,动态批处理也不能很好地工作。游戏从批次计数为“3”开始,其中 81 个对象使用相同的材​​料。如果我更改一个对象,它会显示“4”个批次,这是可以的,因为有 80(mat01)和 1(mat02)。当我将另一个对象更改为 mat02 时,计数应该保持为“4”对吗?但它不是!它一直在增加,直到 mat02 变为多数,并且当所有内容都更改为 mat02 时批次计数达到“3”。为什么要等待人群 Unity?
  2. 不管 Unity 的这种习惯如何,我决定在材质颜色中使用一些 lerp。然后明显的事情发生了。如果我更改对象材质的属性,该材质将变为“mat01(instanced)”并被永久实例化,这将永远花费一批。如果我分配 mat02,它会显示“mat02(instanced)”。

感觉像是一种惩罚。“不要碰我的材料……我会永远让你付出代价的!!!” 问题是什么?是的......我改变了那个材料。现在我分配一个全新的材料你很难将这个可怜的家伙(游戏对象)分配回同伴(批次)???

我还阅读了动态批处理不能通过脚本进行修改。

我会不断更新故事,直到我达到我想要的为止。伙计们请指出我在哪里做错了。

更新:1 .关于着色材料的精彩解释这个链接教会了我很多东西,这些行给我留下了深刻的印象,“对材料的任何更改,例如设置材料的颜色,都会产生一个新的材料实例,因此该对象将不再批处理。但是使用顶点颜色可以在不中断批处理的情况下更改对象的颜色。我会试试这个并更新。

  1. 我通过使用顶点着色解决了这个问题。性能看起来不错。我完全实现了我所需要的。
4

0 回答 0