So, in short, this script allows the player to control the velocity/movement of a part. The problem is that it is quite choppy - all of the changes in velocity are instantaneous and abrupt. I want it to be more fluid, with a little deceleration or something when the rotation changes. Is there an easy way to do this with BodyMovers or something? Here is my current code, which causes the abrupt turns and such.
bodyVelocityPath = script.Parent.BendingPower bodyVelocityPath.MaxForce = Vector3.new(math.huge, math.huge, math.huge) local player = game.Players:FindFirstChild(script.Parent.PlayerName.Value) player.PlayerGui.MousePosition:GetPropertyChangedSignal("Value"):Connect(function() local curr_pos = player.PlayerGui.MousePosition.Value local mouse_target_name = player.PlayerGui.MouseTarget.Value if mouse_target_name ~= script.Parent.Name then bodyVelocityPath.Velocity = CFrame.new(script.Parent.Position, curr_pos).LookVector * 70 else -- i'm not too sure what to put here, but this seems ok... bodyVelocityPath.Velocity = CFrame.new(script.Parent.Position, script.Parent.Position + script.Parent.CFrame.LookVector * 15).lookVector * 70 end end)