how to make random terrain generation in Unity
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class gen : MonoBehaviour
{
//add this to a terrain object
public int depth = 40;
public int width = 1000;
public int height = 1000;
public float scale = 25f;
void Start()
{
Terrain terrain = GetComponent<Terrain>();
terrain.terrainData = GenerataTerrain(terrain.terrainData);
}
TerrainData GenerataTerrain(TerrainData terrainData)
{
terrainData.heightmapResolution = width + 1;
terrainData.size = new Vector3(width, depth, height);
terrainData.SetHeights(0, 0, GenHeights());
return terrainData;
}
float[,] GenHeights()
{
float[,] heights = new float[width, height];
for(int x = 0; x < width; x++)
{
for(int y = 0; y < height; y++)
{
heights[x, y] = calhi(x, y);
}
}
return heights;
}
float calhi(int x, int y)
{
float xcoord = (float)x / width * scale;
float ycoord = (float)y / height * scale;
return Mathf.PerlinNoise(xcoord, ycoord);
}
}
Are there any code examples left?
New code examples in category C#
-
C# 2022-03-27 22:40:23 c# movement script
-
C# 2022-03-27 22:15:17 Delete last modification on EntityFramework Core
-
C# 2022-03-27 22:15:02 file.create folder c#
-
C# 2022-03-27 19:25:04 Error inflating class android.support.constraint.ConstraintLayout
-
C# 2022-03-27 19:15:02 top down shooting in unity 2D
-
C# 2022-03-27 18:50:02 c# remove invalid directory characters
-
C# 2022-03-27 18:30:07 how to use K2 games Games parallax background
-
C# 2022-03-27 18:25:10 c# replace crlf
-
C# 2022-03-27 18:25:09 keycode for left mouse click unity