Commit Graph

113 Commits

Author SHA1 Message Date
yoan stamant
c1a425a2d4 NavSystem: Prevent AbstractNavData from being rejected during NavigationData registration. Problem was exposed by recent change to the order in which NavDataRegistrationQueue is processed. Since AbstractNavData uses the default config, it was rejected since another navigation data was already registered for the same agent config (which was not the case when AbstractNavData was processed first). With this change, we should no longer be dependant on the registration order.
#jira UE-78811
[at]guillaume.guay [at]mieszko.zielinski


#ROBOMERGE-SOURCE: CL 8119051 via CL 8122721
#ROBOMERGE-BOT: (v401-8057353)

[CL 8124722 by yoan stamant in Main branch]
2019-08-20 09:59:05 -04:00
guillaume guay
45ca026404 Partial rollback of CL6604191.
RecastNavMeshGenerator initialization should be called right after object construction to ensure virtual methods are properly called and derived classes are fully constructed before rebuild navigation mesh.

#rnx
#rb yoan.stamant
[fyi] [at]Mieszko.Zielinski


#ROBOMERGE-SOURCE: CL 7981977 via CL 7996225
#ROBOMERGE-BOT: (v396-7974030)

[CL 7996495 by guillaume guay in Main branch]
2019-08-13 14:20:01 -04:00
Marc Audy
1c3be81dca Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 7950634
#rb
#rnx

[CL 7950994 by Marc Audy in Dev-Framework branch]
2019-08-12 12:52:39 -04:00
Marc Audy
3d0b873e3f Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 7712956
#rb
#rnx

[CL 7713270 by Marc Audy in Dev-Framework branch]
2019-08-04 15:53:40 -04:00
Benn Gallagher
3a4873ef60 Copying //UE4/Dev-Physics to Dev-Main (//UE4/Dev-Main) @ 7703071
#rb
#rnx

[CL 7705805 by Benn Gallagher in Main branch]
2019-08-02 09:01:58 -04:00
guillaume guay
a8821f80b4 - Added navigation system config 'bUseNavDataInAdditionalLevelWhenDuplicatedAgent". When set to TRUE, adding or streaming an additional level containing an already registered navigation data, it will unregister current one and register the new one;
- Added navigation system config 'bGenerateNavDataWhenNoCompatibleNavBound". When set to TRUE (default) it will still generate navigation data if any NavBoundVolume is compatible with its NavDataConfig, if false it gets rid of that navigation data;
- Make sure that when "bSpawnNavDataInNavBoundsLevel" is TRUE, it builds the navigation data in the first level containing a NavBoundVolume that actually supports this navigation data config (not any first one);
- Added virtual method on NavigateSystem "OnNavSystemOverriden" to give a chance to inspect previous NavigationSystem when getting overriden by a nav config override;
- Added some missing NavigationSystem clean up logic.

#tests client/server standalone Creative AI, Phoebe and regular + editor
#cr maxime.mercier
[FYI] mieszko.zielinski, stephen.holmes, yoan.stamant


#ROBOMERGE-OWNER: guillaume.guay
#ROBOMERGE-AUTHOR: guillaume.guay
#ROBOMERGE-SOURCE: CL 7679442 via CL 7679443 via CL 7688466
#ROBOMERGE-BOT: (v383-7686620)

[CL 7688470 by guillaume guay in Main branch]
2019-08-01 12:53:04 -04:00
maxime mercier
3404e04afb Fix regression in reachitecture of NavSystem
#rb stephane.delmer
#rnx


#ROBOMERGE-SOURCE: CL 7678434 via CL 7678435 via CL 7683318
#ROBOMERGE-BOT: (v382-7680231)

[CL 7683469 by maxime mercier in Main branch]
2019-08-01 10:35:59 -04:00
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
Marc Audy
f3f7604cd4 Merge UE4/Main to Dev-Framework @ 7329145
#rb
#rnx

[CL 7415594 by Marc Audy in Dev-Framework branch]
2019-07-17 12:57:46 -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
Marc Audy
278eda75dd Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 7234503
#rb
#rnx

[CL 7263339 by Marc Audy in Dev-Framework branch]
2019-07-10 13:47:03 -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
Yoan StAmant
534afb4738 Dynamic Obstacle support for Instanced Static Mesh or Hierarchical Instanced Static Mesh Component
FRecastTileGenerator & FRecastNavMeshGenerator
* Better support for transformation of per instance Convex shapes in MarkDynamicArea (replacing PartialTransformConvexHull)
* Added Per Instance modifier support in GrabDebugSnapshot for VisualLogger (both Geomerty export & AreaNavModifier)
* Added Per Instance modifier support in ExportNavigationData (both Geomerty export & AreaNavModifier)

FCompositeNavModifier
* Deprecated PerInstanceTransformDelegate code since it is unused and duplicated functionality handled by FNavigationRelevantData
* Added flag to mark as a PerInstance modifier

Fixed NavigationDataDump when default FBox is used (since GetVolume will be computed from uninitialized values)

#jira UE-71481
#review-6893930 @mieszko.zielinski
#rb mieszko.zielinski

[CL 6912667 by Yoan StAmant in Dev-Framework branch]
2019-06-10 12:57:10 -04:00
Marc Audy
15b8fb0c82 Merging CL# 6858965 //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework)
#rb
#rnx

[CL 6910573 by Marc Audy in Dev-Framework branch]
2019-06-10 09:15:23 -04:00