Displacement problem: character's feet overlaps the displaced surface.

Hello, Anyone could help please? The character’s feet overlaps the surface which has tessellation.


normal and not something you can prevent. move the character mesh up by the amount of tessellation. it’s about it. tessellation does not respond to visibility channel either, so Foot IK wont’ help with it.

I thought about that too, but can’t move the character up, because he would be walking on surfaces without tessellation as well. Unless there is a blueprint that can change the character position according to each surface, but that doesn’t sound much efficient… ?

Maybe Parallax would be a better solution…

You can change the character height based on the surface type, but you have to set up phys mats and make sure they work - which if you are on .19 they may not.

its not impossible, but its generally very Un Needed. Don’t use tessellation. It kills performance anyway.

create a displaced mesh in blnder, decimate its geometry after triangulation so that you get the best result, and use the mesh in game. With the same material obviously.
possibly use complex as simple for collision

that’s not very helpful is it? :rolleyes:

and what if you want to change your texture tiling, do you suggest modifying the mesh each time? what if you are blending different textures via vertex color or slope blending? what if you want to use it on Landscape? what if you want to add dynamic snow buildup?
yeah, none of that works.
moving the character up (moreso based on surface type) also seems silly, convoluted and unnecessary.

instead of moving the character up you can add a “waterline” to your displacement in the material. the idea is that your displacement goes half outwards and half inwards instead of just sticking outwards. simply put a subtract -> 0.5 after your heightmap in your material. make it a param so you can tweak it.

Parallax is also an option that’s worth exploring. it’s not necessarily cheaper either (depends on usage) and it will solve some issues but bring new issues.
while you won’t have character feet going inside the mesh, you will lose the nice and accurate “cutout silhouettes” that happens on intersecting meshes, instead you’ll just see flat/lowpoly silhouettes.
you can fix them a bit with PDO but that’s never as accurate because it’s camera-based and it brings other problems too (unwanted self-shadowing).

I’ve had another idea in mind for a while to fix this issue, but not really sure how viable it is.
the gist of it is to get the displacement values of your textures from the CPU and feed them as height modifiers to a foot IK system. this way the IK will adapt to the ground with not only the geometry height but the displacement that is added on top of it. there’s a number of considerations like knowing the UV scale and the displacement values where the CPU can read them (so a data table or similar, not from the material), and probably cache the displacement texture height values somewhere so that the CPU doesn’t need to read the texture which is expensive.
tricky but I believe it’s worth trying in order to achieve feet properly matching tessellated geometry (something AC Odyssey successfully achieved btw)

If you want collision then you do not use a texture. period.

Hey guys thank you for the suggestions!
Chosker, thank you so much for the ideas!

MostHost LA,
The idea is to use displacement on a landscape material that blends based on elevation. It places grass and rocks automatically. However, I want the displacement only to affect the rocks material on hills and mountains, because rocks are looking flat without it. That’s why just moving the character up would be very unpractical, because he would be walking all over those blended materials. Plus entering buildings that have no displacement at all.

Use the procedural volumes and spawn actual rocks over the terrain layer with it. Keep the models simple and the material with textures at or below 1024 or you will kill performance just the same. Prbably disable the shadow on them too.

Use tesselation bumps for things where collision isn’t necessary like snow.