Пример #1
0
    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;
        }
    }