- This is caused by the transform not being properly defined when receiving a ComponentAdded event
- Override ChildToParentUpdated method to update the rendering transform
#rb michael.bao, chris.caulfield, michael.lentine
[CL 29615742 by cedric caillaud in ue5-main branch]
Also updated a class to make use of this method until we find a better solution.
[REVIEW] 654bd7ca7236ad045f24f2ce
[CL 29581933 by sergio gardeazabal in ue5-main branch]
This allows the actor containing the ISM components to have full control over the root transforms of each ISM for faster or customised processing.
#rb Cedric.Caillaud, Jeremy.Moore
[CL 29419013 by benn gallagher in ue5-main branch]
Use the RestCollection to access those attributes instead.
#rb cedric.caillaud, vincent.robert, Benn.Gallagher
[CL 29246315 by titouan deslandes in ue5-main branch]
When the building is moving , check at regular interval if any partially destroyed geometry collection has been broken for certain amount of time since the building is moving
If so, then release it
- Cache the dynamic state in the cluster union component to avoid calling IsSimulatingPhysics()
- Added a virtual function called whenever the physics state of the cluster union is set
#rb benn.gallagher, michael.lentinne, michael.bao, chris.caulfield
[CL 29121109 by cedric caillaud in ue5-main branch]
- Removed the need of maintain two sets to cache FExternalSpatialAccelerationPayload structures as components are added/removed
- Added a new constructor to FExternalSpatialAccelerationPayload so we can directly pass a TObjectKey and the chaos UniqueIdx, so we don't have to build them from scratch (which requires lock the scene to get the Particle idx and access the Global objects array to build the WeakObjtPtr).
- Wrapped TObjectKey in a wrapper we can use to store other elements we will use later, so we don't have to go back and forth between converting between ObjectKey and Raw ptr which requires access to the global objects array and is not cheap.
- Removed TSet the need to do TSet differences
- Added a new native event that when broadcasted in addition to the new bone ids that were added, it also passes an array of bone IDs removed. (So listeners don't have to calculate it on their own again).
- Splitted UGeometryCollectionComponent::SetPerParticleCollisionProfileName so its components can be called independently. There are cases where we need to call it with different profile name witching the same scope, so part of the method doesn't need to be executed again. To ensure all parts are executed as desired, a new transaction object was created that need to be passed to the new UGeometryCollectionComponent::SetParticleCollisionProfileName
#rb cedric.caillaud, michael.bao
[CL 29119882 by sergio gardeazabal in ue5-main branch]
The cvar p.GeometryCollection.ForceOverrideGCCollisionSetupForTraces can be set to 1 to force GC collision on everything if anything goes sideways.
#tests PIE
#rb cedric.caillaud
[CL 28973051 by emanuel masciarelli in ue5-main branch]
The behavior is controlled by r.ISMPool.ComponentKeepAlive.
The old free list behavior is still supported and is now controlled by r.ISMPool.ComponentRecycle.
Both cvars can be safely enabled/disabled at runtime for testing.
Note that keep alive will effectively override recycling if both are enabled, since no components are released to the recycling free list.
#rb Cedric.Cauillaud
[CL 28966562 by jeremy moore in ue5-main branch]
- Tracks broken and decayed states in an internal structure
- Simplifies the FullDecay check
- Removal function remain mostly intact but are open for optimization after this change since we can now query the broken state directly instead of inferring it from other more expensive state checks
#rb benn.gallagher, michael.bao, vincent.robert
[CL 28934664 by cedric caillaud in ue5-main branch]
- changed ComponentSpaceBounds to be an Fbox
- CalcBounds now do not check for dynamic collection but when the dynamic collection is modified the component space bounds are invalidated
- invalidation happens in OnPostPhysicsState and when rest transforms are updated
- Cached IsRootBroken state
#rb benn.gallagher, vincent.robert, brice.criswell
[CL 28846696 by cedric caillaud in ue5-main branch]