I'm using free joystick pack form asset store and in scene have two cameras (first person and third person). Switching cameras with toggle.

Game starts with first person camera. Moving with fixed joystick and rotating camera with swiping on right side of screen. Everything is ok for this step.

For third person camera I'm using cinemachine free look camera. Cinemachine camera is reacting to joystick touch inputs. I need to disable camera movement when interacting with joystick. Tested on Android device

Cinemachine settings:

enter image description here

Third Person movement script:

void Update()
        if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer)
            x = joystick.Horizontal;
            z = joystick.Vertical;
            x = Input.GetAxis("Horizontal");
            z = Input.GetAxis("Vertical");

        Vector3 direction = new Vector3(x, 0, z).normalized;

        if (direction.magnitude >= 0.1f)
            float targetAngle = Mathf.Atan2(direction.x, direction.z) * Mathf.Rad2Deg + camTps.transform.eulerAngles.y;
            float angle = Mathf.SmoothDampAngle(transform.eulerAngles.y, targetAngle, ref turnSmoothVelocity, turnSmoothTime);
            transform.rotation = Quaternion.Euler(0f, angle, 0f);

            Vector3 moveDirection = Quaternion.Euler(0f, targetAngle, 0f) * Vector3.forward;
            characterController.Move(moveDirection.normalized * speedTps * Time.deltaTime);

Any ideas and suggestions is appreciated

  • \$\begingroup\$ In if (direction.magnitude >= 0.1f), use GetComponent to get CinemachineFreeLook component and use the methods SetActive(false) to disable it. Is it what you want? \$\endgroup\$ – A.Gerber Jun 29 '20 at 11:38
  • \$\begingroup\$ This piece of code not works as intended. But thanks for reply \$\endgroup\$ – Nurlan Shukurov Jun 29 '20 at 15:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.