- ShouldUpdateComponentTransformToRootBone to expose a getter for bUpdateComponentTransformToRootBone
- New FOnGeometryCollectionRootMovedEvent event to know when the root bone moved
#rb cedric.caillaud
[CL 28683342 by michael bao in ue5-main branch]
- Also make sure the ISM Pool sub components are properly attached to the root component
#rb michael.bao, jeremy.moore, benn.gallagher
[CL 28483114 by cedric caillaud in ue5-main branch]
- Removed Implicits
- Removed Particles
- Compressed Dynamic State
#rb cedric.caillaud, benn.gallagher
[CL 28427877 by vincent robert in ue5-main branch]
- Removed old vertex-attribute centered buffers & useless translation code & replace with GPU-scene centric data
- Made the instance data persistent over scene proxy re-creates.
- Tracks per-instance data changes in the ISM & implement delta updates, remove need to call "MarkRenderStateDirty" for most instance updates
- Added preliminary ID-based interface for ISM such that users can forego needing to match the internals (e.g., remove swap, required when using indices).
- Unified the instance data use in the renderer (removed mix of old & new buffers and processing sites) - all code now sees orthogonalized transforms, the same as is in GPU-Scene.
- Added FInstanceSceneDataBuffers and moved instance data buffer arrays to that from the Primitive proxy
- Added FISMInstanceDataManager, which is responsible for tracking changes & dispatching updates. The ISMC owns one of these.
- Instance data update tasks are async and waits are only done when needed, e.g., for GPU-scene update moving this off RT and later in the frame.
- Added FInstanceDataSceneProxy, which is the owner of the scene data buffers and is updated by the manager by way if a shared reference with the primitive proxy.
- Removed FPerInstanceRenderData, ISMC::PerInstanceRenderData
- Removed FInstanceUpdateCmdBuffer
- Lumen, GPUScene, SceneCulling, RT, DF all now retrieve data from FInstanceSceneDataBuffers rather than a mix of previous buffers. All now use the primitive-relative space.
- Geometry Collection & Spline Mesh now manage FInstanceSceneDataBuffers, since they manipulate instance data in one way or another.
- Mass: contained re-implementations of significant internals of ISMC, converted to ID-based interface
- PCG: minor changes to avoid touching ISM internals.
#jira UE-191955,PLAY-11918
#rb jamie.hayes,jeremy.moore,jonathan.bard,krzysztof.narkowicz,mieszko.zielinski,julien.lheureux,zach.bethel,aleksander.netzel,yuriy.odonnell
[CL 28371398 by ola olsson in ue5-main branch]
Remove Initial Level array from Dynamic Collection, it is now using the Rest Collection which is the same.
#rb cedric.caillaud
[CL 28355044 by vincent robert in ue5-main branch]
Remove children array of set from Dynamic Collection, it is now using the bit array from its parent.
#rb cedric.caillaud
[CL 28331755 by vincent robert in ue5-main branch]
- this does not work for kinematically moved GC in a cluster union but this should provide a good support for all the other cases
#rb michael.bao, jon.sourbeer
[CL 28169721 by cedric caillaud in ue5-main branch]
- This is behind a cvar (p.Chaos.GC.UseReplicationV2) ( off for now )
- Split replicated data in two : state and dynamic
- State data contains a bitArray of what's broken and an array of recently released pieces with matching breaking velocities
- Dynamic data contains tracked ( XR and VW ) dynamic pieces
- Reduced the precision for quantized breaking velocities
- Store rotation as euler to allow for quantized rotation in dynamic data
- Breaking velocities are removed as particles become disabled to save bandwidth for players joining later or coming into relevancy
- Tried to share as much code as possible between the old and new replication code paths
#rb markus.boberg, michael.bao, benn.gallagher
[CL 28059803 by cedric caillaud in ue5-main branch]
Relative Transform in Dynamic Collection are now in single precision. This change implicates an API change. The Managed Array of transforms being in public, and being changed make some backward compatibility breakage. This array shouldn't have be used much.
#rb cedric.caillaud
[CL 27942269 by vincent robert in ue5-main branch]