diff --git a/Code/Player/Dedugan.Camera.cs b/Code/Player/Dedugan.Camera.cs index 45e9a1c..c619b3e 100644 --- a/Code/Player/Dedugan.Camera.cs +++ b/Code/Player/Dedugan.Camera.cs @@ -14,7 +14,14 @@ public sealed partial class Dedugan else { CameraPivot.WorldPosition = Eyes.WorldPosition; - CameraPivot.LocalRotation = EyeAngles.ToRotation(); + + // Компенсируем поворот тела, чтобы камера вращалась правильно + // Используем только yaw от EyeAngles, но pitch оставляем как есть + var bodyYaw = Renderer.LocalRotation.Yaw(); + var cameraYaw = EyeAngles.yaw; + var compensatedYaw = cameraYaw - bodyYaw; + + CameraPivot.LocalRotation = Rotation.FromYaw( compensatedYaw ) * Rotation.FromPitch( EyeAngles.pitch ); } } }