I’m trying to create huge(about 10-20 km2) sand desert terrain, where player will leave trails and footsteps on the sand. To be more specific, I want to achieve something like sand feels in “Journey”, not just decals. I just start using UE4 after years in Unity, and I actually done same thing in Unity, by these steps:
[Terrain Generation]
- Generating terrain as tiled mesh from height map image (32x32 quads per 100 meters for each chunk)
- Generating basic detail height map textures for every chunk (every chunk have unique seamless texture for sand waves, footprints e.t.c.)
- Every chunk stores height map pixels grayscale data as array of bytes
[Shader] - Applying distance based tesselation, vertex displacement, normal from height map, all based on chunk unique heightmap texture
[Deformation on Runtime] - Calculate affected pixels for every chunk player step (chunkHeightmapPixel = Lerp(chunkHeightmapPixel, footprintBrushPixel, footprintBrushPixel.Transparency))
- Apply textures change
Maybe I could use better algorithm, but it works just fine with drawing trails and footprints every frame.
I’m very new to Unreal, so I’m asking your suggestions, what is best/easiest way to achieve same in Unreal? Can I use “Landscape” for this, writing data to each affected chunk by using unique chunk heightmap textures with tesselation/displacement shader?