Commit Graph

102 Commits

Author SHA1 Message Date
yoan stamant
60770f6f4f RecastNavMeshGenerator: Fixed regression introduced by 6675381 by configuring flag bRestrictBuildingToActiveTiles before marking NavBounds dirty for newly created navmesh. This prevents the whole navmesh to be generated when using Navigation invokers.
#rnx
#jira UE-77357
#rb maxime.mercier
[FYI] mieszko.zielinski

#ROBOMERGE-SOURCE: CL 7419221 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v371-7306989)

[CL 7419246 by yoan stamant in Main branch]
2019-07-17 13:35:45 -04:00
mieszko zielinski
5beeedf257 Added some ensure in NavigationSystem to track down some server crashes related to obsolete entries in ObjectToOctreeId
#rnx
[at]maxime.mercier,[at]mieszko.zielinski
#rb mieszko.zielinski


#ROBOMERGE-OWNER: mieszko.zielinski
#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 7307208 via CL 7315100
#ROBOMERGE-BOT: (v371-7306989)

[CL 7318580 by mieszko zielinski in Main branch]
2019-07-16 05:52:45 -04:00
Mieszko Zielinski
22b436775d Removed the octree reference from FNavigationOctreeElement
Submitting to Main as a follow up to 7308751

#jira none
#rb Yoan.StAmant
#review-7308772 Yoan.StAmant
#okforgitub public

[CL 7309638 by Mieszko Zielinski in Main branch]
2019-07-15 12:47:46 -04:00
yoan stamant
d29f1887a0 Added number of dirty areas to GameplayDebugger category navmesh
#rnx
[at]maxime.mercier
#rb guillaume.guay


#ROBOMERGE-SOURCE: CL 7289773 via CL 7306493
#ROBOMERGE-BOT: (v370-7290619)

[CL 7306546 by yoan stamant in Main branch]
2019-07-15 06:42:54 -04:00
mieszko zielinski
dba21ecc9d Fixed wrong copyright dates in NavigationDataHandler
#rb none


#ROBOMERGE-SOURCE: CL 7250275 via CL 7262923
#ROBOMERGE-BOT: (v369-7254125)

[CL 7263084 by mieszko zielinski in Main branch]
2019-07-10 13:44:06 -04:00
mieszko zielinski
20394910d1 Fixed NavigationSystemConfigOverride never creating an instance of NavigationSystem in PIE if it gets loaded as part of a sublevel
#rb none


#ROBOMERGE-SOURCE: CL 7249197 via CL 7262695
#ROBOMERGE-BOT: (v369-7254125)

[CL 7262761 by mieszko zielinski in Main branch]
2019-07-10 13:40:31 -04:00
mieszko zielinski
18deb52976 Deprecation-related linux cis fixes
#rb none


#ROBOMERGE-SOURCE: CL 7249172 via CL 7262694
#ROBOMERGE-BOT: (v369-7254125)

[CL 7262757 by mieszko zielinski in Main branch]
2019-07-10 13:40:29 -04:00
mieszko zielinski
7c0bb2f243 Added functionality to RecastNavMesh that allows one to procedurally bulk-change navmesh generation properties
As part of the process I've deprecated essentially unused ARecastNavMesh.AgentMaxHeight and removed the code accessing it.

[at]Yoan.StAmant
#rb Yoan.StAmant


#ROBOMERGE-SOURCE: CL 7249093 via CL 7262675
#ROBOMERGE-BOT: (v369-7254125)

[CL 7262737 by mieszko zielinski in Main branch]
2019-07-10 13:40:01 -04:00
mieszko zielinski
01d1a04236 Engine-level code updated to go along with NavigationSystem refactor
[at]Yoan.StAmant, [at]Maxime.Mercier, [at]Guillaume.Guay
#rb Yoan.StAmant


#ROBOMERGE-SOURCE: CL 7249090 via CL 7262602
#ROBOMERGE-BOT: (v369-7254125)

[CL 7262605 by mieszko zielinski in Main branch]
2019-07-10 13:32:37 -04:00
mieszko zielinski
f7f3268d52 Extracted NavigationSystemV1's logic concerning NavOctree and navigation DirtyAreas into a separate structures for reusability
Notable changes:
- Added FNavigationOctreeController that wraps up what used to be NavigationSystemV1's navoctree-related logic
- Added FNavigationDirtyAreasController that wraps up what used to be NavigationSystemV1's DirtyAreas-related logic
- Added FNavigationDataHandler that is a helper struct that wraps up what used to be NavigationSystemV1's logic related to operation involving both navoctree and dirty areas
- Deprecated both FNavDataConfig.NavigationDataClass and FNavDataConfig.NavigationDataClassName and replaced them with a single NavDataClass property
- FNavigationOctree is not responsible for hashing element objects and storing their ElementId
- NavOctree elements how know about the octree they belong to (via a member property).

[at]Yoan.StAmant, [at]Maxime.Mercier, [at]Guillaume.Guay
#rb Yoan.StAmant


#ROBOMERGE-OWNER: mieszko.zielinski
#ROBOMERGE-AUTHOR: mieszko.zielinski
#ROBOMERGE-SOURCE: CL 7249089 via CL 7262555
#ROBOMERGE-BOT: (v369-7254125)

[CL 7262559 by mieszko zielinski in Main branch]
2019-07-10 13:31:21 -04:00
mieszko zielinski
b2955d2bdc Removed the remaining the traces of the original UNavigationSystem from the engine code
[at]Yoan.StAmant
#rb Yoan.StAmant


