Problems with AlignOrientation

Hey I have some problems with my AlignOrientation I am using for a helicopter I’m trying to create. It’s complicated to explain, so I’ll show you some videos first.

What I what to achieve when turning:
https://www.youtube.com/watch?v=yexra__c114

What is actually happening when I’m turning:
https://www.youtube.com/watch?v=vozXXB4dd3g

As you can see, when I am turning left in my helicopter, it starts out looking alright, but then at a certain point I am no longer tilting towards the direction I am turning, while in the desired behavior video, the helicopter is always tilting in the direction it is turning.

I know people in the past have used BodyGyros to achieve this behavior, but since they’re deprecated, I wanted to use their newer counterparts, the AlignOrientation. Here is my code for turning left below:

turnLeft = true
while turnLeft do
	task.wait()
	rotationAttachment.Orientation = Vector3.new(0, rotationAttachment.Orientation.Y - 1, -20)
end

rotationAttachment is the attachment that the AlignOrientation instance uses. I am really bad when it comes to Vector math and CFraming, so any solutions you guys have, it would be very helpful if you could explain it to me rather than just pasting a bunch of code. Thanks!

maybe try printing the orientation every second or so to see if its constant or constantly subtracting

-20 is what controls the tilt, so it is constant. I’m now experimenting with using the rotationAttachment’s LookVector.Z value and multiplying that value by 20 and I’m getting a much better result, but there is still some wobbling like in the video in the original post.

hm okay yeah i figured that, although im glad its working better ill try to look it up and get a better understanding

hmm i wonder if the seat is applying the rotation to the big part as well causing it to wobble weird im looking at the uh, dev index for this stuff, it seems like if u want to apply to both u need the AlignOrientation.MaxTorque property instead of just one, honestly i dont know too much but its a guess, according to this it tries to mirror the other part with a delay in the gif AlignOrientation | Roblox Creator Documentation

in my mind its trying to rotate it but it also rotates the seat with it causing it to trying to reach a new goal hence the spin?

I don’t think the parts should have anything to do with the orientation acting up as the AlignOrientation is basing its orientation off of the attachment, not the seat or other parts. Also, all of the part’s massless properties are set to true except for the faint red cube which holds all the mass for the helicopter.

ohhhh i didnt see the other part that was there that was partly transparent, i see so thats turning the entire thing, what if u turned the attachment into the seat, would that work better? other than that i have no other ideas really, or move the attachment to where the seat is

Sorry I think you are misunderstanding. The parts do not have anything to do with the rotation of the helicopter, only the attachment does. The attachment’s orientation is what is changed, and because it is parented to the MassPart which all the other parts are welded to, the entire model turns.

yes i get that, its not that i dont understand, sorry i completely thought something a little different, i figured if the script was working pretty much correctly it mightve been involving something with the parts involving collision given its sort of physics based or the positioning of the attachment, although i guess i dont know