var td = Terrain.activeTerrain.terrainData;
var size = td.heightmapResolution;
var heightmap = td.GetHeights(0, 0, size, size);
WorkerThread.Create(delegate ()
{
for (int y = 0; y < size; ++y)
{
for (int x = 0; x < size; ++x)
{
heightmap[y, x] = 1f - heightmap[y, x];
}
}
},
delegate ()
{
td.SetHeights(0, 0, heightmap);
});