private void UpdateCamera() { var leftEye = currentTarget.head.Rend_eye_L.transform.position; var rightEye = currentTarget.head.Rend_eye_R.transform.position; Camera.main.transform.position = Vector3.Lerp(leftEye, rightEye, 0.5f); var offset = currentTarget.sex == Character.SEX.MALE ? MaleOffset : FemaleOffset; Camera.main.transform.Translate(offset); Camera.main.transform.rotation = currentTarget.head.Rend_eye_L.transform.rotation; Camera.main.fieldOfView = RealPOVCore.DefaultFOV.Value; if (!OnUI && (Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(1) || Input.GetMouseButtonDown(2))) { dragging = true; } else if (!Input.GetMouseButton(0) && !Input.GetMouseButton(1) && !Input.GetMouseButton(2)) { dragging = false; } if (dragging) { if (ConfigData.dragLock) { GameCursor.Lock(); } float x = Input.GetAxis("Mouse X") * RealPOVCore.MouseSens.Value; float y = Input.GetAxis("Mouse Y") * RealPOVCore.MouseSens.Value; if (Input.GetMouseButton(0)) { rotation += new Vector3(-y, x, 0f); } else if (Input.GetMouseButton(1)) { if (Input.GetKey(KeyCode.LeftShift)) { rotation += new Vector3(0f, 0f, -x); } else { Camera.main.fieldOfView += x; RealPOVCore.DefaultFOV.Value = Camera.main.fieldOfView; } } } }