Commit Graph

232 Commits

Author SHA1 Message Date
james keeling
f0de298d88 Fix crash when generating navmesh tiles if DirtyLayers has not been initialized.
#rb Aris.Theophanidis
#jira UE-218388

[CL 34528491 by james keeling in ue5-main branch]
2024-06-20 10:21:07 -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
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
frederic doll
27a1d6a308 RecastNavmeshGenerator cleanup undefined methods and unused macros
#rb Mieszko.Zielinski, Aris.Theophanidis

[CL 34107791 by frederic doll in ue5-main branch]
2024-06-04 17:31:30 -04:00
frederic doll
03a1e863dd Templatize FRunningTileElement so that it can be used by other NavigationDataGenerator
#rb mieszko.zielinski, aris.theophanidis

[CL 34103788 by frederic doll in ue5-main branch]
2024-06-04 15:31:42 -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
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
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
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
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
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
aris theophanidis
8315806359 [Navmesh] Added more information to the error message and warning messages related to the tile limits.
Added more information when reporting the error message related to the TileNumberHardLimit.
Added more information when reporting the warning message related to the tile pool size.
#rb Maxime.Mercier

[CL 31841210 by aris theophanidis in ue5-main branch]
2024-02-27 10:44:10 -05:00
jacob wang
13616d112e 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 31816533 by jacob wang in ue5-main branch]
2024-02-26 16:21:27 -05: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
steve robb
f8d47335a4 Replaced RemoveAt(N, 1, EAllowShrinking::*) with RemoveAt(N, EAllowShrinking::*).
[CL 31626444 by steve robb in ue5-main branch]
2024-02-19 16:51:58 -05:00
vincent robert
c1896a41bd Make consistent API by using GetX, SetX, GetP and SetP for physics particles
#jira UE-202397, PLAY-14685
#rb chris.caulfield, alex.mcadams, cedric.caillaud

[CL 31383921 by vincent robert in ue5-main branch]
2024-02-12 11:12:22 -05:00
steve robb
f43fc1d782 Fixed up more bool-taking calls to take EAllowShrinking instead.
[CL 30894388 by steve robb in ue5-main branch]
2024-01-25 14:09:12 -05:00
steve robb
104c0f2416 Fixed up more bool-taking calls to take EAllowShrinking instead.
[CL 30806200 by steve robb in ue5-main branch]
2024-01-23 11:07:28 -05:00
steve robb
f029468598 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30729174 by steve robb in ue5-main branch]
2024-01-19 16:41:35 -05:00