Commit Graph

647 Commits

Author SHA1 Message Date
jeremy moore
1dbe0a3999 Fix duplicated CVar
#preflight skip

[CL 25050220 by jeremy moore in ue5-main branch]
2023-04-14 17:06:14 -04:00
jeremy moore
8cd3ec16de ISM Pool sets ISM to use RemoveAtSwap remove behavior.
Assume RemoveAtSwap in group removal so that we can do local remapping logic and remove the more expensive delegate callbacks.
#preflight 64397c6a211b661dc418651a

[CL 25050206 by jeremy moore in ue5-main branch]
2023-04-14 17:05:40 -04:00
jeremy moore
ac9df1f5dc Add explicit remap arrays to the ISM Pool to manage mapping between the ISM Pool instance index and the ISM render instance index.
This costs some memory but makes the cost of instance removal much cheaper. We no longer need to loop and scan multiple arrays to find our instance to rename.
Added a bit more commenting around the code.
#preflight 6438851d9566b61450a1c45e

[CL 25039201 by jeremy moore in ue5-main branch]
2023-04-14 09:07:04 -04:00
cedric caillaud
3e0da0eaa7 Geometry collection component : make sure we unregister chaos events if the proxy is destroyed
[FYI] michael.bao
#preflight none
#rb trivial

[CL 25021392 by cedric caillaud in ue5-main branch]
2023-04-13 01:38:18 -04:00
michael bao
e0b23b9da2 fix issue where geometry collection events would not be registered properly after construction script re-registers the component
#rb cedric.caillaud
[FYI] vincent.roberts
#preflight 64372ec30c19befb6cbef335

[CL 25021167 by michael bao in ue5-main branch]
2023-04-13 00:45:32 -04:00
cedric caillaud
035af94e52 Geometry collection : add a property to control at which level position and velocity are corrected for clusters
The smaller the number the more bandwidth will be saved by not sending the position and velocities to the client

#rb benn.gallgher, vincent.robert, michael.bao
#preflight 64371be51f33a0b34a417b7c

[CL 25020009 by cedric caillaud in ue5-main branch]
2023-04-12 20:46:15 -04:00
steven barnett
47da03070f Add UGeometryCollectionComponent::SetDamageThreshold so that we can call RecreatePhysicsState when damage threshold changes.
#preflight https://horde.devtools.epicgames.com/job/64371fa7f12d5de7058ea924
#rb cedric.caillaud

[CL 25019216 by steven barnett in ue5-main branch]
2023-04-12 19:46:27 -04:00
bill henderson
8fd2e899f4 Modular vehicle network physics prediction and resim changes, still work in progress.
#preflight 6436779d0c4277fc0b8929a8
#rb michael.forot

[CL 25004771 by bill henderson in ue5-main branch]
2023-04-12 07:05:22 -04:00
jeremy moore
54f43f2240 Add MinLod option to ISMPool components.
#preflight 64349821b306e98c634b5019

[CL 24987424 by jeremy moore in ue5-main branch]
2023-04-10 23:19:28 -04:00
jeremy moore
a2c26ca114 Fix nullptr crash in ISM pool debug component when ISM components have been put on free list.
#preflight 643421887536ac6b78910619

[CL 24979037 by jeremy moore in ue5-main branch]
2023-04-10 12:36:14 -04:00
jeremy moore
3b796fe1cc Remove p.GeometryCollectionAssetForceStripRenderDataOnCook which existed for temporary data migration.
#preflight 6434033d41783dc3d06816d7

[CL 24977493 by jeremy moore in ue5-main branch]
2023-04-10 10:44:30 -04:00
michael bao
d2cb47a721 don't rely on bFirstUpdate in geometry collection replication to determine whether or not to replicate a cluster - use the particle leve instead since that's what we're actually checking for
- using bFirstUpdate is unreliable when GC's are added into cluster unions since cluster unions will disable replication immediately

#rb cedric.caillaud
#preflight 6430a10db4329f6f1a4de7b8

[CL 24974076 by michael bao in ue5-main branch]
2023-04-08 15:05:08 -04:00
cedric caillaud
53e296d985 Geometry collection : fix replication where client may try to remove a particle that still has a grand parent
#rb benn.gallagher, michael.bao, steven.barnett
#preflight 642f5cb8b306e98c633f2bc3

