public void TerrainToolboxUtilities_WhenSplitTerrain_HeightmapResolutionIsCorrect(int xSplit, int zSplit, int originalHeightmapRes) { TerrainToolboxWindow toolboxWindow = EditorWindow.GetWindow(typeof(TerrainToolboxWindow)) as TerrainToolboxWindow; Texture2D gradientTexture = CreateGradientTexture(); int baseLevel = 0; int remapLevel = 1; int numberOfTiles = 1; ToolboxHelper.CopyTextureToTerrainHeight(m_TerrainComponent.terrainData, gradientTexture, Vector2Int.zero, originalHeightmapRes, numberOfTiles, baseLevel, remapLevel); Selection.activeGameObject = m_TerrainGO; m_TerrainGO.name = "TestTerrain"; m_TerrainComponent.name = "TestComponent"; RenderTexture oldRT = RenderTexture.active; RenderTexture.active = m_TerrainComponent.terrainData.heightmapTexture; // Run the test TestSplitTerrainHeightmapResolution(toolboxWindow, originalHeightmapRes, xSplit, zSplit); AssetDatabase.Refresh(); RenderTexture.active = oldRT; toolboxWindow.Close(); }
public void TerrainToolboxUtilites_WhenExportHeightmap_LevelCorrectionWorks(float min, float max, Heightmap.Format format, Heightmap.Depth depth = Heightmap.Depth.Bit16) { TerrainToolboxWindow toolboxWindow = EditorWindow.GetWindow(typeof(TerrainToolboxWindow)) as TerrainToolboxWindow; Texture2D gradientTexture = CreateGradientTexture(); int heightmapResolution = 513; int numberOfTiles = 1; int baseLevel = 0; int remapLevel = 1; ToolboxHelper.CopyTextureToTerrainHeight(m_TerrainComponent.terrainData, gradientTexture, Vector2Int.zero, heightmapResolution, numberOfTiles, baseLevel, remapLevel); Selection.activeGameObject = m_TerrainGO; m_TerrainGO.name = "TestTerrain"; m_TerrainComponent.name = "TestComponent"; RenderTexture oldRT = RenderTexture.active; RenderTexture.active = m_TerrainComponent.terrainData.heightmapTexture; //Run Tests and Cleanup files string fileName = m_TerrainGO.name + "_heightmap"; string path = Path.Combine(toolboxWindow.m_TerrainUtilitiesMode.m_Settings.HeightmapFolderPath, fileName); switch (format) { case Heightmap.Format.PNG: path += ".png"; Assert.IsTrue(TestLevelCorrection(toolboxWindow, new Vector2(min, max), path, format)); FileUtil.DeleteFileOrDirectory(path); FileUtil.DeleteFileOrDirectory(path + ".meta"); break; case Heightmap.Format.TGA: path += ".tga"; Assert.IsTrue(TestLevelCorrection(toolboxWindow, new Vector2(min, max), path, format)); FileUtil.DeleteFileOrDirectory(path); FileUtil.DeleteFileOrDirectory(path + ".meta"); break; case Heightmap.Format.RAW: path += ".raw"; Assert.IsTrue(TestLevelCorrection(toolboxWindow, new Vector2(min, max), path, depth)); FileUtil.DeleteFileOrDirectory(path); FileUtil.DeleteFileOrDirectory(path + ".meta"); break; } AssetDatabase.Refresh(); RenderTexture.active = oldRT; toolboxWindow.Close(); }