void LateUpdate() { if (Input.GetMouseButton(1) && target && taskController.GetCurrMode() != ViewMode.GraphPlot) { x += Input.GetAxis("Mouse X") * xSpeed * distance * 0.02f; y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f; y = ClampAngle(y, yMinLimit, yMaxLimit); Quaternion rotation = Quaternion.Euler(y, x, 0); Vector3 negDistance = new Vector3(0.0f, 0.0f, -distance); Vector3 position = transform.rotation * negDistance + target.position; transform.position = position; transform.rotation = rotation; } if (target && Input.GetAxis("Mouse ScrollWheel") != 0 && taskController.GetCurrMode() != ViewMode.GraphPlot) { distance = Mathf.Clamp(distance - Input.GetAxis("Mouse ScrollWheel") * 5, distanceMin, distanceMax); Vector3 negDistance = new Vector3(0.0f, 0.0f, -distance); Vector3 position = transform.rotation * negDistance + target.position; transform.position = position; } }