Commit Graph

332 Commits

Author SHA1 Message Date
stephen holmes
34fbec0ed7 Added safety check to nav mesh loading in case code with older nav mesh version attempts to load newer versioned nav mesh.
#rb Mikko.Mononen
[FYI] Aris.Theophanidis

#ROBOMERGE-AUTHOR: stephen.holmes
#ROBOMERGE-SOURCE: CL 18418266 in //UE5/Release-5.0/... via CL 18418281
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18418292 by stephen holmes in ue5-release-engine-test branch]
2021-12-09 08:42:03 -05:00
stephen holmes
958f8a9d70 [Backout] - CL18404146
[FYI] Stephen.Holmes
Original CL Desc
-----------------------------------------------------------------
Memory optimizations for Recast (Detour). I used UE_LOG in recast as it's already there. Also I only added [at]UE BEGIN [at]UE END for the big stuff as a hint that its been changed in case of issues.

#ROBOMERGE-AUTHOR: stephen.holmes
#ROBOMERGE-SOURCE: CL 18417786 in //UE5/Release-5.0/... via CL 18417810
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18417812 by stephen holmes in ue5-release-engine-test branch]
2021-12-09 07:11:32 -05:00
stephen holmes
d81cea02c3 Memory optimizations for Recast (Detour). I used UE_LOG in recast as it's already there. Also I only added [at]UE BEGIN [at]UE END for the big stuff as a hint that its been changed in case of issues.
[at]Aris.Theophanidis, [at]Mikko.Mononen
#preflight 61b0706418370fb3a0e6da2c

#ROBOMERGE-AUTHOR: stephen.holmes
#ROBOMERGE-SOURCE: CL 18404146 in //UE5/Release-5.0/... via CL 18404149
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18404152 by stephen holmes in ue5-release-engine-test branch]
2021-12-08 04:50:39 -05:00
jeanfrancois dube
3f12778841 World Partition Grid Placement
- Deprecated enum EActorGridPlacement and replaced AActor::GridPlacement by bIsSpatiallyLoaded.
  - It makes more sense from a user perspective to set an actor as "non-spatially loaded" instead of "always loaded", especially with data layers.
  - If we ever need it, having the possibility to set actors to use their location or bounds to go in the grid will be a per-grid setting.

#rb richard.malo, sebastien.lussier
#preflight 61af8bf10e59fd0ab0f93cc4

#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 18395825 in //UE5/Release-5.0/... via CL 18395836
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18395850 by jeanfrancois dube in ue5-release-engine-test branch]
2021-12-07 11:50:24 -05:00
aris theophanidis
44dfa7e172 [Navmesh] Validate bounds passed to FNavigationOctree::AddNode
#rb Yoan.StAmant, Luciano.Ferraro
#preflight 61ae3454674c129867a72680

#ROBOMERGE-AUTHOR: aris.theophanidis
#ROBOMERGE-COMMAND: FnMain
#ROBOMERGE-SOURCE: CL 18383534 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v896-18170469)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
#ROBOMERGE[bot1]: Main

[CL 18383559 by aris theophanidis in ue5-release-engine-test branch]
2021-12-06 11:44:18 -05:00
jon nabozny
f89b654be6 Changes to SceneVisibility
1.  Nanite meshes are not longer marked as always visible, and will go through the standard rendering culling / pipeline.
2.  Add coarse frustum culling using the already existing scene octree.
3.  Remove Distance visibility bit array, and converted only usage to using the visibiliity map.  (Spoke with Kenzo about this, the original was put in due to differences between distance a vis flags, but this has been fixed)
4.  Optimized Frustum culling methods across the board.

[at]Graham.Wihlidal [at]krzysztof.narkowicz [at]andrew.firth
#preflight 6137e0d1d9c85a00015375cb

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: brandon.dawson
#ROBOMERGE-SOURCE: CL 17459502 via CL 17911378 via CL 18360795 via CL 18361127
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18361363 by jon nabozny in ue5-release-engine-test branch]
2021-12-02 18:21:56 -05:00
luciano ferraro
c1511879e5 Added a log that shows when a dirty area is dirtying one or more tiles:
- usable to understand (per navmesh) how many tiles we are dirtying and what the biggest offenders are

[REVIEW] [at]Loic.Devaux, [at]Guillaume.Guay, [at]Mieszko.Zielinski, [at]Aris.Theophanidis
[FYI] philippe.painchaud, Felix.Laplante, Patrick.Carroll, Guillaume.Morreel, Josselin.Francois


