Currently, the Terrain tool Flatten will raise or lower terrain to the nearest full/empty voxel. This means that “flatten” does not actually bring all voxels to be “flat” with the area you click, what I’ll refer to as the “reference point”. This is not expected or useful behavior.
You can see that the left bump flattens down, even though the reference point is on the peak of that bump and I expect the terrain to raise to meet it. Then for the right bump, you can see the entire bump raise up in addition to the surrounding terrain, not just the surrounding terrain to the reference point.
Because of this, it’s currently tedious and slow to flatten out terrain to meet things like curbs and fill small gaps. Now I have to go around and manually raise the terrain with the sculpt tool or use a plugin which are never efficient or good workarounds (basic expected functionality shouldn’t be patched with plugins).
Notice how I cannot raise the terrain up to the curb because it’s in between two voxel positions.
Notice how many clicks this requires and post-work clean up of any clipping.
I’m sure this may be an optimization feature built in the flatten tool since I think I remember seeing that partially full voxels are less optimized, but let me choose how I optimize my game. This is an unoptimized concession I’m ok with to achieve a desired look.
Also before anyone tells me to lower the sidewalks to be in line with the voxel grid or to lower them, I cannot for reasons elsewhere in the map.
This is a similar issue for me, I rely on precision with the voxel grid considering 1 full voxel equals 4 studs, so an imprecision of even 0.5 voxels would mean my character’s feet are now clipping through the groundplane!
There should be a setting to toggle whether or not it rounds to the nearest voxel.
I also heavily suffered from this problem back when I was doing lots of terrain manipulation. It forced me to draw selection boxes and fill it with air to accurately flatten the map, which was very tedious.
I would expect the functionality to work more like in the game Astroneer where the initial click point would be used as a reference height (or plane) and then just all nearby terrain would respect it.
As a temporary workaround, here is a plugin that @tyridge77 made.
This still doesn’t negate the need for proper tooling and developers shouldn’t rely on the good nature of community devs to solve basic tool functionality