Hi, I’ve been trying to figure out this odd issue related to CFrame that causes the expected result to be a little offset. I don’t know why it does that.
Don’t worry, the object should still be facing the same direction, only the representation is different.
Orientation describes Tait-Bryan angles (transformation is applied in order Y then X then Z), while CFrame.Angles() constructs Euler angles (transformation is applied in order Z then Y then X).
Though you already solved this, it would be better if you set motor6d.C0 = CFrame.new(motor6d.C0.Position)*angles because you will have to readjust it if you ever wanted to change the motor6d properties.