我有一个复杂的大型团结场景,包括地形,树木,草地,鲜花和许多其他物体。
我遇到了性能问题,我想知道是否有可能将所有永不移动或变化的静态物体(如地形树,房屋和其他道具等)烘焙成一个大型静态物体以提高性能?
由于
答案 0 :(得分:0)
查看静态对象here.
上的Unity文档许多优化需要知道对象是否可以在游戏过程中移动。有关静态(即非移动)对象的信息通常可以在编辑器中预先计算,因为它不会因对象位置的变化而无效。例如,可以通过将多个静态对象组合成称为批处理的单个大对象来优化渲染。
要将GameObject标记为静态,您只需选中检查器窗口中的静态框,并选择所需的GameObject。
答案 1 :(得分:0)
这不是一个好主意。具有单独的网格比将它们全部组合成一个巨大的网格更有益和有效。这将允许您为对象设置不同的LOD系统,树木和细节对象的广告牌,并且可以更好地控制场景,而无需一次又一次地重建那个巨大的对象。
对于大型场景,设置细节级别(LOD)系统非常重要。它本质上意味着基于物体与相机的距离,将呈现该物体的更高或更低质量的模型。在近距离处,将渲染最高的多边形模型。在不需要细节的很远的距离处,可以使用较低的多边形数模型。有关详细信息,请参阅the Unity Manual。您还可以在互联网上查找脚本和教程。
另外,请确保您的地形设置合理。将地形的像素误差设置为1是过度的,类似于4-5就足够了。细节密度,广告牌开始,细节和树距离所有这些都可以降低。
或者只是检查未经优化的脚本或着色器是否出错,这通常是问题所在。未经优化的3D模型也是如此。除了从Sketchup的3D仓库(从个人经验中说话)中挑选模型之外,您还必须做的不仅仅是。除非您自己掌握技能,否则您将 向艺术家付费以获得高质量,优化的LOD网格模型。