Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void ClampAngle()
- {
- if (Cursor.visible == true)
- return;
- Quaternion yQuaternion = Quaternion.AngleAxis(Input.GetAxis("Mouse Y") * sensitivity * Time.deltaTime, -Vector3.right);
- Quaternion xQuaternion = Quaternion.AngleAxis(Input.GetAxis("Mouse X") * sensitivity * Time.deltaTime, Vector3.up);
- //Проверяем угол между условным "центром" и нужным вращением
- if (Quaternion.Angle(transform.rotation, cameraTransform.localRotation * xQuaternion) < 15)
- {
- if (Quaternion.Angle(transform.rotation, cameraTransform.localRotation * yQuaternion) < 15)
- {
- cameraTransform.localRotation *= xQuaternion * yQuaternion;
- }
- else
- {
- cameraTransform.localRotation *= xQuaternion;
- }
- }
- else
- {
- if (Quaternion.Angle(transform.rotation, cameraTransform.localRotation * yQuaternion) < 15)
- {
- cameraTransform.localRotation *= yQuaternion;
- }
- else
- {
- return;
- }
- }
- cameraTransform.localEulerAngles = new Vector3(cameraTransform.localEulerAngles.x, cameraTransform.localEulerAngles.y, 0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement