Download

Problems with teleport when having two floors.

This is with the 4.13 VR Template for VIVE w/ Motion Controllers. So let’s say there are two floors (Main floor and Basement), when on the top OR the bottom floor if you try to teleport next to a wall or against a nav boundaries it automatically tries and WILL put you on the opposite floor either above the wall or below it. My level has a gap between the floors of empty space and it does this as well. Even if I try to put a nav boundary between the floors with BLOCKALL it still teleports the player on top or below the level.

Any ideas of how I can get the teleport to ignore this?

I’ve also experienced this and while have not invested time yet into trying to fix it I would love to know if anyone has a solution.

In BP_MotionController the function Trace Teleport Destination projects the hit point onto the nav mesh. By default it uses a single float - Project Nav Extents for the distance in all three axes. Navmesh doesn’t follow normal geometry exactly, so you need a projection tolerance - exactly how much depends on your nav mesh build settings. But you don’t need anything like as large as 500 which is the default in the template. 500 is likely larger than the distance between floors, so it’s happily picking a nav mesh point on the “wrong” floor. Try just lowering that value - say 100, or 50. Or for finer control, change it to a vector and keep a wider tolerance aside from height.

Thanks man. I didnt even think to look through the functions within a function!

Thank you so much @TurtleSimos , I am on 4.26 and this was my problem/solution.