I'm experimenting with procedural landscape generation and paging terraintiles. Every TerrainTile has a Unity Terrain and is being populated with heights. I am having some difficulties with building the TerrainData object for each terrain.
In this case my goal is a terrain tile of 1km square in size with a resolution of 129. My initial assumption was I could set the desired size and feed the TerrainData object with a 129x129 array of floats.
Naturally. It isn't that easy. For this purpose the SetHeights method is needed but it has no description so I haven't a clue how to use it.
Through some experimentation and studying the exceptions the mapsize seems set to 33, with no way to change it. And I have no idea what the xBase and yBase mean.
Am I looking at this from the wrong angle? It would be great if someone could explain this in more detail.
asked Aug 14 '10 at 06:49 PM
That is correct, and yes it's that easy.
Where "myTerrain" is a Terrain and "myTerrainData" is a float[,]. The terrain resolution is not fixed at 33; it's only 33 if you've specifically set it that way (which would result in a very low-res terrain). If the resolution is 129, then you use a 129x129 array of floats. The xBase and yBase are the x and y offset; if you're setting the entire terrain, then they would be 0. If you weren't setting the entire terrain, then the offsets would be non-zero depending on where you wanted to put the section of terrain data.
answered Aug 14 '10 at 07:07 PM