Chaos cache collection does not maintain scale from original simulation, which causes visible scale issues

Hi,

I’ve tested this bug on 5.6 and did the same test in 5.7 preview with the same result.

I’ve added a video of my process in the attachment.

When you cache a geometry collection which has been scaled in the level, the scale does not persist in the cache collection in a few different scenarios.

It will be correct when you simply play back the cache in play mode. But when you scrub the start time, you instantly see the issue where the pieces get scaled back to their original scale but the pivots still seem to hold the cached positions causing a visual bug.

More importantly than scrubbing the start time, this issue also occurs when you play back the cache in static pose mode.

I’ve tested this with a level sequence playing back the cache in static pose mode in two different ways:

  • keying the start time
  • adding a chaos cache track to the chaos cache collection which will play it as is.

The ability to scale a geometry collection and cache it afterwards seems quite essential for any pipeline. It wouldn’t make a lot of sense having to make different versions of the same GC asset just to make a scale change.

[Image Removed]

Many thanks,

Niels

[Attachment Removed]

Steps to Reproduce

  • Create a fractured Geometry collection
  • Give it a different scale than (1.1.1)
  • Simulate -> Result is correct
  • Add a cache manager and record the simulation
  • Set it to play mode or drop the saved chaos cache in the level
  • Change the start Time by sliding it and see the scale issues
  • This also happens playing it back in static pose mode (including playing it back from sequencer)
    [Attachment Removed]

Hi

Yes that is a known issue we have been tracking internally

The transform do record on the physics thread in a space that is not scaled

that explain why the play mode ( running on physics thread ) is correct

The scrub mode ( as wall as the static pose mode ), uses the SetRestState code path which may effectively not handle transform properly

I plan to have a look at it hopefully soon

[Attachment Removed]