Commit Graph

394 Commits

Author SHA1 Message Date
yoan stamant
a788975f6b Fixed type conversion warnings
#rb mikko.mononen

[CL 27890994 by yoan stamant in ue5-main branch]
2023-09-14 15:23:22 -04:00
dan smith
f5d38eaa89 MassRepresentation processor dependency ordering fixes
Added UE::Mass::ProcessorGroupNames::LOD to ExecuteAfter dependencies for UMassRepresentationProcessor by default, to ensure LOD computation occurs before MassRepresentationProcessor tries to enact the requested LOD's representation changes.

Also put UMassStationaryISMSwitcherProcessor.cpp in the Representation processor group, still keeping it's explicit ExecuteAfter of UMassVisualizationProcessor within the group.

[REVIEW] [at]Mieszko.Zielinksi

[CL 27753377 by dan smith in ue5-main branch]
2023-09-11 10:43:23 -04:00
aris theophanidis
c9746e2fac Only do navigation updates for the required instances in UMassVisualizationComponent::HandleChangesWithExternalIDTracking (instead of dirtying the whole component size)
#rb Maxime.Mercier

[CL 27726115 by aris theophanidis in ue5-main branch]
2023-09-08 16:23:01 -04:00
mieszko zielinski
fceb69567c Added Mass-side support for registering multi-mesh FStaticMeshInstanceVisualizationDesc while providing a list of ISMComponents to handle those meshes (used to support only a single ISMComp registration this way).
[CL 27706794 by mieszko zielinski in ue5-main branch]
2023-09-08 06:01:02 -04:00
yoan stamant
af18715d36 [Mass] Added missing initializations in FMassViewerInfoFragment
[CL 27613689 by yoan stamant in ue5-main branch]
2023-09-05 17:31:01 -04:00
mieszko zielinski
e47ee96053 Made UMassStationaryISMSwitcherProcessor::Execute handle invalid representation index properly with some complaining (ensure).
#rb trivial

[CL 27592060 by mieszko zielinski in ue5-main branch]
2023-09-05 05:14:53 -04:00
mieszko zielinski
e388b97fbe Fixed an issue with Mass ISM components resulting in visual ISM-related issues in CitySample.
The core of the issue was that crowd representation relies on ISM IDs magic to remove instances that are no longer being updated, while this information is not explicitly available on MassVisualizationComponent side. Because of that the ISM components that just became "empty" were not marked as "dirty" (because they were being made "empty" by not having anything added to them) and as such were not being processed by UMassVisualizationComponent::EndVisualChanges

#jira UE-184840

[CL 27549930 by mieszko zielinski in ue5-main branch]
2023-09-01 03:28:37 -04:00
mieszko zielinski
477fda469f Fixed in issue in UMassVisualizationComponent::ConstructStaticMeshComponents that resulted in attempts to register the same ISM component multiple times.
[CL 27518582 by mieszko zielinski in ue5-main branch]
2023-08-31 08:11:07 -04:00
mieszko zielinski
4c33872384 Fixed handling of duplicates addition in MassVisualizationComponent::HandleChangesWithExternalIDTracking. The previous solution was breaking if there were duplicates in the incoming data since we weren't able to distinguish between data just added and the data added a couple of loop iterations earlier.
[CL 27514622 by mieszko zielinski in ue5-main branch]
2023-08-31 04:18:38 -04:00
mieszko zielinski
0f8641fb02 Juno Mass debug processors
#rb debug

[CL 27438951 by mieszko zielinski in ue5-main branch]
2023-08-29 06:37:21 -04:00
mieszko zielinski
4c67c69190 Added a straightforward way to disable gathering streaming sources as Mass LOD viewers
[CL 27437202 by mieszko zielinski in ue5-main branch]
2023-08-29 03:14:12 -04:00
mieszko zielinski
b35bcce7cd More stat Mass stats
Main point, added "Total Mass" stat, that in principle should sum up all of the work performed by Mass as part of regular every-frame work

[CL 27437083 by mieszko zielinski in ue5-main branch]
2023-08-29 03:04:59 -04:00
mieszko zielinski
89d28c37c3 Changes to which data gets processed by MassVisualizationComponent::EndVisualChanges, now it will only touch data that has been dirtied during the frame.
This change skips needlessly processing thousands of dormant entries in UMassVisualizationComponent::ISMCSharedData

