- Home /
 
 
               Question by 
               WinterboltGames · May 16, 2018 at 01:39 PM · 
                errorterrainerror messageterraindata  
              
 
              **Trying to access out-of-bounds terrain height information** When calling TerrainData.GetHeights();
Hello Community,
As the title says I'm getting this error -> Trying to access out-of-bounds terrain height information 
 
 When calling TerrainData.GetHeights(); 
 
 Here's my code... 
 
 public void RaiseTerrain(Terrain terrain, Vector3 point, int brushSize, float opacity)
     {
         var terrainData = terrain.terrainData;
 
         var terrainSize = terrainData.size;
         var terrainWidth = terrainData.heightmapWidth;
         var terrainHeight = terrainData.heightmapHeight;
 
         var offset = brushSize / 2;
 
         var tempCoordinates = (point - terrain.GetPosition());
 
         var coordinates = new Vector3
             (
             (tempCoordinates.x / terrainSize.x),
             (tempCoordinates.y / terrainSize.y),
             (tempCoordinates.z / terrainSize.z)
             );
 
         var relativeCoordinates = new Vector3(coordinates.x * terrainWidth, 0f, coordinates.z * terrainHeight);
 
         var terrainX = ((int)relativeCoordinates.x - offset);
         var terrainZ = ((int)relativeCoordinates.z - offset);
 
         terrainX = Mathf.Clamp(terrainX, 0, terrainWidth);
         terrainZ = Mathf.Clamp(terrainZ, 0, terrainHeight);
 
         var heights = terrainData.GetHeights(terrainX, terrainZ, brushSize, brushSize);
 
         for (int xx = 0; xx < brushSize; xx++)
         {
             for (int yy = 0; yy < brushSize; yy++)
             {
                 heights[xx, yy] += (opacity * Time.deltaTime);
             }
         }
 
         terrainData.SetHeights(terrainX, terrainZ, heights);
     }
 
              
               Comment
              
 
               
              Your answer