protected override void Start() { m_NoiseCubes = new List <NoiseCube>((int)(SideLength * SideLength)); base.Start(); m_Noise = FractalBrownianMotion.GenerateTileableNoise((int)SideLength, (int)SideLength, 20, 3, .55f, .05f, 2f, SimplexNoiseGenerator.Noise3D, (int)(Random.value * 10000f)); StartCoroutine(ChangeAnimPoint()); }
public void FractalBrownianMotion() { int terrainWidth = TerrainData.heightmapResolution; int terrainHeight = TerrainData.heightmapResolution; var fBm = new FractalBrownianMotion(); float[,] heightMap = TerrainData.GetHeights(0, 0, terrainWidth, terrainHeight); for (int x = 0; x < terrainHeight; x++) { for (int y = 0; y < terrainWidth; y++) { double inputX = (x + PerlinOffsetX) * PerlinScaleX; double inputY = (y + PerlinOffsetY) * PerlinScaleY; heightMap[x, y] += (float)fBm.Generate(inputX, inputY, PerlinOctaves, PerlinPersistance) * PerlinHeightScale; } } //SaveToFile(heightMap, "./OwnPerlinNoise.csv"); TerrainData.SetHeights(0, 0, heightMap); }