I understand that the Buoyancy plugin is experimental, but how do you actually use it?
It looks like a more general purpose Buoyancy system that operates at the level of the chaos bodies, which seems considerably more broadly applicable to say the pontoon based Buoyancy, which is full of its own issues.
I enabled the plugin, ensured the channels are set up, and nothing ever happens.
After some debugging, I noticed that
- FBuoyancySubsystemSimCallback::TrackInteractions is called, and it iterates all the water body actor “particles”
- The GetMidPhases never returns anything for the iteration range, so it never gets into the Loop over the midphases block
Chaos::FMidPhaseModifierParticleRange MidPhases = MidPhaseAccessor.GetMidPhases(WaterParticle);
I noticed that
UBuoyancyRuntimeSettings::CollisionChannelForWaterObjects is copied to the buyonancy settings via BuoyancySettings.WaterCollisionChannel = InSettings->CollisionChannelForWaterObjects, but WaterCollisionChannel is never used anywhere.
What does one have to do to get this system to see midphase collisions?