Unity5,这个渲染器的材质比Mesh有更多的材质

时间:2016-09-12 09:26:39

标签: unity3d unity5

在Unity 5中,我注意到Unity 4中没有警告。它是否有任何问题,如何摆脱它?

enter image description here

2 个答案:

答案 0 :(得分:2)

我设法找到MeshRender组件的反编译源代码,您可以在第24 - 27行看到它检查是否有多个材质分配给您的网格。如果是,则为DisplayMaterialWarning。不知道为什么。我还没有找到任何文件。也许你应该在生产之前对它进行压力测试。

https://github.com/MattRix/UnityDecompiled/blob/master/UnityEditor/UnityEditor/MeshRendererEditor.cs

答案 1 :(得分:2)

这只是性能通知而不是真正的问题。 问题是,当您的网格有超过65534个顶点时,您的网格会自动划分为子网格。 在您的情况下,如果您有1个具有多于1个材质的网格,则将其乘以子网格划分,并且您的性能将受到影响,因为每个材质都将导致绘制调用。

I.E你的网格有320.000个顶点和5个材料......你得到了:

  • 5个子网格,包含65534个顶点x 5个材质= 25个绘制调用