private void GenerateTerrain()
        {
            bool   destroyPreview = false;
            string terrainName    = "Generated Terrain";

            TerrainGeneratorPreview terrainPreview = GameObject.FindObjectOfType <TerrainGeneratorPreview>();

            if (terrainPreview == null)
            {
                destroyPreview = true;
                Terrain_PluginManager             manager = GameObject.FindObjectOfType <Terrain_PluginManager>();
                Terrain_ProceduralTerrain_Profile profile = (Terrain_ProceduralTerrain_Profile)manager.Profile;
                profile.terrainGenerator.InstantiatePrefab();
                terrainPreview = profile.terrainGenerator.Instance.GetComponent <TerrainGeneratorPreview>();
            }

            terrainPreview.DrawMapInEditor();

            TerrainData data          = MeshToTerrain.CreateTerrainData(terrainName, 512, Vector3.zero, 0);
            GameObject  terrainObject = UnityEngine.Terrain.CreateTerrainGameObject(data);

            terrainObject.name = terrainName;

            if (destroyPreview)
            {
                GameObject.DestroyImmediate(terrainPreview.gameObject);
            }
        }
Exemplo n.º 2
0
    public override void OnInspectorGUI()
    {
        TerrainGeneratorPreview mapPreview = (TerrainGeneratorPreview)target;

        if (DrawDefaultInspector())
        {
            if (mapPreview.autoUpdate)
            {
                mapPreview.DrawMapInEditor();
            }
        }

        if (GUILayout.Button("Generate"))
        {
            mapPreview.DrawMapInEditor();
        }
    }
        internal override void InstantiatePrefab()
        {
            base.InstantiatePrefab();
            TerrainGeneratorPreview generator = Instance.GetComponent <TerrainGeneratorPreview>();

            if (randomTerrain)
            {
                heightMapSeed = Random.Range(int.MinValue, int.MaxValue);
                generator.heightMapSettings.noiseSettings.seed = heightMapSeed;
            }
            else
            {
                if (heightMapSeed != 0)
                {
                    generator.heightMapSettings.noiseSettings.seed = heightMapSeed;
                }
            }
        }