我有一个Unity项目,其中我有必要的代码来创建2x2到512x512之间的纹理,并用perlin噪声填充它。我正在使用这个纹理来填充块的地图(想想我的世界)。
地图生成正确,但Unity开始滞后于那么多立方体?
这是生成的地图的图像,256x256。
任何正确方向的线索都会受到赞赏,我只是对如何通过它感到困惑。
这是填充地图的方法
private void GenerateMap ()
{
for (int x = 0; x < creator.resolution; x++) {
for (int z = 0; z < creator.resolution; z++) {
Object newCube = Instantiate (cube, new Vector3(x, Mathf.Round (texture.GetPixel (x, z).b * 10), z), Quaternion.identity);
newCube.name = "Cube: " + x + ", " + z;
}
}
Debug.Log ("Finished generating world");
}
答案 0 :(得分:1)
可能你应该尝试动态加载它们,因为我的船只不需要处理每个刻度线上的所有立方体。
答案 1 :(得分:0)
你不能在场景中拥有那么多游戏对象。 应该创建网格块(所以一个网格块基本上替换了数百个立方体)
浏览统一论坛中的巨大的Minecraft-thread :(大量的解释和样本) http://forum.unity3d.com/threads/after-playing-minecraft.63149/
或者只是搜索统一的Minecraft地形,有很多教程。