Commit Graph

340 Commits

Author SHA1 Message Date
frederic doll 17e15a079b Extract loop that notify the navigation data about which invokers are currently active
#rb Aris.Theophanidis

[CL 33829475 by frederic doll in ue5-main branch]
2024-05-22 10:42:58 -04:00
aris theophanidis 98138a3e0e [NavMesh] NavLink generation
Using inline containers to limit dynamic allocations
Added options to toggle usage of link configs
Added build time in the display stats and added logs
#jira UE-213923
#rb mikko.mononen

[CL 33809987 by aris theophanidis in ue5-main branch]
2024-05-21 17:09:32 -04:00
frederic doll 8ed3931ea8 Expose FRecastGeometryExport struct. This allows us to :
- share the struct with other navigation data generators
- use it directly where needed instead of using the RecastNavMeshGenerator (e.g. NagivationSystem, NavigationDataHandler, etc.)
#rb Aris.Theophanidis
[FYI] mieszko.zielinski

[CL 33807192 by frederic doll in ue5-main branch]
2024-05-21 16:01:41 -04:00
alex kahn 730fb5f899 [Backout] - CL33802742 - CIS Compile Error
#rnx
[FYI] Aris.Theophanidis
Original CL Desc
-----------------------------------------------------------------
[NavMesh] NavLink generation
Using inline containers to limit dynamic allocations
Added options to toggle usage of link configs
Added build time in the display stats and added logs
#jira UE-213923
#rb mikko.mononen

[CL 33807075 by alex kahn in ue5-main branch]
2024-05-21 15:59:15 -04:00
aris theophanidis 421d819570 [NavMesh] NavLink generation
Using inline containers to limit dynamic allocations
Added options to toggle usage of link configs
Added build time in the display stats and added logs
#jira UE-213923
#rb mikko.mononen

[CL 33806057 by aris theophanidis in ue5-main branch]
2024-05-21 15:38:40 -04:00
aris theophanidis e99fb6f898 Navlink generation optimizations
Use stack allocator to allocate samples
Added profiler events
Addition of a parameter to reduce sampling precision
Added edge index labels to the diplay allowing to inspect a specific edge easily
#jira UE-213923
#rb mikko.mononen

[CL 33659685 by aris theophanidis in ue5-main branch]
2024-05-15 11:19:57 -04:00
aris theophanidis 79796191a6 [NavMesh] NavLink generation improvements:
Refactor to keep solidHF and compactHF for the lifetime of FRecastTileGenerator
Allowed the sliced generator to build links
Fix issue with missing solidHF and compactHF when building links
Added experimental link builder configurations to RecastNavmesh
Increase heightfield border size when building links
Fix missing input edges on tile borders when generating links
Changed ARecastNavMesh "Draw Failed NavLinks" debug name to Draw Failed and Valid Links"
Added profile tags inside link generation
Small navlink geneneration debug display improvements
#jira UE-213923
#rb Maxime.Mercier

[CL 33544704 by aris theophanidis in ue5-main branch]
2024-05-09 09:45:57 -04:00
aris theophanidis 0dc538920e [NavMesh] Navlink generation first pass (experimental).
When enabled, generates simple links within navmesh tiles.
Added debug display showing trajectory and trajectory validation.
#jira UE-213923
#rb mikko.mononen

[CL 33427009 by aris theophanidis in ue5-main branch]
2024-05-03 11:17:46 -04:00
aris theophanidis 65134cfdd5 [NavMesh] Removed MaxVerticalMergeError and instead prevent point merging when adding raw contour points if simplificationElevationRatio is being used.
#rb mikko.mononen

[CL 32872748 by aris theophanidis in ue5-main branch]
2024-04-11 02:03:16 -04:00
robert seiver 186a79fd37 Stop trying to interpret very large position/rotation/scale values on a Nav Mesh. Instead, forcibly truncate those values to fit inside a 32 bit integer.
#jira UE-198003

#rb Aris.Theophanidis, jacob.wang

[CL 32725096 by robert seiver in ue5-main branch]
2024-04-04 08:13:46 -04:00
frederic doll b34b33ba02 Resubmit CL32516242 after fixing the float precision warnings
Add way to test if we have complete nav data ready around a segment (instead of a single point)
#rb Aris.Theophanidis

[CL 32527222 by frederic doll in ue5-main branch]
2024-03-26 18:30:27 -04:00
alex kahn 7cb2ade710 [Backout] - CL32516242 - CIS Compile Error
#rnx
[FYI] frederic.doll
Original CL Desc
-----------------------------------------------------------------
Add way to test if we have complete nav data ready around a segment (instead of a single point)
#rb Aris.Theophanidis

[CL 32519609 by alex kahn in ue5-main branch]
2024-03-26 15:21:24 -04:00
frederic doll 59e54644c7 Add way to test if we have complete nav data ready around a segment (instead of a single point)
#rb Aris.Theophanidis

[CL 32517870 by frederic doll in ue5-main branch]
2024-03-26 14:29:35 -04:00
yoan stamant 98931f0c5a [NavigationSystem] updated some method display names to be consistent with other BP exposed functions
#jira UE-209508

