Ejemplo n.º 1
0
    /// <summary>
    /// This method will be called whenever a new VuMark is detected
    /// </summary>
    public void OnVuMarkDetected(VuMarkTarget target)
    {
        Debug.Log("New VuMark: " + GetVuMarkString(target));

        var vuMarkId    = GetVuMarkString(target);
        var vuMarkTitle = GetVuMarkDataType(target);
        var vuMarkImage = GetVuMarkImage(target);

        mCurrentVuMark = target;
        mIdPanel.Hide();
        StartCoroutine(ShowPanel(vuMarkTitle, vuMarkId, vuMarkImage));
    }
Ejemplo n.º 2
0
    void UpdateClosestTarget()
    {
        Camera cam = DigitalEyewearBehaviour.Instance.PrimaryCamera ?? Camera.main;

        float closestDistance = Mathf.Infinity;

        foreach (var bhvr in mVuMarkManager.GetActiveBehaviours())
        {
            Vector3 worldPosition = bhvr.transform.position;
            Vector3 camPosition   = cam.transform.InverseTransformPoint(worldPosition);

            float distance = Vector3.Distance(Vector2.zero, camPosition);
            if (distance < closestDistance)
            {
                closestDistance = distance;
                mClosestVuMark  = bhvr.VuMarkTarget;
            }
        }

        if (mClosestVuMark != null &&
            mCurrentVuMark != mClosestVuMark)
        {
            var vuMarkId    = GetVuMarkString(mClosestVuMark);
            var vuMarkTitle = GetVuMarkDataType(mClosestVuMark);
            var vuMarkImage = GetVuMarkImage(mClosestVuMark);

            mCurrentVuMark = mClosestVuMark;
            mIdPanel.Hide();
            StartCoroutine(ShowPanelAfter(0.5f, vuMarkTitle, vuMarkId, vuMarkImage));
        }
    }