So i have this code i’m working on that uses BodyGyro to rotate a part, it’s being used for a plane
local RunService = game:GetService("RunService")
local seat = script.Parent
local plane = seat.Parent
local body = plane:WaitForChild("Body")
local accelleration = body:WaitForChild("Accelleration")
local sideRotation = body:WaitForChild("SideRotation")
local driving = false
accelleration.MaxForce = Vector3.new(math.huge(), math.huge(), math.huge())
sideRotation.MaxTorque = Vector3.new(math.huge(), math.huge(), math.huge())
seat.Changed:Connect(function(property)
if seat.Occupant ~= nil then
driving = true
else
driving = false
end
end)
RunService.Stepped:Connect(function()
if driving == true then
sideRotation.CFrame = body.CFrame * CFrame.Angles(0, math.rad(1 * -seat.Steer), 0)
local Direction = body.CFrame.LookVector
local Velocity = 1 * Direction * seat.MaxSpeed
accelleration.Velocity = Velocity
end
end)
The problem is that the BodyGyro doesn’t rotate the part.
This is the structure of the model
No one of those parts is achored and the WeldConstraint only keeps the seat attached to the body.
These are the the properties of the BodyGyro
The MaxTorque is changed by the script and set to infinity. I’m stuck with this problem from a long time at now, i would really appreciate if you can help me understaing what’s the problem.