Как правильно добавить события для разных ImageTargets в Vuforia? - PullRequest
0 голосов
/ 29 декабря 2018

enter image description here

Вы можете видеть, что у меня есть две цели и два 3D-объекта, которые перекрывают их каждый раз, когда они обнаруживаются.

Теперь я хочу добавитьотдельные события (onFound, onLost) для обеих целей.

Каков наилучший способ сделать это?Должен ли я добавить отдельный скрипт для каждой цели?

1 Ответ

0 голосов
/ 29 декабря 2018

Вы можете оформить заказ UnityEvent (это, например, кнопки onClick).

Таким образом, для каждой цели изображения вы можете иметь, например,

public class CustomImageTarget : DefaultTrackableEventHandler
{
    public UnityEvent onFound;
    public UnityEvent onLost;

    protected override void OnTrackingFound()
    {
        // if you also want the default behaviour in this
        // (enables Renderers, Colliders and Canvas)
        // base.OnTrackingFound();

        onFound.Invoke();
    }

    protected override void OnTrackingLost()
    {
        // if you also want the default behaviour in this
        // (Disables Renderers, Colliders and Canvas)
        // base.OnTrackingLost();

        onLost.Invoke();
    }
}

Затем вы можете либо присоединить реакцию в Инспекторе с помощью перетаскивания (как вы сделали бы с onClick компонента Button)

Или вы можете добавить слушателей в сценарий во время выполнения, выполнив

aCustomImageTatgetReference.onFound.AddListener(/* ... */);
...