Ejemplo n.º 1
0
    /// <summary>
    /// Unity engine Late update method from mono behaviour.
    /// </summary>
    private void LateUpdate()
    {
        Vector3 rtarget2camera = cameraMotion.transform.position - target.position;

        /// Set raycast parameters
        ray.origin    = target.position;
        ray.direction = rtarget2camera.normalized;

        if (Physics.Raycast(ray, out hit, cameraMotion.getNaturalBoomMagnitude(), retractLayer.value))
        {
            distanceToTarget = (hit.point - target.position).magnitude;
        }
        else
        {
            /// Return default distance slightly larger that the minimum zoom length.
            distanceToTarget = cameraMotion.getNaturalBoomMagnitude() * 1.1f;
        }

        cameraMotion.setZoomAsDistanceFromTarget(distanceToTarget);
    }