protected override void Awake() { base.Awake(); _follow = GetCinemachineComponent <Cinemachine3rdPersonFollow>(); Assert.IsNotNull(_follow); }
private void Start() { if (cinemachineCam) { cinemachineFollow = cinemachineCam.GetCinemachineComponent <Cinemachine3rdPersonFollow>(); targetFov = startFov = cinemachineCam.m_Lens.FieldOfView; camYPos = 0; } AimX = transform.eulerAngles.y; }
void OnEnable() { var vcam = GetComponentInChildren <CinemachineVirtualCamera>(); if (vcam != null) { TpsFollow = vcam.GetCinemachineComponent <Cinemachine3rdPersonFollow>(); FollowTarget = vcam.Follow; } // Store the base camera distance, for consistent scaling if (TpsFollow != null) { BaseDistance = TpsFollow.CameraDistance; } }
private void Start() { cam = GetComponent <CinemachineVirtualCamera>().GetCinemachineComponent <Cinemachine3rdPersonFollow>(); camFocus = GameObject.Find("CameraHeadFocus").transform; }
private void Update() { // make sure we have a handle to the follow component if (followCam == null) { followCam = vcam.GetCinemachineComponent <Cinemachine3rdPersonFollow>(); } cameraInputHorizontal = -Input.GetAxis("Mouse X"); cameraInputVertical = Input.GetAxis("Mouse Y"); if (allowCameraToggle) { var side = Input.GetButtonDown("CameraSide"); if (side) { doCameraSideToggle = true; } if (doCameraSideToggle) { sideToggleTime = 0f; cameraSide = followCam.CameraSide; if (cameraSide > 0.1) { desiredCameraSide = 0f; } else { desiredCameraSide = 1f; } doCameraSideToggle = false; } followCam.CameraSide = Mathf.Lerp(cameraSide, desiredCameraSide, sideToggleTime); sideToggleTime += cameraSideToggleSpeed * Time.deltaTime; } Debug.DrawRay(Camera.main.transform.position, Camera.main.transform.forward, Color.blue, 1.0f); Debug.DrawRay(invisibleCameraOrigin.position, invisibleCameraOrigin.forward, Color.red, 1.0f); if (invisibleCameraOrigin != null) { if (invertHorizontal) { cameraX -= cameraVerticalRotationMultiplier * cameraInputVertical; } else { cameraX += cameraVerticalRotationMultiplier * cameraInputVertical; } if (invertVertical) { cameraY -= cameraHorizontalRotationMultiplier * cameraInputHorizontal; } else { cameraY += cameraHorizontalRotationMultiplier * cameraInputHorizontal; } invisibleCameraOrigin.eulerAngles = new Vector3(cameraX, cameraY, 0.0f); } }