I’ve been working on a plane simulator, and for realistic horizontal movement, I’ve set the drag value to 1. This gives me the motion I want on the horizontal, but makes gravity extremely unrealistic.
If you turn off the throttle and let it freefall, the plane will accelerate for maybe a second, and hit a terminal velocity of only 30m/s. It just moves at a constant through the air, looking rather stupid and unbelievable as it does.
Is there any way to change drag on an individual component basis? Or is this the limit of Unity’s physics engine?
In your case, you shouldn’t use the rigidbody drag (leave it at 0). Just calculate and apply the drag force yourself, so you could implement drag in the precise way you need.
As everyone else said, the drag property is a scalar which applies linear drag to all components of the physics body. If you want more accurate simulations given drag is a tensor, you’d need to implement it manually using AddForce().