void Update()
    {
        var state = m_controller.GetCurrentState();

        Camera.main.orthographicSize = m_initialCameraSize * state.scale;

        // update ball rotation
        m_meshObjects[1].rotation = GetBallRotation();

        foreach (var mo in m_meshObjects)
        {
            foreach (var m in mo.materials)
            {
                m.SetFloat("_Scale", mo.scale);
                m.SetMatrix("_Rotation", state.rotation * mo.rotation);
            }
        }
    }