#ROBOMERGE-SOURCE: CL 7090744 via CL 7104302
#ROBOMERGE-BOT: (v367-6836689)

[CL 7104406 by mieszko zielinski in Main branch]
2019-06-20 10:54:21 -04:00
mieszko zielinski
084709fff1 Fixed StoreCollisionCache in RecastNavMeshGenerator.cpp to properly reset the array GeomExport.Data->CollisionData array.
It used to Reserve rather than Empty which in edge cases left the array at undesided state/size.

#jira UE-76279
Yoan.StAmant
#rb Yoan.StAmant

#ROBOMERGE-SOURCE: CL 7061952 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v367-6836689)

[CL 7061953 by mieszko zielinski in Main branch]
2019-06-18 04:42:34 -04:00
yoan stamant
9ecf848837 NavigationOctree: tentative fix to prevent obsolete entries in NavigationSystem ObjectToOctreeId map. We now also consider pending kill objects since we only need them to retrieve the world and to get the map key.
[REVIEW] [at]maxime.mercier


#ROBOMERGE-SOURCE: CL 7041604 via CL 7041619 via CL 7041621 via CL 7042245 via CL 7047496
#ROBOMERGE-BOT: (v367-6836689)

[CL 7048353 by yoan stamant in Main branch]
2019-06-17 13:58:25 -04:00
Rolando Caloca
aa0d2303d6 Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) @ 6944469
#rb none
#rnx

[CL 6944849 by Rolando Caloca in Main branch]
2019-06-11 18:27:07 -04:00
Michael Lentine
f9b3324b32 Copying //UE4/Dev-Physics to Dev-Main (//UE4/Dev-Main) @ 6903150
#rb none
#rnx

[CL 6903163 by Michael Lentine in Main branch]
2019-06-08 17:15:34 -04:00
christopher moritz
02c14e857d -Adding additional validation to ensure the element index is properly within the element bounds before accessing.
[REVIEW] [at]Josh.May, [at]Maxime.Mercier, [at]Tim.Tillotson, [at]Yoan.StAmant

[FYI] [at]Mieszko.Zielinski


#ROBOMERGE-SOURCE: CL 6868479 via CL 6868482 via CL 6868488 via CL 6868976 via CL 6870366
#ROBOMERGE-BOT: (v366-6836689)

[CL 6870484 by christopher moritz in Main branch]
2019-06-06 19:00:59 -04:00
Steve Robb
dc7bce02fb Deprecation warning fix.
#rb none
#jira none

[CL 6858965 by Steve Robb in Main branch]
2019-06-06 03:53:26 -04:00
Chris Gagnon
930e33cb48 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.23 From CL 6837861
#rb none

[CL 6838042 by Chris Gagnon in Main branch]
2019-06-04 15:42:48 -04:00
Marc Audy
cf48c338c5 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 6834564
#rb
#rnx
#lockdown Michael.Noland

[CL 6834940 by Marc Audy in Dev-Framework branch]
2019-06-04 09:58:36 -04:00
Mieszko Zielinski
564a8d1f3e Added a dedicated warning for when we attempt to creat a dtNavMesh instance with maxTiles == 0.
Also, made sure we release the faultu dtNavMesh instance if we're not going to use it.

#jira UE-71027
#review-6676106 @Yoan.StAmant
#rb Yoan.StAmant

[CL 6676722 by Mieszko Zielinski in Dev-Framework branch]
2019-05-30 12:22:17 -04:00
Mieszko Zielinski
31fa3c7421 Made sure we mark all the navigable space dirty after recreating dtNavMesh instance due to mismatching navmesh properties.
#jira UE-65963
#rb none

[CL 6675381 by Mieszko Zielinski in Dev-Framework branch]
2019-05-30 08:42:12 -04:00
Mieszko Zielinski
cd19b057a7 Fixed a bug in ARecastNavMesh::GetRandomReachablePointInRadius that resulted in erronous behavior for big(ish) Radius values.
The bug resulted from us using a strange extent ({Radius,Radius,Radius}) when projecting the initial location to navmesh. I've used a lot more reasonable DefaultQueryExtent for this purpose with Z being set to BIG_NUMBER. When a big Radius value was used the underlying recast code was expected to query a lot of polygons, but there's a hard limit of 128 polygons to process in multiple places in Recast lib (for performance reasons). These two facts combined resulted in finding awkward query starting point when using large Radius. The new approach first projects the query origin 'down' taking advantage of the assumption that the querier location is (more or less) on navmesh, since the whole query is about reachable locations.

#jira UE-66058
#review-6665296 @Yoan.StAmant
#rb Yoan.StAmant

[CL 6674755 by Mieszko Zielinski in Dev-Framework branch]
2019-05-30 03:11:13 -04:00
Mieszko Zielinski
167345c8eb Fixed NavModifierVolume not updating navmesh upon undoing changes in the editor
#jira UE-57115
#rb none

[CL 6663464 by Mieszko Zielinski in Dev-Framework branch]
2019-05-29 09:38:42 -04:00
Mieszko Zielinski
61f3b0d4d3 Added logging to the two cases that can make RecastNavMeshGenerator recreate the dtNavMesh instance (dumping the serialized one)
#rb none
#jira none

[CL 6651556 by Mieszko Zielinski in Dev-Framework branch]
2019-05-28 05:40:31 -04:00
Mieszko Zielinski
853203af9a Re-registering NavAreas modified in the editor to support better debugging via NavigationTestingActors (for example)
#jira UE-69074
#rb none

[CL 6650205 by Mieszko Zielinski in Dev-Framework branch]
2019-05-27 10:38:39 -04:00