I want my trace to ignore a specific blueprint.

Hey all!

I have an isometric style game where you tap the screen and the player moves toward the location of your tap.

Problem is, sometimes walls can get in the way! I have a blueprint system where I ‘visibility’ trace from the camera to the character, and make the the return actor semi transparent via a dynamic material instance.

But I also need to get the ‘tap location’ trace to ignore this blueprint. This node here, I mean.

…or else when I tap to a location that is behind the wall, the character will attempt to run on top of the wall, and not to the location behind it. What I need to do is have the ‘tap location’ trace to pass through the wall blueprint, but not the ‘visibility’ trace. Is that even possible?

I would appreciate any help!

~

What about creating a new trace channel and block it in your floor meshes this way, the hit result will only return collisions with your floor and not with your walls.

How would i go about doing that? I’m not too sure how to omit objects from traces, actually.

So I did a bit of research, and I found ‘multi line trace by channel’, which i can tag actors for to to ignore. This is a step in the right direction, but I need to ignore actors using the ‘get hit result under finger’ node, shown in my first post.

How would I do it there?

It’s not like that what i meant.

Go to Edit/Project Settings/Collision
Under Trace Channels, create a new one and call it what you want. Set his default response as “Ignore”.
The go back to your scene, select your floor meshes, go to the details panel, and look for “collision”, set the collision preset to “custom” and then check the new Trace channel you just created as “block”.
Now go back to your blueprint and this time when you create you “Get hit result… by Channel” node, you’ll select your newly created Trace Channel.
This way it will only detect a Hit when it collides with an actor that has this channel set to block.

Hope this helps :slight_smile:

awesome, thank you!