lately i’ve been fooling around with some blueprints and tried to make a point a click.
So whenever i click i save that location and send the player to it. But then i noticed i can click on walls and some other unwalkable parts and the player tries to go there stopping at the wall. Well not much of a problem with that.
But then decided to show a marker where you click just to show you exactly where the character will go, the problem is that the marker appears on walls too and that’s pretty ugly.
So i wanted to get the surface type and check if it’s of floor type and only then spawn the marker and move the character.
The problem is that it doesn’t matter where i click with the mouse, it always return the same surface type…
I’m using “Get Hit Result under Cursor by Channel” node to get the hit result. Then from the hit result pin i connect it to “Get Surface Type” node, then a “Switch” from this node that gives me 3 output pins: “Default”, “Floor”, “Walls” (those 2 i created them in project settings). For testing purposes made some prints nodes to check the return value:
Always “Default”.
I made the phys material for the floor and set it up on the floor material too (even tested with the hit of another actor and for that actor it’s working properly but not for the mouse).
i need to know when i’m tracing against walls and some other sm too, so adjusting the trace channels only for the floor wouldn’t work for me i’m afraid.
And yeah i made sure it was set up correctly. I thrown a cube in there and on its hit event did the check for surface type and it printed correctly when it was hitting in the “floor” or in the “wall”… so i don’t know
The setup is pretty simple isn’t it? You set up the physical surface in the project settings/physics, then you create a physical material in the content browser, in its properties you set the desired physical surface. Then in the material you set that created physical material. And then just set this material to the desired object.