TokisanGames/Terrain3D

Add a way to raise height at the bottom of a cliff without also raising it at the top

tcoxon opened this issue · 2 comments

Description

Currently, if you have a steep cliff in your terrain and use the raise tool to increase height at the bottom of it, the terrain at the top is also raised. This creates a sharp 'lip' at the top:

Screencast.from.2023-12-13.17-29-57.webm

image

Obviously these examples are very exaggerated, but the 'lip' is noticeable in smoother terrain. The opposite also happens when the lower terrain tool is used at the top of a cliff.

Lips can be fixed by using the flatten tool, but it's a bit annoying to have to do another pass over them when making small adjustments at the bottom of a cliff.

It's not really incorrect behavior, so I've reported this as a feature request. I think my intuitive expectation would be for the raise/lower tool brushes to have a vertical extent, in addition to the extents along the X and Z axes. Not sure exactly how that would be determined though.

Are you willing to help create this feature?

Yes

There isn't a way currently. Those steep vertical inclines are not recommended to have in your game.

  • The vertical wall stretches the vertices which stretches the texture and the collision mesh.
  • The player may be able to pop through the cliff wall when it's like that.
  • The meshes often flicker when you have perfectly vertical 90 degree meshes. Not sure why, it probably has to do with the normal calculation.

The way I would handle this is to smooth the cliff which will condense the vertices and make the cliff wall more of an 80-85 degree angle. I'd also include bumps and height variation so it's not completely smooth. Then I'd flatten the top again if I wanted more of a sharp edge.

3D projection can fix the texture stretching. #65

I'm all for improving the tools as they're all clunky. If you want to add this, fine. But the other problems remain.