ok. here.
- Code: Select all
spinforce = dynamicBody->GetVelocity().CrossProduct(dynamicBody->GetOmega());
you do need to normalized the vector so that you get a unit vector.
the aero forces only magnitude depends of the of the shapeform and the speed.
the vector is only to get the direction.
also remember to check that the margined is not too small, a too small magnitude means the spins is such that is parallel to the linear velocity so no side force.
on the amount of deviation, is bas on how heavy the object is, I have seen ping pong player put such huge pin on ping pong balls that is almost as if the ball moves backwards, there must be you tube videos about that.
BTW that video look quite cool.
on the small ball, you can set the substeps to something like 4, or higher.
for that kind of project would not make a difference.
later after I made the first stable release of 4.0 I will add some code utilities for controlling continue collision.
I have learned over the years that continue collision is in fact an overrate feature, with very specific functionality, but that requires a tremendous amount of effect, further more I also learn that most programmers actually turn it off for reason of performance and bad physics and instead they deal with is in a case by case.
so my solution will be to add a cople of function to handle it in case by case as well.
but for now, setting the number of sub sample higher should fix the problem and you will get a
high quality simulation.