#ROBOMERGE-AUTHOR: luciano.ferraro
#ROBOMERGE-SOURCE: CL 18299019 via CL 18300916 via CL 18300964 via CL 18301452 via CL 18301480
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18301490 by luciano ferraro in ue5-release-engine-test branch]
2021-11-26 14:26:02 -05:00
stephen holmes
a0eb390e23 Fix for unnecessarily rebuilding of nav mesh based on the number of bits requried to store maxTiles.
#rb Mikko.Mononen
#preflight 619e8ddd801b361978cbd1ef

#ROBOMERGE-AUTHOR: stephen.holmes
#ROBOMERGE-SOURCE: CL 18292987 in //UE5/Release-5.0/... via CL 18292992
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18292996 by stephen holmes in ue5-release-engine-test branch]
2021-11-25 03:31:41 -05:00
luciano ferraro
f67fc6cdd4 Removed unnecessary nullptr check on DestNavMesh which is triggering PVS for some old code
[FYI] Mieszko.Zielinski, Aris.Theophanidis

#ROBOMERGE-AUTHOR: luciano.ferraro
#ROBOMERGE-SOURCE: CL 18285166 via CL 18285174 via CL 18285183 via CL 18286627 via CL 18286686
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18286715 by luciano ferraro in ue5-release-engine-test branch]
2021-11-24 14:11:25 -05:00
luciano ferraro
2b8cebedbd (per navmesh) avoided dirtying nav areas that have been requested by a source object that is not supposed to generate geometry onto the navmesh (via FNavigationOctreeElement::ShouldUseGeometry): optional via bUseVirtualGeometryFilteringAndDirtying (disabled by default)
Added a new weakptr "OptionalSourceObject" in the FNavigationDirtyArea, needed to support the previous change

#rb Mieszko.Zielinski, Aris.Theophanidis
[FYI] philippe.painchaud, Felix.Laplante, Patrick.Carroll, Guillaume.Morreel, Loic.Devaux, Guillaume.Guay

#ROBOMERGE-AUTHOR: luciano.ferraro
#ROBOMERGE-SOURCE: CL 18281932 via CL 18281953 via CL 18281968 via CL 18282252 via CL 18282290
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18282297 by luciano ferraro in ue5-release-engine-test branch]
2021-11-24 07:04:55 -05:00
matt peters
e2962f88c9 SavePackage: Deprecate Conform and DiffMap arguments, and change the interface to use a FSavePackageArgs struct instead of a large number of separate arguments.
#rb Francis.Hurteau
[RN] Core, Minor

#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 18279152 in //UE5/Release-5.0/... via CL 18279174
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18279186 by matt peters in ue5-release-engine-test branch]
2021-11-23 20:56:06 -05:00
aris theophanidis
2627737af5 Addition of OnNavigationInitDone delegate in UNavigationSystemBase
#jira UE-114032
#rb Mieszko.Zielinski
#preflight 619d01ed47752856c967eaaf

#ROBOMERGE-AUTHOR: aris.theophanidis
#ROBOMERGE-SOURCE: CL 18270615 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 18270644 by aris theophanidis in ue5-release-engine-test branch]
2021-11-23 11:00:11 -05:00
stephen holmes
575f024994 Modified logging to include the mapname for better debugging of Cooking warnings.
#rb Yoan.StAmant

#ROBOMERGE-AUTHOR: stephen.holmes
#ROBOMERGE-SOURCE: CL 18250473 in //UE5/Release-5.0/... via CL 18250478
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18250485 by stephen holmes in ue5-release-engine-test branch]
2021-11-19 05:25:59 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
yoan stamant
ef1f10466b Misc type conversion warning fixes
#rb maxime.mercier
#preflight 618d6d32c80d0ce51ae61965

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18156659 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 18156710 by yoan stamant in ue5-release-engine-test branch]
2021-11-11 14:57:15 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
aris theophanidis
99750a4097 [Navmesh] It's now possible to select and display internal navmesh tile generation steps by setting properties on a navmesh actor.
#rb Mikko.Mononen
#jira none
#preflight 617ae5dad65ac900017c150c

#ROBOMERGE-AUTHOR: aris.theophanidis
#ROBOMERGE-COMMAND: FnMain
#ROBOMERGE-SOURCE: CL 17968210 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
#ROBOMERGE[bot1]: Main

[CL 17968285 by aris theophanidis in ue5-release-engine-test branch]
2021-10-28 15:44:45 -04:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
aris theophanidis
84df4756f6 Fix navmesh rendering colors originating from recast
#rb Mikko.Mononen
#jira none
#preflight 6176a8aa7f75c700019400e8

#ROBOMERGE-AUTHOR: aris.theophanidis
#ROBOMERGE-SOURCE: CL 17905898 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17905940 by aris theophanidis in ue5-release-engine-test branch]
2021-10-25 09:59:04 -04:00
aris theophanidis
5b2e9e44ce Fix navmesh rendering not displaying some triangles
#rb Mieszko.Zielinski
#jira none

