Example #1
0
    void FixedUpdate()
    {
        //var fixz = transform.position.z;
        Vector2 targetSpeed = submarine.getSpeedInfo();

        /*
         * int zoomlevel = Mathf.RoundToInt(targetSpeed.x / targetSpeed.y * zooms.Length * speed_scale);
         * zoomlevel = Mathf.Min(zoomlevel, zooms.Length);
         * Vector3 newpos = new Vector3(target.position.x,
         *  target.position.y, -zooms[zoomlevel]);
         */
        float zoom = Mathf.Min(zoom_max, Mathf.Max(zoom_min, targetSpeed.x * speed_scale));

        zoom      = Mathf.SmoothDamp(prev_zoom, zoom, ref zoom_vel, zoom_smooth);
        prev_zoom = zoom;
        Vector3 newpos = new Vector3(target.position.x,
                                     target.position.y, -zoom);


        transform.position = Vector3.SmoothDamp(transform.position, newpos, ref velocity, smoothSpeed);
    }