Does Roblox have air resistance?

When I apply a torque to the center of a part using the Torque object, the angular velocity increases. Then, when I remove the Torque object, the angular velocity decreases until it reaches 0. Without air resistance, the angular velocity should instead stay constant. Does Roblox have air resistance? What is the formula?

EDIT: This thread from 2017 says that air resistance was removed.

Here’s the file I’m using: Air Resistance.rbxl (14.9 KB)
Hit Play, set the Torque to (0, 50, 0) for a couple seconds, then set it to (0, 0, 0). Wait and watch as it slows down.

3 Likes

I believe it does not. But I could be wrong.

2 Likes

The thread I linked agrees with you, but the system is still experiencing a resisting force (retarding force? unsure of the vocabulary). What would it be if not for air resistance?

2 Likes

I’m testing it right now, and its actually not losing any velocity, its actually gaining it despite Torque being set to 0. Do keep in mind you have a BodyForce on this part as well.

1 Like

It might be friction. Hold on let me get a hold of this .rbxl place.

1 Like

Also @DragRacer31 is right, right now its spinning in the air and floating off. But if it happened to be spinning while touching the baseplate then friction could be slowing it down.

1 Like

The upward force shouldn’t contribute to the torque at all. Is there any reason why it might?

1 Like

On my computer the brick is not spinning at all. It might be the low torque.

1 Like

Not sure, I can’t see it anymore lol. I still see RotVelocity increasing in number tho, so I could be wrong about it increasing in speed, and just assuming that it is since I’m visually monitoring a change in value.

1 Like

Set the torque to 100 if it wont spin on you computer.

1 Like

Did you open the hierarchy and set Torque to 0,50,0 manually?

2 Likes

@T0ny So for you, after setting the torque back to (0, 0, 0), its rotational velocity continues to increase?

2 Likes

It might be the fact that the momentum is causing the part to still spin. I set it to (0, 50, 0) then I set it to (0, 0, 0), and it slowed, and stopped down after around 60 seconds.

2 Likes

Actually no, I was visually looking at the vector so I didn’t realize it wasn’t increasing.

Anyways I think the system is working as intended. I disabled the BodyForce. Torque actually isn’t producing enough force to move the part. I’d recommend multiplying the mass of the object by gravity or two times that to get the force needed to actually influence the part.

Also it’s possible the BodyForce might also be making it behavior weirdly.

@AstroCode here are my changes.

Air Resistance.rbxl (15.4 KB)

4 Likes

You can set the gravity to 0 and remove the force, it behaves the same way.

2 Likes

Floating away? I noticed it. My only thoughts was that maybe it was generating enough momentum to keep itself in the air.

You have to remember you aren’t using Angular Velocity so you aren’t trying to achieve a specific velocity. Torque basically just applies a rotation force on a specific axis and calls it a day. Like a car, once a specific speed is reached the torque won’t increase it’s speed. and if you reduce the torque to 0 it won’t stop rotating either do to the removal of air resistance. You’ll need to apply a negative torque to get it to reach 0.

If I’m correct the part will start to fall once it slows down enough.

2 Likes

Yes, what he is saying is that the part slows down its rotation while in the air. The force makes it float so that it doesn’t experience friction, I think this is just for the demonstration. If you set the torque high, and then disable it after a bit, you’ll see it go down. He’s asking why this happens, since Roblox said they removed air resistance a while ago.

Demo script I’m using to see the change in RotVelocity after disabling it: (put inside torque)

local torque = script.Parent
local part = torque.Parent
wait(5)
print("Disabling! Current RotVelocity: ", part.RotVelocity)
torque.Enabled = false
repeat
	wait(5)
	print("Current RotVelocity: ", part.RotVelocity) -- should be the same?
until part.RotVelocity.Y < 1
4 Likes

Yeah I’ve just noticed. Now for me it still takes awhile to slow down. Seems instead of removing air resistance or dampening completely they simply reduced it.

So I guess Roblox does have air resistance, but very low air resistance. Anywho, I’m not an expert so this could be a bug.

2 Likes

It would seem that way. A perfectly elastic ball bounces forever, so there is only rotational air resistance. Thanks for helping me investigate!

2 Likes