13-02-2021, 08:59 PM
Considering my repro was a bit misleading, you did well to figure out what my issue is!
I added the FreeParticles call to RemoveActor as you suggested. Unfortunately it will still break eventually with m_solver.particleToActor[contact.bodyA] starting to return null after a number of disable/enables, possibly less frequently but that's anecdotal. Sometimes it survives more and 10 enable/disables of multiple softbodies, sometimes it starts returning null actors after just a couple of enable/disable cycles. It could of course be something completely different, my repro is not as good any more.
Happy to gather any info for you if it'd be helpful. I'm upgrading from the previous version of Obi, and the only changes I made were particle=>bodyA and other=>bodyB (and using pointA and pointB instead of point).
I added the FreeParticles call to RemoveActor as you suggested. Unfortunately it will still break eventually with m_solver.particleToActor[contact.bodyA] starting to return null after a number of disable/enables, possibly less frequently but that's anecdotal. Sometimes it survives more and 10 enable/disables of multiple softbodies, sometimes it starts returning null actors after just a couple of enable/disable cycles. It could of course be something completely different, my repro is not as good any more.
Happy to gather any info for you if it'd be helpful. I'm upgrading from the previous version of Obi, and the only changes I made were particle=>bodyA and other=>bodyB (and using pointA and pointB instead of point).