Add Torque of 10,000 torque units on a 200 kg body for all steps of a second does almost nothing. The presumed unit (to be consistent with the other types in the system) should be kgf.cm. However, it behaves more as if it’s gf.mm.
In general, documenting the units for physics (for force impulses, angular velocity, etc) would be good, too. The units I assume (based on the expressed units in various edit fields) would be:
weight: kilograms
distance: centimeters
angles: degrees
force: N
torque: N.cm
linear velocity: cm/s
angular velocity: degrees/cm
I’d actually prefer radians and radians/sec, and meters, meters/sec, and N.m, but I’ll take any consistent set of units I can get
Sorry about the delay in a response to your question. We are currently looking into what that the exact units are for torque. I have sent the question off to a couple devs that may know what the exact units are.
Thanks for your patience and I will let you know the answer to your question as soon as I get the response back.
AddTorque is specified in kg for mass, cm for distance, and rad/s for angular acceleration. In the future we may add another function AddTorqueDegrees to make this more consistent with the rest of the engine, but I’m not sure how useful this would be since computing torque using angular acceleration requires knowledge of the moment of inertia which is currently not exposed.
For example, if I have a 208kg cube which is 80cm x 80cm x 80cm the associated moment of inertia will be 368058.469
This means that when I apply a torque of 10000 I should expect an angular acceleration of 10000/368058.469 rad/s = .027 rad/s or about 1.5 degrees / second.
If I setup a blueprint that applies this torque for 1 second and print out the angular velocity I get an angular velocity of ~1.537 degrees / second.
Note that if I do this without sub-stepping turned on and with a very low frame-rate the angular velocity may dip to around 1.2 degrees / second. This makes sense since without sub-stepping I’m essentially shortening the amount of time the torque is applied for.
I hope this helps clarify some of your concerns. Please let me know if you have any more questions!
UPDATE: Sorry just noticed I’m actually using a sphere collision not a box so the moment of inertia for a box would be slightly different, but the overall principal is the same.
The volume doesn’t really matter here. If I add torque corresponding to 80 kgf at 40 cm from center, the torque applied is 3200 kgfcm, or about 310 N.m. That’s a lot of torque! It is, in fact, in class with a high-end car engine or electric car motor.
Your argument seems to be that the main problem here is the short time of the impulse. There may be something to that, but my experiment seems to indicate that applying this impulse as a continuous torque does not accelerate the sphere as quickly as a car would accelerate – and the sphere weighs about 1/25th of what a car does!
I didn’t calculate the moment of inertia, this is done by PhysX. In the example I wrote up I was originally using a cube, but the moment of inertia is actually for a sphere. I don’t have this example any more so unfortunately I don’t have the original numbers. We could certainly add a GetMOI, I think this would be useful. I don’t have any ETA on this right now though. I’ll add it to our backlog.