Textures dont have collision

Hi,

Yes that is normal, displacement is just telling the graphic card to offset the vertex in world space once it’s been rendered. It is “faked” and doesn’t update the collision mesh.

What method are you using for displacement though? Tesselation or regular World Position Offset? Because I think you can bake the world position offset in your material, although apparently it doesn’t work perfectly (I don’t think it’s possible with tesselation since it’s dynamic and depends on view distance)

Select the landscape and in Details > Landscape select “Bake Material Position Offset Into Collision”

Thanks for the screenshots.

So, first of all, you’re using tesselation which dynamically subdivises the landscape geometry in real time to be able to displace it with that kind of details.

World position offset doesn’t do that, it only takes the initial geometry and landscapes have very basic geometry, like 1 vertex per meter by default. Trying to displace details of the scale of a rock with it will not work. You probably did nothing wrong when switching to world position offset, you just can’t see the effect since the geometry is so low res by default.

Unfortunately, as I’ve said, tesselation only occurs on your GPU. It will not affect all the stuff that happens on the CPU, like collisions. It is a known and common limitation of this system and to my knowledge there’s nothing you can do to bypass it yet.

I’d say you’d probably want to switch all those bigger rocks to a static mesh so it can has collision and keep the tesselation for smaller details.

Hi, I’m a little noob in this, my apologies … I’m using the terrain tool, painting some textures to which I have assigned a height adding a parameter to “displacement”. The problem is that these textures have no collision, the legs of the character pierce the textures … Is there any way to solve this? Help please thank you

Hello! First, thanks for answering. The method I use is ¨worldDisplaccement¨. I have added some parameters to regulate the height of the textures, but I can not create a collision. I tried to change it to ¨world possition offset¨ and activate the option you told me, but that way it does not apply a height to the textures … am I doing something wrong? I add some captures, maybe you can help me. Sorry for my english, I’m translating with google translator. Thanks for answering!

Thank you, I have finally chosen to create a mesh with displacement for each material in Maya. This way I get a collision, but I can only apply the materials in your fbx file, not in my landscape. Do you know if you can apply these meshes in the layers of landscape painting ?? This way you could do all the work with the painting tool. Thanks for answering!

I’m not familiar with it but I suppose you could take a look at the landscape grass tool: Grass Quick Start | Unreal Engine Documentation

In that documentation example, it automatically spawns grass meshes where you paint your grass material on the landscape. I guess you could replace the grass by your rocks meshes and apply it to your rock layer.

You could also use the foliage tool I think.