I am making a turret and it works fine when it is facing towards Positive X, but when I rotate the model the turret no longer rotates right. I am assuming that this is because atan2 gets the angle from the positive X axis to the point. Is there a way to redefine which way the X axis is pointing, or is there another way to get the angle that isn’t reliant on the direction the model is facing.
Code for angling
Mouse.TargetFilter = script.Turret.Value local MouseTargetPos = Mouse.Hit.Position local OriginPointYaw = Vector2.new(script.Turret.Value.YawAxis.Position.X, script.Turret.Value.YawAxis.Position.Z) local TargetPointYaw = Vector2.new(MouseTargetPos.X, MouseTargetPos.Z) local AngleYaw = math.atan2((TargetPointYaw.Y-OriginPointYaw.Y), (TargetPointYaw.X-OriginPointYaw.X)) local PitchDirection = MouseTargetPos - script.Turret.Value.PitchAimingBrick.Position local AnglePitch = math.asin(PitchDirection.Y / PitchDirection.Magnitude) AngleYaw = math.deg(AngleYaw) AnglePitch = math.deg(AnglePitch) AngleYaw = -AngleYaw