Hiya K! Wow, 3 days, and no replies! hehe. Everyone is avoiding answering, eh? Amazing.
I’m going to speak for myself, and not on behalf-of any seen/sensed consensus.
I like CannonJS, generally. I also like OimoJS (fastest, least featured, I have much experience with it), but BJS implementation of it… somehow garnered a screwed-up setMotor maxPower that has never been fixed. It use-to rock, but always had some unpredictable restitution (sometimes gained bounce power across scene running-time).
CannonJS has a screwed-up setMass() that sends mesh flying, too… and nobody has fixed that either. That sucks. SetMass() is not used by TOO many people, but some.
Everyone says I am supposed-to like AmmoJS because it is the newest and most feature-packed… even though its slower than others and is missing angle-limits and getAngle on its hinge joints.
That’s my opinion on all three of BJS’s physics engine interfaces. The local big dogs probably don’t like me speaking bad of the physics systems… but too bad. They want us to speak positive all the time, cuz that’s the “corporate way”… never talk bad about “product”.
I don’t think there’s much concern about BJS physics interfaces anymore. All the superstars seem to be concentrating their efforts on something else, these days. Sort of sad, really. It used to be nicely grass-roots 'round here. That died, somehow.
Other peoples’ mileage will surely vary. Probably wise to use AmmoJS. That’s what they tell me.
https://www.babylonjs-playground.com/#1IB3JT#14
There’s CannonJS two-sphere simple test… both spheres… .999 restitution. Red sphere stays active… for a reasonably long while… as it should. Now let’s watch AmmoJS…
https://www.babylonjs-playground.com/#1IB3JT#15
Sleepy-time red sphere. hehe. Junk.
Now OimoJS…
https://www.babylonjs-playground.com/#1IB3JT#16
Better again.