Best T3D physics library
by Vincent Ellis · in Torque 3D Professional · 09/18/2013 (3:27 pm) · 7 replies
What is the best physics library right now? Bullet or PhysX? How do we use them, after choosing in the Project Manager?
#2
09/20/2013 (12:22 pm)
All I'll say is that Bullet's continuous collision detection is not good at all, it totally kills restitution forces. If you need CCD then bullet may not be the best option for you.
#3
What you said is so far above my head. Could you please explain what you are talking about? Any inside track on the libraries involved would a lot of people I think.
09/20/2013 (2:09 pm)
@Jeff H,What you said is so far above my head. Could you please explain what you are talking about? Any inside track on the libraries involved would a lot of people I think.
#4
09/25/2013 (7:15 am)
So, T3D works best with which library? T3D built-in or Bullet?
#5
The lack of responses may be due to the subjectivity of the word "best". That word is relative to what you are trying to accomplish.
If you were to say, "Which physics library that is integrated with T3D would be best for a Halo type physics game?" That type of question bounds the word best to mean the closest match to a particular game type.
09/25/2013 (9:51 am)
@Vincient,The lack of responses may be due to the subjectivity of the word "best". That word is relative to what you are trying to accomplish.
If you were to say, "Which physics library that is integrated with T3D would be best for a Halo type physics game?" That type of question bounds the word best to mean the closest match to a particular game type.
#6
For what I am using a Physics Engine for, is mainly for a spherical shape class. The problem with discrete collision detection which is what is used by default is that it was the shape was moving too fast that the shape literally "tunneled" through the terrain and the collision mesh acted like it wasn't even there. Because of that, Continuous Collision Detection, where collision detection between frames is calculated, had to be necessary. I did some research to find out that the CCD seems to not be fully implemented in Bullet (as of Bullet 2.7#ish? I forget the exact version, but the class to create a continuous world had a warning that it was not ready to be used, and that discrete collision detection should be used.
Because of the issues I was having, I ended up finding a way to enable some sort of CCD in Bullet, but when the ball would end up hitting a surface of either a terrain or a static shape, it would instantly stop and all restitution forces would be canceled.
Oh, and lets not even talk about RigidShape stock physics. That has tunneling too and isn't that great at all. I had the integration up to like 64 ticks and it still tunneled. Not only that, the physics in general were...to put it plainly, terrible. :P
And its not a FPS issue, I get like 300+ fps in torque3D
I decided to go with PhysX, and it works great!
TLDR : Bullet has issues with continuous collision detection afaik. Stock Physics pretty much suck and aren't worth the effort in fixing anytime soon (openGL more important :P) PhysX works wonderfully, and has a mac download now for their v. 2.8.4
09/25/2013 (12:39 pm)
@Demo I apologize for not seeing your post sooner. I'll gladly explain my issues:For what I am using a Physics Engine for, is mainly for a spherical shape class. The problem with discrete collision detection which is what is used by default is that it was the shape was moving too fast that the shape literally "tunneled" through the terrain and the collision mesh acted like it wasn't even there. Because of that, Continuous Collision Detection, where collision detection between frames is calculated, had to be necessary. I did some research to find out that the CCD seems to not be fully implemented in Bullet (as of Bullet 2.7#ish? I forget the exact version, but the class to create a continuous world had a warning that it was not ready to be used, and that discrete collision detection should be used.
Because of the issues I was having, I ended up finding a way to enable some sort of CCD in Bullet, but when the ball would end up hitting a surface of either a terrain or a static shape, it would instantly stop and all restitution forces would be canceled.
Oh, and lets not even talk about RigidShape stock physics. That has tunneling too and isn't that great at all. I had the integration up to like 64 ticks and it still tunneled. Not only that, the physics in general were...to put it plainly, terrible. :P
And its not a FPS issue, I get like 300+ fps in torque3D
I decided to go with PhysX, and it works great!
TLDR : Bullet has issues with continuous collision detection afaik. Stock Physics pretty much suck and aren't worth the effort in fixing anytime soon (openGL more important :P) PhysX works wonderfully, and has a mac download now for their v. 2.8.4
#7
09/25/2013 (1:17 pm)
Caveat on PhysX: there were issues with vehicles, players not colliding with vehicles, other player vs. object collision issues. I say "were" because I haven't been keeping up with it and they may have been addressed.
Ahsan Muzaheed
Default Studio Name
if still u insist to select one
then go for bullet(if u are a programmer having good knowledge on physics and t3d c++ side code.)
if u r artist then go for physX.