#ROBOMERGE-AUTHOR: aris.theophanidis
#ROBOMERGE-SOURCE: CL 17888051 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17888130 by aris theophanidis in ue5-release-engine-test branch]
2021-10-21 14:52:47 -04:00
yoan stamant
42299b520f [DebugDrawDelegateHelper] rollback of delegate unregistration issue previous fix and implemented a different approach for cases where proxy is not created:
In some code paths for loaded actors the call order might be different since primitive registration gets deferred (i.e. FRegisterComponentContext != nullptr).

Case 1 (normal flow): FRegisterComponentContext == nullptr
 > UPrimitiveComponent::CreateRenderState_Concurrent : calls CreateSceneProxy
 > RegisterDebugDrawDelegate
 > UnregisterDebugDrawDelegate  ==> works fine

Case 2 (deferred AddPrimitive): FRegisterComponentContext != nullptr
 > UPrimitiveComponent::CreateRenderState_Concurrent : defers CreateSceneProxy
 > RegisterDebugDrawDelegate (skip register since not init)
 > CreateSceneProxy
 > UnregisterDebugDrawDelegate  ==>  ensures in UnregisterDebugDrawDelegate

With this new version `CreateRenderState_Concurrent` calls `RequestRegisterDebugDrawDelegate` that will take care of registering the delegate immediately or mark it for deferred execution. An explicit call to `ProcessDeferredRegister` is then required from `CreateSceneProxy` to implement proper flow:

Case 2 (fixed) (deferred AddPrimitive + deferred Register): FRegisterComponentContext != nullptr
 > UPrimitiveComponent::CreateRenderState_Concurrent: defers CreateSceneProxy
 > RequestRegisterDebugDrawDelegate: defers RegisterDebugDrawDelegate
 > CreateSceneProxy: calls ProcessDeferredRegister & RegisterDebugDrawDelegate
 > UnregisterDebugDrawDelegate  ==> works fine

Bonus:
- New DebugDrawComponent abstract class that is now used to share common functionalities between existing debug related components. Takes care of DelegateHelper registration flow to render text on screen from different sources.
- FDebugDrawDelegateHelper::InitDelegateHelper is no longer virtual and derived classes requiring extra data from their associated scene proxy should set it up from their overriden CreateSceneProxy
- FDebugDrawDelegateHelper derived classes should not override RegisterDebugDrawDelegate/UnregisterDebugDrawDelegate to use their `DrawDebugLabels` method since this is already a virtual method that would get called from the base class.
- Fixed a few ViewFlag members in the SceneProxy so the DelegateHelper base class can behave as expected

#jira FORT-419154
#rb mieszko.zielinski
#preflight 61703f8766ed7f0001c0faf1

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-COMMAND: FnMain
#ROBOMERGE-SOURCE: CL 17875336 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
#ROBOMERGE[bot1]: Main

[CL 17875370 by yoan stamant in ue5-release-engine-test branch]
2021-10-20 13:23:33 -04:00
james keeling
8059f622f1 Fix Navigation System overzealously re-building DynamicModifiersOnly-type navigation data during OnWorldInitDone when AutoGenerateNavigationData is disabled. Re-factored the check for dynamic navmesh generation type to its own function and replaced the code in RebuildAll, CanRebuildDirtyNavigation, and OnWorldInitDone.
#jira UE-131764
#preflight 61688a1cc46ae60001d3c791
#rb Aris.Theophanidis, Mieszko.Zielinski

#ROBOMERGE-AUTHOR: james.keeling
#ROBOMERGE-SOURCE: CL 17828712 in //UE5/Release-5.0/... via CL 17828715
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17828720 by james keeling in ue5-release-engine-test branch]
2021-10-15 09:47:52 -04:00
aris theophanidis
37408e3ef3 Remove references to UE4
#rb Mieszko.Zielinski
#jira UE-111790
#preflight 6166f28fe296ed00012aa75c

#ROBOMERGE-AUTHOR: aris.theophanidis
#ROBOMERGE-SOURCE: CL 17801871 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17802186 by aris theophanidis in ue5-release-engine-test branch]
2021-10-13 12:36:30 -04:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
aris theophanidis
309de56e39 [Navigation] Stop dirtying packages on any navigation generation finish.
That change was made to help with a user experience issue but it's causing more issues than benefit.
#rb Mieszko.Zielinski
#jira none
#preflight 615f06ef99e9f200016d630b

#ROBOMERGE-AUTHOR: aris.theophanidis
#ROBOMERGE-SOURCE: CL 17750059 in //UE5/Release-5.0/... via CL 17758030
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17758252 by aris theophanidis in ue5-release-engine-test branch]
2021-10-07 22:25:02 -04:00