Звук воспроизводится при обнаружении нескольких целей.ЕДИНСТВО Вуфории - PullRequest
0 голосов
/ 26 февраля 2019

В настоящее время я делаю аудиокнигу AR, в которой при сканировании нескольких изображений цель будет воспроизводиться для каждой цели.Я пытаюсь следовать указаниям Unity и vuforia, но все еще не работает.Вы можете мне помочь.

Эта сцена содержит птицу и тигра.Когда изображение птицы сканируется, звук птицы будет играть и тигра.

Это мой код:

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using Vuforia;


public class ImageTargetPlayAudio : MonoBehaviour,
                                            ITrackableEventHandler
{
    private TrackableBehaviour mTrackableBehaviour;

    void Start()
    {
        mTrackableBehaviour = GetComponent<TrackableBehaviour>();
        if (mTrackableBehaviour)
        {
            mTrackableBehaviour.RegisterTrackableEventHandler(this);
        }
    }

    public void OnTrackableStateChanged(
                                    TrackableBehaviour.Status previousStatus,
                                    TrackableBehaviour.Status newStatus)
    {
        if (newStatus == TrackableBehaviour.Status.DETECTED ||
            newStatus == TrackableBehaviour.Status.TRACKED ||
            newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
        {
            // Play audio when target is found
            GetComponent<AudioSource>().Play();
        }
        else
        {
            // Stop audio when target is lost
            GetComponent<AudioSource>().Stop();
        }
    }
}

И прикрепленное изображение - это моя иерархия.enter image description here

Я добавляю этот код в каждую цель изображения.

Исправьте меня, если я ошибаюсь.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Если вы новичок в Vuforia, вам будет проще справиться с этим с GetComponent на DefaultTrackableEventHandler, этот скрипт содержит уже работающие события OnTrackingLost и OnTrackingFound.

Просто добавьтеGetComponent для вашего пользовательского скрипта, а если нет null, воспроизведите звук на этом скрипте.

0 голосов
/ 26 февраля 2019

Документы для RegisterTrackableEventHandler

Этот метод регистрирует новый обработчик событий Tracker на Tracker.Эти обработчики вызываются, как только ВСЕ отслеживаемые объекты будут обновлены в этом кадре.

Таким образом, вы используете неправильный метод, проверьте документ , возможно, OnTrackerUpdate подходит.

...