#rb mikko.mononen

[CL 32470811 by yoan stamant in ue5-main branch]
2024-03-25 11:16:30 -04:00
yoan stamant 73e3be5b16 Added unsafe type cast as warnings in AI related plugins/modules: StateTree, Mass, SmartObject. NavigationSystem, and ZoneGraph (partial)
#rb Mieszko.Zielinski, mikko.mononen

[CL 32398227 by yoan stamant in ue5-main branch]
2024-03-21 09:44:11 -04:00
nicolas bonnelly 9faba90583 Added a function in RecastNavMesh that returns the surface area of a poly.
[REVIEW] [at]Aris.Theophanidis

#rb Aris.Theophanidis

[CL 32254300 by nicolas bonnelly in ue5-main branch]
2024-03-14 15:01:10 -04:00
robert seiver 389d2b116f Fixed issues caused by CL 32192095 and resubmitting:
Upgrades to SplineNavModifierComponent:
- Now updates any time any sibling USplineComponent changes in a meaningful way such as changes to: bIsLooping, moving/adding/removing spline points, modifying component transform, adding/removing USplineComponents from the actor
- Now lets the user assign a spline instead of arbitrarily finding the first spline referenced on a the object

#rb Yoan.StAmant
#jira UE-202492

#changelist validated
#virtualized

[CL 32230423 by robert seiver in ue5-main branch]
2024-03-13 17:47:41 -04:00
edwin maynard eaf34fd6c0 [Backout] - CL32192095 (backed out due to compile errors)
[FYI] robert.seiver
Original CL Desc
-----------------------------------------------------------------
Upgrades to SplineNavModifierComponent:
- It's now an editor only component
- Now updates any time any sibling USplineComponent changes in a meaningful way such as changes to: bIsLooping, moving/adding/removing spline points, modifying component transform, adding/removing USplineComponents from the actor
- Now lets the user assign a spline instead of arbitrarily finding the first spline referenced on a the object
#rb Yoan.StAmant
#jira UE-202492

#changelist validated
#virtualized

[CL 32193532 by edwin maynard in ue5-main branch]
2024-03-12 17:31:55 -04:00
robert seiver 19b356df3c Upgrades to SplineNavModifierComponent:
- It's now an editor only component
- Now updates any time any sibling USplineComponent changes in a meaningful way such as changes to: bIsLooping, moving/adding/removing spline points, modifying component transform, adding/removing USplineComponents from the actor
- Now lets the user assign a spline instead of arbitrarily finding the first spline referenced on a the object
#rb Yoan.StAmant
#jira UE-202492

#changelist validated
#virtualized

[CL 32192156 by robert seiver in ue5-main branch]
2024-03-12 17:01:21 -04:00
jacob wang 18e821f5c5 Fix for InstanceStaticMeshComp with odd numbers of negated scale axis won't generate navmesh correctly.
Added the missing flipping indices step where the vertices of ISMComp are converted to Recast Space.

#jira UE-161139
#rb Aris.Theophanidis, Yoan.StAmant, Maxime.Mercier

[CL 31815521 by jacob wang in ue5-main branch]
2024-02-26 15:49:35 -05:00
yoan stamant 9722c0198a [Navigation] Replaced custom NavLink static registration queue by a new world subsystem that will also store NavRelevantObject that are not AActor/UActorComponent based.
This change allow new NavigationSystem created after initial map load (e.g. ANavSystemConfigOverride) to properly recreate its custom nav link mappings and octree.
#rb Aris.Theophanidis, mikko.mononen, robert.seiver

[CL 31733116 by yoan stamant in ue5-main branch]
2024-02-22 15:44:43 -05:00
aris theophanidis 769fc18eb3 NavigationTestingActor: Don't reset ShowStepIndex for every request and allow to save it's value (not transient anymore).
#rb Yoan.StAmant

[CL 31646971 by aris theophanidis in ue5-main branch]
2024-02-20 11:21:49 -05:00
robert seiver 7e81d67809 Use an existing adaptive tessellation algorithm in BezierUtilities to subdivide the spline in SplineNavModifierComponent. This algorithm adapts to the curvature of the spline so that curvier spots get broken down into more linear segments for higher fidelity
#jira UE-202492
[REVIEW] [at]Mikko.Mononen
#rb mikko.mononen, aris.theophanidis

#changelist validated
#virtualized

[CL 31581781 by robert seiver in ue5-main branch]
2024-02-16 16:54:19 -05:00
aris theophanidis 4a7d13345d [Navigation] Addition of a query to ANavigationTestingActor to display if navigation data is ready (has been generated) within a given radius.
#rb Yoan.StAmant

[CL 31100921 by aris theophanidis in ue5-main branch]
2024-02-01 15:59:21 -05:00
aris theophanidis b745b36a89 [Invokers] Avoid reserving local containers every frame.
Add a profiler tag for more precise tracking.
#rb mikko.mononen

[CL 31017782 by aris theophanidis in ue5-main branch]
2024-01-30 15:11:16 -05:00