Wall and ceiling Nav Mesh in Unreal Engine

1,383 views
Skip to first unread message

Enrique González Rodríguez

unread,
Aug 18, 2022, 3:48:40 AM8/18/22
to recastnavigation
Hi,

I have asked on UDN about modifiying the UE Engine or the Recast library to make it possible to generate navigation meshes on walls and ceilings (basically indoors as buildings or caves).

I need this to make sort of spider units (somewhat similar to the units in Halo called Floods), so their "gravity" will always be opposite to the normal of the mesh where it sits on.

Where should I wrap Recast and Detour to make this possible and connect all the generated meshes? If it is not possible to connect them automatically, I would connect them through NavLinks.

Enrique González Rodríguez

unread,
Aug 18, 2022, 3:49:19 AM8/18/22
to recastnavigation

Mikko Mononen

unread,
Aug 18, 2022, 4:06:05 PM8/18/22
to recastna...@googlegroups.com
This is not feasible, Recast/Detour has too many assumptions about upright characters under gravity.

--mikko

--

---
You received this message because you are subscribed to the Google Groups "recastnavigation" group.
To unsubscribe from this group and stop receiving emails from it, send an email to recastnavigati...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/recastnavigation/a9cce13e-f772-43b2-882b-b7d65002aff1n%40googlegroups.com.

Enrique González Rodríguez

unread,
Aug 19, 2022, 3:22:09 AM8/19/22
to recastnavigation
The point is that these characters gravity will always be the opposite to the normal of the static mesh they sit on.

If I specify from Engine the new coordinates system and the transformations so Recast interpret it as XZ plane with gravity being the Y vector, wont it work?

In Unreal Engine, they are transforming the plane XY (the plane they consider as ground) and their Z vector (gravity vector) to Recast/Detour coordinates system in RecastHelpers.cpp (functions as Unreal2RecastPoint, Unreal2RecastMatrix, Recast2UnrealPoint, Recast2UnrealMatrix...).

My proposition is to change this file to transform the plane XZ and the Y vector to your coordinates system, so UE generates the NavMesh on that plane instead of on the ground as they will consider their ground in the new coordinates I am specifying to your library. I might do this 6 times:
 - Ground: Plane XY with Z vector up.
 - Walls:  Plane XZ with Y vector up,  plane XZ with Y vector down, plane YZ with X vector up, plane YZ with X vector down.
 - Ceilings: Plane XY with Z vector down.


The gravity system of the units is something I have managed myself in the movement component of these characters.

Enrique González Rodríguez

unread,
Aug 19, 2022, 3:34:40 AM8/19/22
to recastnavigation

Mikko Mononen

unread,
Aug 19, 2022, 3:10:04 PM8/19/22
to recastna...@googlegroups.com
In Recast/Detour it is not possible to have multiple navmeshes connected together that have different up axii.

--mikko

Reply all
Reply to author
Forward
0 new messages