private void Start() { collisionHandler = GetComponent <CameraCollisionHandler>(); SetCameraTarget(lookAt); MoveToTarget(); collisionHandler.Initialise(Camera.main); collisionHandler.UpdateCamClipPoints(transform.position, transform.rotation, ref collisionHandler.adjCameraClipPoints); collisionHandler.UpdateCamClipPoints(destination, transform.rotation, ref collisionHandler.desCameraClipPoints); }
void FixedUpdate() { Vector3 targetCameraPosition = target.position + offset; transform.position = Vector3.Lerp(transform.position, targetCameraPosition, smoothing * Time.deltaTime); RaycastHit[] hits = Physics.RaycastAll(transform.position, transform.forward, offset.magnitude, environmentMask); foreach (RaycastHit hit in hits) { CameraCollisionHandler collisionHandler = hit.collider.gameObject.GetComponent <CameraCollisionHandler>(); if (collisionHandler == null) { collisionHandler = hit.collider.gameObject.AddComponent <CameraCollisionHandler>(); } collisionHandler.ResetTimer(); } }