Terrain Issues with Details 1.7.6

This was on my list for some time and the other forum posting on the terrain system (showcase) got me into trying to transfer over my UE4 landscape material over to Flax. This is a show stopper in regards to Flax. Looks like Flax terrain needs a bunch of work.

Again this is no TLDR posting. The details are confusing and need to be detailed. Let’s get into this.

  • 8 Layers verified working with hand painting. Layers 4 to 8 were problematic but I was able to get them to work but such a fickly pain and so much clicking.
  • Very few terrain feedback items in the material editor. Very basic terrain system.
    Note here: not a snarky comment but simply a surprise how basic this terrain system is.

With how basic the Flax Terrain is and the 8 layers working fine (mostly) it hit me that this is very Unity 4 and 5 like and much less like UE4. This is okay but needs to be treated differently in regards to painting/texturing. So I decided to do some various testing with an external set of tools that I create amazing terrains with full coloring.

I have used L3DT Pro for years then slowly migrated to World Creator. L3DT is amazing but takes some brain tricks to get into and figure it out. Great results though. World Creator is much more visual and includes all the amazing tools and is modern and fast. It is a better system now. So that is what I will use below. WC was originally a Unity plugin product then migrated to a stand alone.

L3DT L3DT - Large 3D Terrain Generator (bundysoft.com)
World Creator World Creator - The Terrain and Landscape Generator (world-creator.com)

Here is a sample anyone with World Creator can use.

image
You can see here the map size is set up as 4096m x 4096m here.

This is the 0 Point looking North (water removed)

Same location in Flax. I have a grid material on this now but you can see the scaling is off. and the heightmap is rotated. The shadow mapping is also not affected the terrain.

Cranking up the directional light to cast shadows farther to affect the terrain.

The point above is that a terrain map should handle shadows differently than normal objects. The Flax Terrain LOD system is definitely working but the light mapping is taking its information like any normal mesh. This method has a bad visual and poor performance end result.

You can see here that the shadow map being generated on this material tester is just about perfect. The Flax lighting model in general is excellent. Also noted here that the grid normal map being applied to the terrain material is actually being treated properly by the Flax lighting model.

Generated Heightmap (PNG 8 or 16 does cause stepping within Flax. Raw Int16 is smoother but loses details. Flax crashes with Raw Float 32)

Generated Colormap. This is a great option to paint a terrain with super high quality.

I put a grid checker to see how the Flax terrain chunking happens for the LOD as well as something I was seeing in how the layers are being handled on the terrain. What is interesting here is that the texture has been flip vertically and inverted. The 8 should be at the bottom left 0,0,0. This has to be a bug.

Also note here that the texture is replicated per the 16 grid that comes from the patches created.


image

With the color map and normal map applied (I flipped the Y channel from World Creator so did not use the Flax work around for the flip Y channel bug). The normal map is very high quality here and matches the color map perfectly. The issue here is the 16 grid patches. I have not been able to find an option in the material to clamp or wrap the texture/material to span it across the entire terrain as with a common mesh UV such as a plane.

The size of the terrain being report at the creation scale of 5000 (??) but in scene scale of 1 is slightly larger than the exact sized plane. This is close though so not a large issue.
image

Here is the colormap applied to a 500m plane. What is very interesting here is the shadows being generated here is all by the normal map. Also note here that the shadow is being generated over the entire 500m plane where the shadows were breaking down on the terrain mesh. The detail is great and again the lighting model works well. Also of note here is that the texture maps are 8192 and should be viable for a map of 5000m as shown in the WC pic at the top. Based upon the 500m plane below the texture is already be pixelated. Stretching this over 5000m stretches the color map too much. So the texture has been compressed somehow and is showing when used on large meshes. Strange.

And finally here is the normal map (DirectX version with the flipped Y channel)

The final test I have been trying to do is what does this terrain as a large mesh (non-terrain) with no LODs do. I am 100% sure the color map and normal map will be applied correctly since the UV is a plane. World Creator is locking up on the mesh export with either FBX and OBJ so looking for the Blender Bridge option to see if I can get the mesh into Blender then exported from there.

And that is that.
Cheers
O

1 Like