TokisanGames/Terrain3D

World noise does not blend well with region corners or edges

Xtarsia opened this issue · 1 comments

Terrain3D version

v0.9.1

System information

Godot v4.2.1.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 2080 SUPER (NVIDIA; 31.0.15.4617) - AMD Ryzen 7 3700X 8-Core Processor (16 Threads)

Is the issue reproducable in the demo?

Yes

Issue description

image
worst case scenario
image

what I would expect is that world noise blends with the height a region edges (as best can be done)

potential solution: the world noise function could check if it has a region neighbor in all 4 direction, and if a neighbor is present then perform an extra height read at the border, and blend to that.

Logs

No response

Looking at it again, I think it works as expected.

Case 1, player standing in the middle of terrain. - The world noise is a visual gimmick only. There is no collision and there won't be until we make a terrain generator.

Case 2, hard edges. It blends in fine when the user does not put hard edges on the edge of their sculpt, and the world_noise_blend_near and _far are adjusted to blend in.

what I would expect is that world noise blends with the height a region edges (as best can be done)

The shader is not going to adjust the height data, which is what the ground collision is built off of.

With the blending parameters and the user smoothing their edges, I think it's fine. It's an expensive gimmick that I only want to use for demos anyway. I don't recommend it for games.

potential solution: the world noise function could check if it has a region neighbor in all 4 direction, and if a neighbor is present then perform an extra height read at the border, and blend to that.

If you want to try, fine, but I think our efforts would be better spend making a noise generator with erosion that will allow collision generation in #101 and gpu painting in #174