Mathf.Clamp сбрасывает мой eulerangle в minValue, когда он достигает maxValue, вместо того, чтобы ограничивать его в maxValue. Я пробовал это:
rotateX = Input.GetAxis("Mouse X") * senseX;
player.transform.Rotate(player.up, Mathf.Deg2Rad * rotateX, Space.World);
playerXRotation = player.eulerAngles;
while (playerXRotation.y > 180f)
playerXRotation.y -= 360f;
Debug.Log("Y Rotation: " + playerXRotation.y);
playerXRotation.y = Mathf.Clamp(playerXRotation.y, lowLimitY, highLimitY);
player.transform.eulerAngles = playerXRotation;
И это:
rotate = Input.GetAxis("Mouse X") * senseX;
rotation = player.transform.eulerAngles;
rotation.y += rotate * RateOfRotate;
while (rotation.y > 180)
{
rotation.y -= 360;
}
rotation.y = Mathf.Clamp(rotation.y, lowLimitY, highLimitY);
player.transform.eulerAngles = rotation;
Здесь мои lowLimitY = 0 и highLimitY = 180 в обоих случаях; Я застрял в этом и понятия не имею, как обойти это. Любая помощь будет оценена.