So I’ve been working on a point and click 3D style game and I’m now stumped. As a quick little background, I’m using a PC Controller to send commands to an AI Controller which then controls a pawn. The reason for this is because I wanted to use the Move To functions as they have more options that simple move.
I’m working on my interaction portion right now - effectively a system that will control what interactions the player can do. Basically user mouses over ground, default action becomes move. User mouses over an interactive object, default action is use, mouses over another actor, default action is talk, etc.
The problem I’m running into is checking to see if the location the user has moused over is a position they can move to. Effectively I’m looking for a way to tell if the Hit result is in a navmesh or not. So far I have the current hit location passed into a ProjectPointToNavigation node which then converts to a VectorLengthXY and then compares it to 0. If it’s 0, it’s in a location that can’t be reached, but if it’s not 0, it’s somewhere on the navmesh.
The part where this breaks down is locations that seem to be not on the navmesh. I have a single navmesh volume covering my entire level. If you look at the attached image, I have a set of stairs in the level - for some reason, the game thinks the wall of those stairs along with the areas that are grey are part of the navmesh.
Is there something I’m missing here?