[CL 24962043 by cedric caillaud in ue5-main branch]
2023-04-06 22:46:53 -04:00
jeremy moore
e861e8645f Add support for ISMPool reverse culling flag. This allows us to potentially create two ISM components for left and right handedness if needed.
Add free list for ISMPool ISM component slots so that we can recycle them when the number of instances for a component becomes zero.
#preflight 642f0942427eda562650ef0b

[CL 24957562 by jeremy moore in ue5-main branch]
2023-04-06 17:29:18 -04:00
michael bao
4fe9bbd4f6 properly call FClusterUnionManager::HandleDeferredClusterUnionUpdateProperties after ReleaseClusterParticles call without relying on it getting to the next breaking model
#rb benn.gallagher
#preflight 642ef21d4c3ccbbdf17ea341

[CL 24957034 by michael bao in ue5-main branch]
2023-04-06 17:08:38 -04:00
vincent robert
b424a2a60a Client Crash UGeometryCollectionComponent
#preflight 642d9e7d4d26bcd1eb0e81b6
#rb cedric.caillaud

[CL 24936641 by vincent robert in ue5-main branch]
2023-04-05 17:03:03 -04:00
cedric caillaud
f125045cb1 Geometry collection : add blueprint functions to get initial and current transform of the root node of the collection
[FYI] logan.harvell, Cody.Haskell
#rb none
#preflight 642cee708f078cc703c8d8e9

[CL 24924259 by cedric caillaud in ue5-main branch]
2023-04-05 02:09:40 -04:00
jeremy moore
36fbd59bf5 Move creation of ISMPoolActor to outside of place where it may be called in a construction script.
#preflight 642c79d08f078cc703a5a0df

[CL 24920916 by jeremy moore in ue5-main branch]
2023-04-04 19:18:34 -04:00
jeremy moore
5a74598a34 Better parameterization of ISM pool components.
Still work to do for recycling components that are empty.
#preflight 642b52164d26bcd1eb357be2

[CL 24906566 by jeremy moore in ue5-main branch]
2023-04-03 23:33:01 -04:00
cedric caillaud
4d062378e6 Geometry collection : add time scalar for removal ( cvar )
#rb none
#preflight none

[CL 24905952 by cedric caillaud in ue5-main branch]
2023-04-03 22:31:08 -04:00
jeremy moore
815fa2643c Add support for setting custom renderer class on geom collection asset or component.
Deprecate oldd ISMPool setting so that it uses UGeometryCollectionISMPoolRenderer which has old behavior.
#preflight 642a3f33c6769c60822ad366
#preflight 642ab6c1d6069e71b17521e7

[CL 24892140 by jeremy moore in ue5-main branch]
2023-04-03 10:06:24 -04:00
marc audy
08c0dfc0a2 Fix uninitialized VertexBounds in NaniteDisplacedMesh and GeometryCollection code paths causing incorrect Nanite Meshes.
- Modified Nanite::IBuilderModule::FInputMeshData to take FBounds3f instead of FBoxSphereBounds since NaniteBuilder doesn't require sphere bounds.
- Calculate VertexBounds in DisplaceNaniteMesh(...) and BuildMeshDataFromGeometryCollection(...)

#rb rune.stubbe
#preflight 64258edb973e609670eb2ef0
#lockdown marc.audy

[CL 24884479 by marc audy in ue5-main branch]
2023-04-01 02:40:07 -04:00
jeremy moore
13505f9e4e Fix root component not visually updating with Geometry Collection ISMPool renderer.
#preflight 6427404a50546ea336d2f5d0

[CL 24884458 by jeremy moore in ue5-main branch]
2023-04-01 02:38:44 -04:00
jeremy moore
9114575fd0 Add back bAutoAssignISMPool to GeometryComponent.
#preflight 64271d5438075fa13f5bff61

[CL 24876940 by jeremy moore in ue5-main branch]
2023-03-31 15:30:41 -04:00
jeremy moore
4f424c08a5 Move geometry collection ISM Pool management code into custom renderer object.
Allows us to have different rendering strategies for geometry collection.
#preflight 64260c6b9621ba9cb46bf178

[CL 24868103 by jeremy moore in ue5-main branch]
2023-03-31 02:58:27 -04:00