I tested this with my heli that I made a couple months ago, the way I set it up was by using one attachment to attach the AlignOrientation to the main part.
Then you can set the alignment via cframe just like bodygyro.
make sure you set the maxtorque and stiffness etc. values. I used math.huge for max torque when āflyingā then set to zero when idle/off and max angular velocity to infinity
yes, actually! When ascending straight up the counter-force was applied correctly, but when tilting or turning it began to spiral. I donāt have the version which used this system still around to check, but I have a few backup files. I could probably recreate it to double-check, but Iām focusing on a system that doesnāt even use vectorforces to avoid the issue all-together now.
local Object = ???
local v = Object.AssemblyLinearVelocity
Object.AssemblyLinearVelocity += Object.CFrame.RightVector*(0-((Object.CFrame:VectorToObjectSpace(v)).X))
This should eliminate excess forces that arenāt in the Z axis relative to Object. Hook it up to a stepped listener.