Я успешно разработал приложение AR для обнаружения объектов 3D. Когда показан 3D-объект, при обнаружении приложение показывает некоторые игровые объекты 3d Unity, которые являются иерархическими в объектном треке vuforia. Я хочу предоставить пользователям опцию в случае, если у них нет объекта 3d для обнаружения, просто имитируйте, как если бы объект был обнаружен, и покажите связанные 3D-объекты одним нажатием кнопки. Может ли кто-нибудь мне помочь?vuforia single pause отслеживание или увеличение
ответ
Я бы предположил, что у вас есть методы OnTrackingFound/OnTrackingLost. Внутри он устанавливает все объекты (или родительские). Вам просто нужно сказать, что вы хотите только один:
public GameObject objA, objB, objC;
private GameObject currentObj = null;
private bool isTracking = false;
private void Start()
{
if(objA == null) { Debug.LogError("Missing objext"); }
if(objB == null) { Debug.LogError("Missing objext"); }
if(objC == null) { Debug.LogError("Missing objext"); }
}
void OnTrackingFound()
{
this.isTracking = true;
OnTrackingLost();
if(currentObj != null) { currentObj.SetActive(true); }
}
void OnTrackingLost()
{
this.isTracking = false;
objA.SetActive(false); objB.SetActive(false); objC.SetActive(false);
}
public void SetObjectWithUI(GameObject obj)
{
this.current = obj;
if (this.isTracking == true){ OnTrackingFound(); }
}
Вы добавляете три кнопки на интерфейсе и использовать SetObjectWithUI как событие. Затем в слот GameObject вы перетаскиваете три разных игровых объекта, которые хотите показать. Когда вы нажмете кнопку, основанная на текущем отслеживании, она либо сбросит, либо ничего не сделает.
почему вы не используете "User Defined Targets" с обнаружением объекта
User-Defined Цели позволяют конечному пользователю выбрать изображение во время выполнения. Таким образом, пользователь испытывает AR «в любое время и в любом месте», выбирая изображение - например, фотографию, обложку книги или плакат - из его или ее ближайшей окружения без необходимости носить с собой заранее определенные цели.
просто загрузить образцы
Объект Recog
пользователя определить цель на
от: https://developer.vuforia.com/downloads/samples
и объединить оба
Спасибо за ваш код. Я создал кнопку и добавил вышеприведенный скрипт и добавил onlcick() с помощью SetObjectWithUI, и выбранный объект должен быть показан. Но ничего не происходит. Не могли бы вы заглянуть? – user6160538
Помните, что класс, в который вы размещаете этот код, должен иметь весь ITrackableEventHandler с общедоступным void OnTrackableStateChanged (TrackableBehaviour.Status previousStatus, TrackableBehaviour.Status newStatus). – Everts
Не могли бы вы рассказать об этом? Должен ли я добавить 'code' public void OnTrackableStateChanged (TrackableBehaviour.Status previousStatus, TrackableBehaviour.Status newStatus) в верхней части кода, который вы указали? Он снова дает ошибку. – user6160538