Example #1
0
 // Start is called before the first frame update
 void Start()
 {
     currTerrain = initialTerrain;
     data        = currTerrain.terrainData;
     editor      = GetComponent <HeightEditor>();
     center      = new Vector3(500, 0, 500);
     CreateNeighbors(currTerrain);
 }
    // Start is called before the first frame update
    void Start()
    {
        editor      = player.GetComponent <HeightEditor>();
        terrain     = GetComponent <Terrain>();
        terrainData = terrain.terrainData;
        res         = terrainData.heightmapResolution;


        terrainData.terrainLayers = new TerrainLayer[] { editor.sand, editor.dirt, editor.snow };
        float[,] heights          = new float[res, res];
        float[,,] maps            = terrainData.GetAlphamaps(0, 0, terrainData.alphamapWidth, terrainData.alphamapHeight);

        float val;

        for (int i = 0; i < res; i++)
        {
            for (int j = 0; j < res; j++)
            {
                val           = Mathf.Sqrt(Mathf.Pow(Mathf.Sin(i / editor.firstScale), 2) + Mathf.Pow(Mathf.Cos(0 / editor.firstScale), 2)) / 2; // Mathf.PerlinNoise(i / editor.firstScale, j / editor.firstScale);
                val          += Mathf.Pow(Mathf.PerlinNoise(i / editor.secondScale, j / editor.secondScale), editor.secondPower) * editor.secondAmp;
                heights[i, j] = val;

                if (i > terrainData.alphamapWidth - 1 || j > terrainData.alphamapHeight - 1)
                {
                    continue;
                }

                if (val < 0.333)
                {
                    //if (val < 0.2)
                    //    heights[i, j] = 0.2f;

                    maps[i, j, 0] = 1;
                    maps[i, j, 1] = 0;
                    maps[i, j, 2] = 0;
                }
                else if (val < 0.666)
                {
                    maps[i, j, 0] = 0;
                    maps[i, j, 1] = 1;
                    maps[i, j, 2] = 0;
                }
                else
                {
                    maps[i, j, 0] = 0;
                    maps[i, j, 1] = 0;
                    maps[i, j, 2] = 1;
                }
            }
        }


        terrainData.SetHeights(0, 0, heights);
        terrainData.SetAlphamaps(0, 0, maps);
    }
Example #3
0
 public TerrainGenerator(TerrainData data, float xPos, float zPos, TerrainCreation creator, HeightEditor editor)
 {
     this.data    = data;
     this.xPos    = xPos;
     this.zPos    = zPos;
     this.creator = creator;
     this.editor  = editor;
     newData      = new TerrainData();
     // Set appropriate resolution
     newData.baseMapResolution = data.baseMapResolution;
     res          = newData.heightmapResolution = data.heightmapResolution;
     newData.size = data.size;
 }
Example #4
0
 public static PluginsLoader GetInstance()
 {
     Config.GetInstance();
     DrawGrid.GetInstance();
     UICommandQueue.GetInstance().InitFromGlThread();
     HeightMapPersistence.GetInstance();
     SlopeMapPersistence.GetInstance();
     MouseFilterSdlMouseCache.GetInstance();
     KeyFilterSdlKeyCache.GetInstance();
     KeyFilterConfigMappingsFactory.GetInstance();
     MainUI.GetInstance();
     HeightEditor.GetInstance();
     Camera.GetInstance();
     Framerate.GetInstance();
     FrustrumCulling.GetInstance();
     return(instance);
 }