在256 x 256立方阵列之后,使用perlin噪声滞后的地图生成

时间:2015-07-10 17:47:26

标签: c# dictionary unity3d perlin-noise

我有一个Unity项目,其中我有必要的代码来创建2x2到512x512之间的纹理,并用perlin噪声填充它。我正在使用这个纹理来填充块的地图(想想我的世界)。

地图生成正确,但Unity开始滞后于那么多立方体?

Sample Image

这是生成的地图的图像,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");
}

2 个答案:

答案 0 :(得分:1)

可能你应该尝试动态加载它们,因为我的船只不需要处理每个刻度线上的所有立方体。

答案 1 :(得分:0)

你不能在场景中拥有那么多游戏对象。 应该创建网格块(所以一个网格块基本上替换了数百个立方体)

浏览统一论坛中的巨大的Minecraft-thread :(大量的解释和样本) http://forum.unity3d.com/threads/after-playing-minecraft.63149/

或者只是搜索统一的Minecraft地形,有很多教程。