[CL 27303203 by mieszko zielinski in ue5-main branch]
2023-08-23 08:57:04 -04:00
mieszko zielinski
8a25b56ec2 Made "last used index" utilized by MassActorSpawnerSubsystem's "find next spawn request handle" process to be a member variable to ensure smoother time-sliced processing of the handles (on subsequent frames picking up whete the process enged last frame).
#rb trivial

[CL 27267200 by mieszko zielinski in ue5-main branch]
2023-08-22 08:03:43 -04:00
mieszko zielinski
f5886dedaf Added GetActorSpawnerSubsystem accessor to MassRepresentationSubsystem
#rb trivial

[CL 27263922 by mieszko zielinski in ue5-main branch]
2023-08-22 02:06:54 -04:00
mieszko zielinski
a04cce6fc2 Kick off of "stat Mass" support
[CL 27263841 by mieszko zielinski in ue5-main branch]
2023-08-22 01:58:25 -04:00
mieszko zielinski
b2f3dead05 Fixed the issue with MassVisualizationComponent::HandleChangesWithExternalIDTracking's "duplicate addition" handling that wasn't handling the case where there were duplicates in the incoming data (it was only checking the incoming data vs the existing data)
[REVIEW]

[CL 27223420 by mieszko zielinski in ue5-main branch]
2023-08-18 18:27:58 -04:00
mieszko zielinski
39149235eb Fix to UMassActorSpawnerSubsystem::GetNextRequestToSpawn potentially repetedly returning the same handle
[CL 27179835 by mieszko zielinski in ue5-main branch]
2023-08-17 14:22:11 -04:00
mieszko zielinski
23534d4ba8 Fixed the handling of removal of duplicated InstanceId data in UMassVisualizationComponent::HandleChangesWithExternalIDTracking
#rb trivial
[FYI] [at]James.Studdart, [at]Dan.Smith

[CL 27028861 by mieszko zielinski in ue5-main branch]
2023-08-11 10:59:53 -04:00
mieszko zielinski
cbd35c7952 Made it possible for UMassRepresentationProcessor to not test whether world collision is loaded while considering actor spawning
[CL 27024855 by mieszko zielinski in ue5-main branch]
2023-08-11 06:42:05 -04:00
mieszko zielinski
acaa29fbd4 Added a way to remove ISM Components from MassVisualizationComponent
[CL 26987903 by mieszko zielinski in ue5-main branch]
2023-08-10 07:45:59 -04:00
mieszko zielinski
c6a8fda1a1 Optimized initialization of newly created FMassInstancedStaticMeshInfo
[CL 26985314 by mieszko zielinski in ue5-main branch]
2023-08-10 03:22:16 -04:00
james studdart
fbf5cdf5b2 [Backout] - CL26952157
[FYI] Mieszko.Zielinski
Original CL Desc
-----------------------------------------------------------------
Mass visualization changes aimed at visualization data reuse in scenarios where an ISMComponent gets removed and then added again later (the same object path, but different pointers).

In addition I changed how we initialize newly added InstancedStaticMeshInfos entries - we no longer linearly go through the whole array to detect uninitialized entries, instead upon creation we collect indices to be processed when the time comes

[CL 26981720 by james studdart in ue5-main branch]
2023-08-09 20:59:59 -04:00
mieszko zielinski
dc1a7fbba3 Quick fix to an issue stemming from Mass Visualization's wrong assumption that all the ISMComponents used are under its control. If external components are used it's possible that the component instance will go away without the system knowing about it. The fix is a stop-gap until we massage the MassVisualization to remove faulty assumption.
#rb trivial

[CL 26960274 by mieszko zielinski in ue5-main branch]
2023-08-09 12:40:13 -04:00
mieszko zielinski
692232d55f Mass visualization changes aimed at visualization data reuse in scenarios where an ISMComponent gets removed and then added again later (the same object path, but different pointers).
In addition I changed how we initialize newly added InstancedStaticMeshInfos entries - we no longer linearly go through the whole array to detect uninitialized entries, instead upon creation we collect indices to be processed when the time comes

[CL 26952191 by mieszko zielinski in ue5-main branch]
2023-08-09 07:38:44 -04:00