void SwapTargetOnCollision() { isCollsionGoingOn = cinemachineCollider.CameraWasDisplaced(vCamBase_MiddleRig); if (isCollsionGoingOn == true) { Debug.Log("Reached Cam Collision"); vFreeLookCam.LookAt = alternateLookAt; } else if (isCollsionGoingOn == false) { vFreeLookCam.LookAt = defaultLookAt; } else { vFreeLookCam.LookAt = defaultLookAt; } }
void Update() { #if UNITY_EDITOR if (!EditorApplication.isPlaying) { CreateGlobalEventIfNecessary(); } #endif if (_cache != null) { if (_freeLook != null) { _vcam = _freeLook.GetRig(1) as CinemachineVirtualCameraBase; } else { _vcam = _cache.VirtualCamera; } // _vcam = _cache.VirtualCamera. as CinemachineVirtualCameraBase; // _cache.VirtualCamera.LiveChildOrSelf as CinemachineVirtualCameraBase; } if (_vcam == null) { return; } // variables if (TargetObscuredVariable.initialized) { TargetObscuredVariable.FsmBool.Value = _cache.IsTargetObscured(_vcam); } if (CameraWasDisplaced.initialized) { CameraWasDisplaced.FsmBool.Value = _cache.CameraWasDisplaced(_vcam); } // events if (_cache.IsTargetObscured(_vcam) && !_currentlyObscured) { _currentlyObscured = true; onTargetObscuredBeganEvent.SendEvent(null, eventTarget, debug); } if (!_cache.IsTargetObscured(_vcam) && _currentlyObscured) // only call on our way back from being obscured { _currentlyObscured = false; onTargetObscuredEndedEvent.SendEvent(null, eventTarget, debug); } if (_cache.CameraWasDisplaced(_vcam) && !_currentlyDisplaced) { _currentlyDisplaced = true; onCameraDisplacedBeganEvent.SendEvent(null, eventTarget, debug); } if (!_cache.CameraWasDisplaced(_vcam) && _currentlyDisplaced) // only call on our way back from being obscured { _currentlyDisplaced = false; onCameraDisplacedEndedEvent.SendEvent(null, eventTarget, debug); } }