- 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]
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]
- Existing implementation has too many vectors for race conditions; will need a more targeted approach to optimize scene commands.
- Cable component manually initializes resources on the Cable pipe instead of using CreateRenderThreadResources.
- Removed async path for scene proxy render resource creation.
[CL 29090823 by zach bethel 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]
- 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]
Also fix an issue with dynamic collection being always dirty after it was once
- Cache root space bounds
- Remove old LocalBounds member as it is a duplicate of the ComponentSpaceBounds
- Remove cvar option to use cached bounds ( now always using them )
- Set the dynamic collection clean when syncing from PT to GT ( and dirty it if any thing changed )
#rb benn.gallagher, michael.bao
[CL 28814378 by cedric caillaud in ue5-main branch]