UE5’s approach to visuals and performance is not bad, but its handling of physical materials is far disappointed. I’ve been working on setting up Landscape Layer and RVT physics materials lately, but I’m stuck in every direction.In particular, the handling of physical materials on the material side is full of contradictions and confusion, and gives the impression that it has been left as a temporary solution.
First,Since “Landscape Physical Material Output” overwrites the physical materials of all layers, you cannot change only specific layers or make partial changes using a mask.This means that in Landscape, setting up physical materials forces you to choose between layers or materials.
Also, the “Landscape Physical Material Output” node can set the physical material for a layer, but it cannot obtain physical material information from the “Landscape Layer Sample”. Because of this, you cannot know what is assigned to which layer, so you must decide everything on the material.
A further problem is that the landscape layer cannot be parameterized. This means that the settings for the Physical Material cannot be instanced, and if you need new settings for each layer, you will need a new Material.
Additionally, it does not support assigning information from the RVT, which causes issues with the visual and game experience integration. For example, that no matter how well the RVT blends the snow, it is incredibly difficult to physically distinguish between the snow and the ground.
This has been a long post, but is there progress being made in addressing this issue? Or if anyone has any tips on how to solve this issue at the moment, please share.
For me the RVT path works, technically, but it seems to also break quite often and I need to rebuild the streaming textures, build-all-levels for it to differentiate between layers. When it breaks it only seems to return a single value.
I know Epic is working on a new landscape solution to overcome many of the topological/sculptings-stuffs. Unsure if there is any update to physics, etc.
Check the roadmap for foward-looking and it ought to be listed there. So whatever we’re talking about today, is likely to fundamentally change tomorrow.
Using streaming textures is a bit of a trick, and since it is not officially intended for use, it has many bugs. Updating a streaming texture does not update the physical material. This cannot be updated by normal means, only by restarting the editor or changing the Landscape physics mip level.
Furthermore, the resolution depends on the resolution of the landscape, so it is impossible to perfectly match the visual information. This ruins the RVT and physics material specifications that can be set independently of the vertex information.
However, it is so close to being feasible that I think it can be implemented without too much time. I think it’s worth bringing up in the discussion, considering what they may have overlooked.
If you can’t parameterize layer information when creating a material instance, you can’t update it there. Each landscape has different layer information, so it would be a huge burden to list all of this information on the material.
There would be no problem if the landscape layer information could be used, but if you use a “Landscape Physical Material Output” node on the material, all layer information will be discarded. This is a terrible specification to say the least.
Agreed. Caveats can be accepted, worked-with/around. For the use-cases where the landscape will be static, which is many, it does work (once) so it could work forever, if we accept nothing can change. So yes, it would be nice, in theory if it were possible to do so since it seems it can be so..