Best practices for delimit accessible area?

Hi,

i saw it in many games. Those hose levels, where you just move forward.
How can i create limits? With Blocking Volumes? But they are just rectangular.
Is it possible to delimit accessible area by using information from NavMesh?

Please answer me how to do this best.

Thanks in advance.

sgwave

I’m not quite sure what you mean, but yeah, you can limit playable space with blocking volumes, which can be rotated so their boxiness is not a big problem.

If you’re asking if player’s movement can be restricted by navmesh then… kindof. Look at TopDown template how it can be done. If you’d like a direct control over your player pawn then currently there’s no way to use navmesh to restrict movement.

Unless you do it yourself, every frame snapping player pawn’s location to it’s projection to navmesh (although you might want to leave the Z coordinate alone :wink: ).

Cheers,

–mieszko

Hi,

thanks for your reply.

I am new to Unreal development. Before that i created mods in skyrim.
what i really mean is:

For interiors i know how to do it, just create navmesh and the walls, floors and ceilings are the blocking volumes.
But imagine a open world. In Skyrim there were some places without navmesh. So if the player
stood on these places, the enemy could not reach the player. If the player had a bow, he could fire on the
enemy without fearing to be attacked by the enemy.

To make non-accessible areas in an open world would mean to create tons of blocking volumes and that can be really time-consuming. What i thought: i have to create navmesh anyway and it would be logical that wherever the enemy can move the player can move, wherever the enemy cannot move, the player cannot move. The first thought is that the player is also bound at navmesh like the enemy.

Kind regards

sgwave

Yeah, I’ve figured.

Restricting player to navmesh is one of the main tools to make your game consistent in terms of where AI and Player can go.

There’s no out-of-the-box solution for it, but you might implement it yourself, like I described above.

I’d go and just add it as an option in CharacterMovementComponent if it wasn’t for lots of design decisions that need to do into it, and different games might want to solve some of those in a different way.
Still I think I can put something in :smiley:

Cheers,

–mieszko