Just out of curiosity, what was the reaction of a person, responsible for terrain, when this restriction was stated?
Mine went nuts
And she was probably right, because terrain was created in external software, where adhering to this limitation is so impractical, that terrain would need a ton of manual touch-ups in the engine. Depends on the size of the world of course, but still.
- Add ability to work with texture arrays into out of box engine version, including tool to create array from texture assets.
- Add dynamic branching into material editor.
- Overhaul weightmaps.( ex. allowing 16 bit weightmaps, storing layer ID rather than layer weight, and ideally allowing you to customize terrain painting brush to the point where you could manually specify the way to encode custom data)
- Expose terrain heightfield / normal map to material editor( You should be able to sample those in terrain’s pixel shader. Weight maps too btw.)
- Add a dedicated terrain color map.
- Untie physical surface ID from terrain weightmaps and allow to bake surface ID from terrain material.
This would be more than enough to bring UE4 on par in regards to out of the box open world capabilities. I left out misc things like virtual texturing/ sparse textures on purpose, because in my view, the list above would yield better usability improvement at lower worktime investments.
This is actually essential thing to be done, yeah.
All this is more than relevant, yeah.
Surely, no engine or hardware is/will be capable of this in nearest future. The question is why UE4 landscape system is designed in a way to bump into this limitation, forcing sacrifices in visuals, when this bottleneck can and should be avoided ?
Anyone could potentially say that any studio can overhaul it as per their needs. That is true. The reality however is, that at least 3 shipped, well-known and widely marketed UE4 titles, that are known to me, have performance issues which can be attributed to landscape texturing system in one way or another.
The need for default landscape improvement is not project specific, but is common for any open world project, hence this thread exists.