void Awake() { alg = new DiamondSquareAlgorithm(); terrain = GetComponent <Terrain>(); h_size = terrain.terrainData.heightmapResolution; terrain.terrainData.SetHeights(0, 0, alg.GenerateTerrain(h_size, seed, variation, roughness)); }
public void TestFindSquareMidPoint() { Tuple <int, int>[] points = { new Tuple <int, int>(0, 0), new Tuple <int, int>(2, 0), new Tuple <int, int>(0, 2), new Tuple <int, int>(2, 2) }; var result = DiamondSquareAlgorithm.FindSquareMidPoint(points); var expected = Tuple.Create(1, 1); Assert.AreEqual(expected, result); }
public void TestFindDiamondsMidPoints() { Tuple <int, int>[] points = { new Tuple <int, int>(0, 0), new Tuple <int, int>(4, 0), new Tuple <int, int>(0, 4), new Tuple <int, int>(4, 4) }; var result = DiamondSquareAlgorithm.FindDiamondsMidPoints(points); Tuple <int, int>[] expected = { new Tuple <int, int>(2, 0), new Tuple <int, int>(4, 2), new Tuple <int, int>(0, 2), new Tuple <int, int>(2, 4) }; Assert.AreEqual(expected, result); }
public void TestFindMeanHeight() { Tuple <int, int>[] coords = { new Tuple <int, int>(0, 0), new Tuple <int, int>(0, 1), new Tuple <int, int>(1, 1), new Tuple <int, int>(1, 0) }; float[,] heights = { { 1, 2 }, { 3, 4 } }; var mean = DiamondSquareAlgorithm.FindMeanHeight(coords, heights); var expected = 2.5f; Assert.AreEqual(expected, mean); }
public void TestDiamondSquareInit() { var mapSize = 3; var result = DiamondSquareAlgorithm.DiamondSquareInit(mapSize); Tuple <int, int>[] expected = { new Tuple <int, int>(0, 0), new Tuple <int, int>(2, 0), new Tuple <int, int>(0, 2), new Tuple <int, int>(2, 2) }; Assert.AreEqual(expected, result); }
public void TestFindSquareCorners() { var division = 2; var point = Tuple.Create(2, 2); var result = DiamondSquareAlgorithm.FindSquareCorners(division, point); Tuple <int, int>[] expected = { new Tuple <int, int>(2, 2), new Tuple <int, int>(4, 2), new Tuple <int, int>(2, 4), new Tuple <int, int>(4, 4) }; Assert.AreEqual(expected, result); }
public void TestFindDiamondCornersRight() { var mapSize = 5; var division = 2; var point = Tuple.Create(mapSize - 1, 2); var result = DiamondSquareAlgorithm.FindDiamondCorners(division, point, mapSize); Tuple <int, int>[] expected = { new Tuple <int, int>(4, 1), new Tuple <int, int>(3, 2), new Tuple <int, int>(4, 3) }; Assert.AreEqual(expected, result); }
public void TestFindDiamondCornersFull() { var mapSize = 5; var division = 2; var point = Tuple.Create(1, 1); var result = DiamondSquareAlgorithm.FindDiamondCorners(division, point, mapSize); Tuple <int, int>[] expected = { new Tuple <int, int>(1, 0), new Tuple <int, int>(2, 1), new Tuple <int, int>(0, 1), new Tuple <int, int>(1, 2) }; Assert.AreEqual(expected, result); }
public void CreateTerrain(int allDivisions, float meshSize, float meshHeight, float scale) { /* * Get corresponding terrain data and set the heights calculated by * our diamond square algorithm. */ TerrainData terrainData = terrain.terrainData; DiamondSquareAlgorithm.ResultSet resultSet = DiamondSquareAlgorithm.CreateTerrain(allDivisions, meshSize, meshHeight); terrainData.SetHeights(0, 0, GetHeights(terrainData, resultSet, scale)); }
public static Vector3[] Generate(int mapSize) { return(DiamondSquareAlgorithm.GenerateDiamondSquareMap(mapSize, _r, _seed, heightMultiplier, _heightCurve)); }