void setupCamera()
    {
        CameraAttribute attr = CameraAttribute.Empty;

        attr.setPosition(m_Character.getWorldPosition());
        attr.setRotation(Quaternion.Euler(90f, 0f, 0f));
        attr.setFov(60f);
        attr.setZLength(30f);
        m_Controller.setAttribute(attr);
    }
    void initalCameraPosition()
    {
        var             position = GameObject.FindGameObjectWithTag("Player").transform.position;
        CameraAttribute attr     = CameraAttribute.Empty;

        attr.position = position;
        attr.rotation = Quaternion.identity;
        attr.zlength  = 0f;
        attr.fov      = 50f;
        m_CamController.setAttribute(attr);
    }
    IEnumerator ieTransferOnStartup()
    {
        CameraAttribute target = CameraAttribute.Empty;

        target.setPosition(Vector3.up * 65f);
        target.setRotation(Quaternion.Euler(-5f, 0f, 0f));
        target.setZLength(250f);
        target.setFov(60f);

        m_CamController.startShakeCamera(1, 0.8f);
        yield return(CameraAnimator.instance.ieStartCameraNextKeyframe(target, 4.5f));

        yield return(new WaitForSeconds(1f));

        CameraAttribute next = CameraAttribute.Empty;

        next.setPosition(Vector3.up * 15f);
        next.setRotation(Quaternion.identity);
        next.setFov(17f);

        yield return(CameraAnimator.instance.ieStartCameraNextKeyframe(next, 0.7f));
    }