I’m a bit confused about how to apply BodyMovers, more specifically, BodyVelocity. I want to use BodyVelocity to make a skydiving script as suggested by @someonedie in my post about making a skydiving script.
I’ve been trying to apply this idea, but I don’t understand how BodyVelocity works. Can someone give me some steps on how to start utilizing BodyVelocity?
In terms of the name, “velocity” is the speed of an object in a given direction. That’s why it is represented as a Vector3, where you can set the speed on each axis.
BodyVelocity can be a bit intrusive. Given enough MaxForce, it will literally dictate the exact velocity goal of an object. So, if you set its velocity to (0, -100, 0), then the object will have a velocity downwards of -100 studs/second.
BodyVelocity also sets the velocity in world space. This means that the velocity applied doesn’t take the rotation of the object into account. In other words, if the velocity is set to (100, 0, 0) and the object is spinning like crazy, it will still only move in the east direction. (Not really “east”, but it’s a fixed direction)
In terms of skydiving, Roblox already handles gravity just fine. However, objects are treated as if they’re in a vacuum, and thus there is no air resistance applied to moving objects. This means that a falling object continues to accelerate forever. This is not ideal for skydiving. Simulating air resistance can be a bit tricky, but you could look into my Airfoil module if you’re interested.