在Unity游戏中实现大型六边形网格(256x256)的游戏时,游戏变得非常慢并且几乎无法运行。六边形在预制件中。脚本控制网格的大小和每个六边形之间的间距。如何渲染Unity对象的1024x1024网格?
当游戏基于Win64构建时,它仍然很慢。
这是渲染的六边形图像:
答案 0 :(得分:0)
尝试使网格元素保持静态,并确保在播放器设置中打开静态批处理。这将显着优化其渲染。您可能甚至应该将它们全部组合到一个网格中(为此目的,请参阅this one等工具)。
如果您可以向我们展示实际场景层次结构和网格节点的实际结构,那么我们可以提供更多帮助。
答案 1 :(得分:0)
由于Unity的工作原理,非静态对象往往会变得沉重 - 它们每个都会以自己的变换结束,即使它们不在屏幕上也会被绘制。
这就是为什么没有看到更多来自Unity的Minecraft克隆的原因。
如果由于某种原因无法将六边形设置为静态(即:创建程序级别等),则必须通过创意着色器操作来模拟六边形(例如将每个网格保存到单个顶点数组中)第二个跟踪相应的网格ID)或者通过编写一个脚本来创建/添加顶点和面到单个游戏对象上的单个网格。
您还可以通过创建较小的关卡来加速场景,并在玩家向它们移动时加载/卸载它们。请参阅:Application.LoadLevelAdditive