Commit Graph

228 Commits

Author SHA1 Message Date
aris theophanidis
1ec7375e83 Addition of LinkBuilderFlags to the generation config to control wich point links will be added from the created links (center, extremity or both).
#rb Yoan.StAmant

[CL 36747012 by aris theophanidis in 5.5 branch]
2024-10-01 17:40:16 -04:00
aris theophanidis
5c198f9d90 [NavLinkGeneration] Account more precisely for the agent radius size when validating link trajectories.
Fix approximation issue at the top of the trajectory in the trajectory initialization.

#rb Yoan.StAmant
#jira UE-220642

[CL 35770292 by aris theophanidis in ue5-main branch]
2024-08-23 09:58:50 -04:00
aris theophanidis
31201d46b9 [NavLinkGeneration] Addition of area class support for generated links
#rb Yoan.StAmant
#jira UE-220642

[CL 35565232 by aris theophanidis in ue5-main branch]
2024-08-15 11:45:38 -04:00
aris theophanidis
ca9aaae168 The navlink jump trajectory is now computed with a JumpHeight paramter.
The trajector will respect the JumpLength, JumpHeight and JumpMaxDepth configurations.
CL also includes removal of unused methods.

#rb sigurdur.gunnarsson, Yoan.StAmant
#jira UE-213923

[CL 35186122 by aris theophanidis in ue5-main branch]
2024-07-30 11:55:29 -04:00
joe kirchoff
12cc673c8d New msvc analysis warnings
#rnx

[CL 35114894 by joe kirchoff in ue5-main branch]
2024-07-26 14:12:48 -04:00
aris theophanidis
9d914b08c0 [NavLink Generation] Allow generated navlinks to be discovered and handled by pathfollow in a similar way to custom links.
Addition of UGeneratedNavLinksProxy class
Addition of properties to FNavLinkGenerationJumpDownConfig to configure the link handler

#rb Mieszko.Zielinski
#jira UE-213923

[CL 34843997 by aris theophanidis in ue5-main branch]
2024-07-16 12:28:09 -04:00
aris theophanidis
d2a9ea4853 Improved AStar log redability and added details when filtering nodes.
#rb Yoan.StAmant
#jira UE-213923

[CL 34717588 by aris theophanidis in ue5-main branch]
2024-06-27 14:29:10 -04:00
aris theophanidis
e069571ad0 Add a flag to indicate that a link has been generated by the navigation system and display generated links with thicker lines.
#rb Yoan.StAmant
#jira UE-213923

[CL 34565224 by aris theophanidis in ue5-main branch]
2024-06-21 11:50:58 -04:00
aris theophanidis
e7a03b8a83 Navlink generation improvements
Trim source edge tips to account for edges overlapping rasterization borders
Fix some links not connecting to navmesh because they where generated to high
Fix to the 'jump over starting distance'
Addition of descriptions to jump config properties
Small improvements to ARecastNavMesh::PostEditChangeChainProperty
#jira UE-213923
#rb Yoan.StAmant

[CL 34476916 by aris theophanidis in ue5-main branch]
2024-06-18 16:28:54 -04:00
aris theophanidis
c39d39065a [Navmesh] Recast AStart log name fix
#rb Yoan.StAmant

[CL 34469420 by aris theophanidis in ue5-main branch]
2024-06-18 13:36:26 -04:00
aris theophanidis
bfb7c3e854 Navlink generation improvements
Ignore portal edges when looking for jumps
Added the filtering distance threshold to the link builder configuration
Improved link width computation
Improved filtering of overlapping links
Disable asymetric border sizes for now (using it can result in missing links)
Remove the extra 3 voxels on borders for link generation
Keep source edge on links for debug purposes
Add display of heightfield layers to the tile debug display
Added option to draw filtered links
Rebuild navmesh when navlink generation configuration changes
#rb Mieszko.Zielinski
#jira UE-213923

[CL 34296705 by aris theophanidis in ue5-main branch]
2024-06-11 20:08:54 -04:00
nicolas bonnelly
724e1d8b45 Fix for potential crash in DetourNavMeshQuery storeWallSegment in the event that the poly->vertCount is 0.
[REVIEW] [at]olivier.lamothe, [at]mikko.mononen
#rnx
#rb Aris.Theophanidis, mikko.mononen, olivier.lamothe

[CL 34168695 by nicolas bonnelly in ue5-main branch]
2024-06-06 14:57:51 -04:00
aris theophanidis
707528b4ca [NavMesh] Optimisation: navlink generation now uses asymmetric border sizes.
It's now possible to build navmesh tiles with border sizes that are not equal all around.
When computing the extra borders to generate navlinks, borders are now asymmetric (increased only on one side of the axis)
This reduces substantially the size of the required heightfield and reduces by half the added cost of building links.
Added the ai.nav.UseAsymetricBorderSizes console command to deactivate the feature
Added AverageLinkBuildTime in the navmesh debug display
Also made sure not to compute border distance for disabled configurations
#rb mikko.mononen
#jira UE-213923

[CL 33922611 by aris theophanidis in ue5-main branch]
2024-05-27 08:26:28 -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
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
282dba2b4f Fix CIS issues in DetourNavMesh
#jira UE-213616
#rb mikko.mononen

[CL 33658991 by aris theophanidis in ue5-main branch]
2024-05-15 11:03:19 -04:00
aris theophanidis
14891e0bd8 Fix multiple CIS issues in DetourNavMeshQuery.cpp
#jira UE-213616
#rb mikko.mononen

[CL 33658763 by aris theophanidis in ue5-main branch]
2024-05-15 10:56:56 -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
125ff6ee81 Fix CIS issue in dtNavLinkBuilder
#rnx

[CL 33434074 by aris theophanidis in ue5-main branch]
2024-05-03 15:33:26 -04:00
aris theophanidis
7daeaee45e Build fix in DetourNavLinkBuilder.h
#jira UE-213923
#rnx

#rb Yoan.StAmant

[CL 33430440 by aris theophanidis in ue5-main branch]
2024-05-03 13:56:23 -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
21947274d9 [NavMesh] Optimization to simplifyContour
#rb mikko.mononen

[CL 33229066 by aris theophanidis in ue5-main branch]
2024-04-25 09:13:06 -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