Issue copying heightmaps from a LARGE terrain to a new, small, cutout Terrain with GETHEIGHTS and SETHEIGHTS
I have a large terrain and I have successfully cut out a section and copied all information over to a newly created and smaller terrain/terraindata and shown it in game. The only issue I seem to have is GetHeights and SetGeights.
Getheights seems to correctly get the correct height information but when I use setheights on the new terrain, it SCALES the information to the smaller terrain. So, lets say I want to create a new terrain that is 1/2 the size in both width and height, The code I use is:
TerrainData workData = new TerrainData();
Terrain workTerrain = Terrain.CreateTerrainGameObject(workData).GetComponent<Terrain>();
workData.heightmapResolution = sourceTerrain.terrainData.heightmapResolution;
workData.size = new Vector3(Size, sourceTerrain.terrainData.size.y, Size); // Size
float[,] sourceHeights = sourceTerrain.terrainData.GetHeights(X, Y, Size, Size);
workData.SetHeights(0, 0, sourceHeights);
This code will copy over the heights, but everything is CRUSHED and the rest of the terrain is flat. in the inspector, when I change the new terrain to the same size as the old one (While running), the scale is perfect but with 1/4 of the land covered with what I coppied and the rest flat (when I copy 1/2 of the original)
Any reason why? did I miss something? Does the GETHEIGHTS retain the information somehow of the original terrains width/height and scale when using SETHEIGHTS?
Your answer
Follow this Question
Related Questions
Updating the terrain collider after importing raw data 4 Answers
Update Terrain alphamap as player walks 0 Answers
How to auto-generate a terrain in Unity ? 0 Answers
Why is my terrain jagged? 0 Answers
Problems with terrain GetSteepness 0 Answers