After the second recording time, the event listener registration in FGeometryCollectionCacheAdapter::InitializeForRecord is skipped.
Here is a workaround :
// We only need to register event handlers once, the first time we initialize. // if (CachedData.Num() == 0) // workaround : comment out this condition { Chaos::FEventManager* EventManager = Solver->GetEventManager(); if (EventManager) { if (SimulationParameters.bGenerateBreakingData || SimulationParameters.bGenerateGlobalBreakingData) { EventManager->RegisterHandler<Chaos::FBreakingEventData>(Chaos::EEventType::Breaking, const_cast<FGeometryCollectionCacheAdapter*>(this), &FGeometryCollectionCacheAdapter::HandleBreakingEvents); } if (SimulationParameters.bGenerateCollisionData || SimulationParameters.bGenerateGlobalCollisionData) { EventManager->RegisterHandler<Chaos::FCollisionEventData>(Chaos::EEventType::Collision, const_cast<FGeometryCollectionCacheAdapter*>(this), &FGeometryCollectionCacheAdapter::HandleCollisionEvents); } if (SimulationParameters.bGenerateTrailingData) { EventManager->RegisterHandler<Chaos::FTrailingEventData>(Chaos::EEventType::Trailing, const_cast<FGeometryCollectionCacheAdapter*>(this), &FGeometryCollectionCacheAdapter::HandleTrailingEvents); } }
Particle effects are not displayed because there is no event track in the cache.
Save event tracks for each recording.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-219917 in the post.
0 |
Component | UE - Simulation - Physics - Destruction |
---|---|
Affects Versions | 5.4 |
Target Fix | 5.6 |
Created | Jul 23, 2024 |
---|---|
Updated | Oct 18, 2024 |