From what I understand, velocity is the maximum goal of how fast you want it to go in each direction and Maxforce/Maxtorque is how much force you want to put into reaching that goal, but what is power? I read that it’s how “aggressive” the force is, but what does that actually mean?
Also, what determines the minimum force required to begin moving an object at a certain speed, and how can you control this? (For example, if I want to increase the angular velocity max torque for an object at an increasing rate to steadily increase the velocity, how can I do this? Is the velocity reached proportional to the Max torque at a constant rate or does it change the higher the torque ?)
This is simply the target velocity, or your goal for how fast you want your part to travel in which direction.
BodyVelocity.P
Now, BodyVelocity.P determines how much power is used by BodyVelocity. It is a bit vague, but it seems that this property works as a multiplier to the velocity that you apply. So if you set velocity to Vector3.new(0, 100, 0) and the .P property to 2, you should get an actual output of Vector3.new(0, 200, 0) from what I understand. If you’re wondering where I got that from, it’s at the link below for BodyVelocity on the Roblox API.
BodyVelocity.MaxForce
FInally, BodyVelocity.MaxForce can be explained as being a limit to how much power BodyVelocity can apply. So you could apply a .Velocity of Vector3.new(10000, 0, 0), but if you don’t have .MaxForce set high enough, you may have trouble moving a given part. The more mass your part has, the higher you’ll need to set this property.
Velocity is the speed of some object in a specific direction. However, acceleration is the change in that velocity. Also, note that speed is the change of position just like velocity, but speed does not have direction.
So if I set power to 1, what max force would be needed to reach a velocity of 10 in a direction? Would it also be 10 (+ the force needed to overcome the part’s weight) in the given direction?
I’m not exactly sure; I recommend you test it yourself to find out. However, from a “theoretical” viewpoint, since it’s massless, any force. But then, despite parts being “massless,” Roblox still seems to apply workspace gravity to them. Thus, assuming they treat “massless” parts as parts with a mass of 1, I believe you’d need to apply a force greater than the force due to gravity.
Using the all too well known Newton’s Second Law of Motion, often expessed as F = mg (specific to gravity), assuming no friction, drag, or other forces, we should be able to apply any force greater than 1 * game.Workspace.Gravity to move the part.
With all that being said, it could be wrong depending on what forces still act upon massless parts in Roblox, with friction being the main issue. Assuming a truly massless part in space, then any force; in Roblox, I’m not so sure haha.
EDIT: Actually, if Massless parts did not have friction applied, then any force would make it fly off the map. I believe, then, that friction does apply to Massless parts in Roblox as well. This would mean the minimum force to apply in order to move the object would be equal to or higher than the following:
BodyVelocity.Velocity = Vector3.new(game.Workspace.Gravity * Fricion) -- Friction depends on factors in Roblox such as what terrain it is on, or CustomPhysicalProperties you've set
Also, so far the power doesn’t seem to be affecting the acceleration or the maximum velocity, so I’m still not sure what it actually does.
script.Parent.MaxForce = Vector3.new(0,(script.Parent.Parent:GetMass()*196.2) + NUMBER, 0)
local count = 0
local PrevVelo = script.Parent.Parent.Velocity.Y
while true do
wait(1)
count = count + 1
print(count.." Seconds")
print(script.Parent.Parent.Velocity.Y.." m/s")
print(script.Parent.Parent.Velocity.Y - PrevVelo.." Change")
PrevVelo = script.Parent.Parent.Velocity.Y
end
Did this to find the acceleration at each force. Acceleration at + 4 force is double that of + 2, but there’s 0 acceleration with + 1, no matter the target velocity or power.
I believe BodyVelocity.P is actually closer to the acceleration. It’s how quickly the BasePart accelerates or decelerates to the target velocity (a value that’s too high without much dampening can lead to over corrections too).
By “this property is multiplied to this force to either amplify or diminish it” I believe they are referring to increasing or decreasing the force acting on the object to reach the desired speed. Note that force = mass * acceleration, so this modifies the force (I think), which affects the acceleration proportionally.