The assert in convexHullSupport() is often hit whenever
nan has been introduced into the simulation. The initial
nan can happen in many ways, but when you get one
nan it tends to make everything else
nan because:
Code: Select all
1 + nan = nan
2 * nan = nan
3 - nan = nan
4 / nan = nan
Alslo nan can introduce very strange logic bugs because all comparisons with nan evaluate to false:
Code: Select all
(1 > nan) = false
(1 < nan) = false
(1 == nan) = false
My guess: you have a pseudo-instability in your content. Sometimes it is introducing
nan and the infection causes some collision logic to misfire. Sometimes it spreads until you hit that assert. How and where... dunno. You'll have to audit the code for places where you might be dividing by zero, or else add sanity-checking where your code sets any property of a RigidBody.
Besides introducing
nan by setting values directly you can get it by doing the following:
Constrain or collide a very big massive object against a very small light one.
Provide too small of inertia tensor eigenvalues for the mass+shape of an object.