我非常需要优化我的一些Unity项目,而且我有很多来自3DsMax的对象,所以我想知道组合网格会对内存产生任何影响/性能或我应该将对象实例留给对方,因为它会为我节省一些空间。
这就产生了这样一个问题:组合网格对象或实例对象之间有什么区别,因为它会节省大量内存并且如果一个人知道差异和更好的话会有麻烦
期待有关这两个的简要信息
谢谢
答案 0 :(得分:1)
如果您拥有许多仅在场景中出现一次或两次的独特资产,例如3D FPS中的独特建筑,而不是模拟城市风格游戏中的克隆房屋,则组合非常有用。如果你有一个在场景中多次出现的模型,那么拥有Unity(自动)batch them会更高效,这是Unity的默认行为。例如,假设您的场景位于艺术画廊中;如果画廊包含十几个不同的雕塑,那么将它们结合起来。如果它包含十几个相同的雕塑,请不要打扰Unity will batch them for you。
但是,您应该谨慎使用different materials,每种材料都会增加抽奖计数。所以,如果你有10个相同的型号,但使用5种不同的材料,那将是昂贵的。这种方法是使用单一材质的纹理图集,每种模型使用不同的UV贴图。这意味着您有许多不同的模型,但由于单一材料而节省了渲染时间。
另外,请注意透明着色器比不透明要贵得多,如果在彼此前面有三个半透明对象,则至少有4个渲染过程。
你可能知道这是一个复杂的主题,有很多变量(比我在这里描述的要多得多),最好通过使用分析器来判断。
以下是我在创建移动游戏时学到的一些一般经验法则,这些游戏自然具有关键性能:
答案 1 :(得分:0)
我创建了一个解释绘制调用,静态批处理,光映射等的教程。