Commit Graph

672 Commits

Author SHA1 Message Date
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
michael nicolella
2322b6f3cd autortfm: fix issues related to the movement component being created uninstrumented
- revert the code that puts MovementComponent->RegisterComponent(); into the 'open' with a custom undo handler - our new treatment of UObject construction and rollback handles this naturally now, and adding components uninstrumented means that we don't properly capture the state of component lists. this was leading to memory corruption / crashes

- a few additional fixes across a couple of other modules which are necessary to run RegisterComponent with autortfm instrumentation

#rb Brandon.Schaefer, nathan.green

[CL 33565434 by michael nicolella in ue5-main branch]
2024-05-09 20:25:32 -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
f87be6a13e [NavMesh] Fix tile portals not connecting caused by picking opposite portal direction (on an edge above or below) when building mesh adjacency.
This fixes issues seen in stairs where the stair corridor can be blocked by a hard edges when edges between layers do not match perfectly.
#rb mikko.mononen

[CL 33184707 by aris theophanidis in ue5-main branch]
2024-04-23 19:13:50 -04:00
aris theophanidis
8d4f1b4c1d Fix crash in ARecastNavMesh::FindPath when NavData is missing from the query.
#rb Yoan.StAmant

[CL 33093196 by aris theophanidis in ue5-main branch]
2024-04-18 21:23:31 -04:00
joe bestrotheray
9017b211be log actor and actor label to LogNavigationDirtyArea logs when they dirty a nav tile
#rb Aris.Theophanidis, Loic.Devaux

[CL 32941204 by joe bestrotheray in ue5-main branch]
2024-04-12 15:39:32 -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
a-canary
c2b6ea65e6 PR #11558: Fixed RecastNavMeshGenerator to use TotalNavBounds when IsValid is 'true'
#rb Aris.Theophanidis
#jira UE-208339

[CL 32596594 by a-canary in ue5-main branch]
2024-03-28 17:48:04 -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
4c768189cf Fix CIS Issue 446894: type cast warning
#rb Aris.Theophanidis

[CL 32440125 by yoan stamant in ue5-main branch]
2024-03-22 13:36:29 -04:00
yoan stamant
aec3d741fb [Navigation] fix issue introduced in 32398037 causing navmesh to rebuild
#rb Aris.Theophanidis

[CL 32436895 by yoan stamant in ue5-main branch]
2024-03-22 12:21:58 -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