Impossible to igonre Landscape collision without also ignoring "world static"?

So, I was trying to make my pawn to ignore the landscape for a sec or so, though that would be simple enough.
Added a new object type on the project collision, set that object type for my landscape, and on the pawn, I just set it to ignore that object type collision. Then I would just do it dynamically trough a blue print chaning the collision profile, but turns out it does not work at all.

So I made a very simple test.
New Level > Open world > click on landscapce, set collision to NoCollision, run.
It still have the collision with everything.

So I don’t know if I’m missing something, but seems like Landsacpe collision has something else bound to it that its not visible at the editor.

It only works if in the pawn collision profile, select ignore “world static”, but that just ignores baiscally everything :frowning: .

those are the steps I tried.

It sound simple enough, create a new object type for the landscape “MyLandscape”, and one object type for my pawn “MyPawn”,

Then I made two profiles, one for the landscape that ignores MyPawn, and other for the pawn that ignores MyLandscape.

But it just doesn’t work… It only works if I also ignore “world static” in my new paw profile, but that also include basically everything else.

I was going to switch between the normal pawn profile and mine trough an action skill to allow the character to fall down the landscape. But since it was not working at all, I just set the pawn collision profile at the blue print itself, and it still doesn’t work :frowning: .

What am I missing?





I think you are using collision channels but you probably bungled the settings and nomenclature

You just need to play around on what they interact with - and you also need to make sure that the landacape is in fact using said channel.

Trace down from the character and see what channel the trace returns.

Also, the movement component is in charge of dictating what you collide with. Not necessarily the capsule settings.
But drill down into both.
It is 100% possible.

What do you mean by trace down? Trace in what?

So I made a line tracer by object, it requires a channel array, I can add any channel in that array, including the new object type set for the landscape, it will not detect anything, until I select “world static”, then it hits.

If I trace by visibility channel, it finds the landscape proxy component with the default physics material.

I don’t think it is working as it should at all.
If you could do this test you will see, just make a cube fall trough the landscape without having to set its collision to ignore “world static”.

Its like 1 minute test:
just make a new level, open world,
Then add a cube actor and select simulate physicis, move up a little bit.
Then add a new object type for the collision channel and set the landscape to custom, set the object type to wathever new object channel you made, from the cube collision make it custom and ignore the new channel, it will still colide, and it will keep coliding until “works static” is set to ignore.

Trace by objects, where object array is all channels except “world static”:

Trace channel, visibility:

runtime result:

Did I miss understood what you said? Or did I test it wrong? Please don’t tell me this is because landscape is a terrible component to be used :frowning:

What?
This make even less sense now, so I just add another object and another profime, they are exact the same a part from the object type.
And one works while the other don’t.

And it gets even weirder, I made a trace trough capsule profile, and using the cube profile it still hits the land while the cube actor just pass right trough.

Is there like a cache system or something that might be loading old data?

Oh found why that cubeprofile works, it has no collision query, which don’t help as it don’t colide with anything else.

Still don’t understand why the trace using the same profile doesn’t work though, should behave the same at least

ok, so it is just impossible to change the landscape object type to anyother object type.
It changes in the editor, but at runtime it still “world static”, that simple.
I guess it is more Landscape been a terrible outdated component.
show case: https://www.youtube.com/watch?v=hV6r9uj1Ogc

Whatever. Any line trace will give you results. And to chrck on if the landscape takes to the custom channel or not is exactly why i brought that up.

Normally, landscape always has physics - it must to allow for setting up the physmat on it, which is normally how you go about getting different responses for sound effects and similar things based on landscape paint layer.

However, you dont understand how profiles work.

You set a profile up and you flag what it responds to and how.

Then you set up all thw other profiles to decide how they respond to the profile you created.

This way you get things like
World Dynamic to collide with World Static but not with other World Dynamic objects for instance.

Or more appropriately, it is how tou get Pawn to not collide with physics body - since a pawn capsule often contains physics bodies and activating those physics would explode the object.
while still allowing the physics bodies to collide with the pawn from their end.

So to get a profile that allows a character to walk through/ignore collision you want to first creste the profile and mark it to ignore everything.
then you want to modify the pawn profile to also ignore the profile you added.
then and only then once you assing the profile you created and run the engine, will the character capsule (or any object) ignore the one you assigned to.

So for the question “Is it possible to change the landscape collision object type?”, the answer is just a big NO.

I did all that above. And it doesn’t works, as I show in the last video.
landscape object is simple set to world static doesn’t meter what you have in the editor.
The only channel that works for ignoring landscape is world static.

It is very possible.

You need to check what the landscape issues as the channel it responds to after you make the change.

Its very possible that in-spite of what you have it set to the physical material is taking over for it.
And its even more possible that after 4.22 - in which the engine landacape was bugged and not returning a physmat at all - some id1ot thought it was a good idea to hard code a default response.

If you want to bypass it, you can pull the engine source, fix it, and maybe even go as far as pushing to the repo for inclusion.
You’d sooner be dead if you were to wait for Epic to do anything about anything.

1 Like

I’m starting to understand why you said this component is 20 years old and should not be used
damm :smiling_face_with_tear: I’m going to study that math you shared instead of wasting time with landscape crap

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.