Unity AR Как я могу вызвать кнопку в сцене? - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть маленький AR-Unityapp для Android, и я пытаюсь воспроизвести видео с помощью кнопки.Но кнопка не должна быть на экране (холст), она должна быть на сцене (понятно?).Итак, я сделал трехмерную плоскость, которая просто начинает видео с события указателя вниз, но это не сработает.Я знаю, что это можно сделать, но я понятия не имею, какая помощь будет полезна (xP).

enter image description here

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Если вы хотите вызвать событие Pointer Down, просто следуйте инструкциям ниже

ШАГИ

  1. Добавьте Physics Raycaster на вашу камеру, как показано ниже Physics Raycaster
  2. Добавьте объект EventSystem в вашу сценуЩелкните правой кнопкой мыши в Hirarchy Window -> UI -> Event System
  3. Компонент триггера события атаки на требуемую плоскостьВыберите «Плоскость» -> «Добавить компонент» -> «Триггер события» -> «Добавить событие указателя вниз» enter image description here
  4. Теперь вызовите необходимый метод с помощью события PointerDown (в моем случае Plane.OnSelected ())

АЛЬТЕРНАТИВА ТРИГГЕРА СОБЫТИЙ

  1. Шаги с 1 по 2, как указано выше
  2. Прикрепите приведенный ниже скрипт к этой плоскостикак показано ниже

    using UnityEngine;
    using UnityEngine.EventSystems;
    
    public class Plane : MonoBehaviour,IPointerDownHandler {
        public void OnPointerDown(PointerEventData eventData)
        {
            Debug.Log("CALLED");
        }
    }
    

    Этот метод будет вызываться при указателе вниз на требуемой плоскости.Как видно из приведенного выше кода, мы используем IPointerDownHandler интерфейс UnityEngine.EventSystems

Я уверен, что это решит вашу проблему.

0 голосов
/ 28 ноября 2018

использовать холст мира:

Создайте холст и установите для его «режима рендеринга» значение «мир».На этом холсте вы можете поместить свою кнопку, назначить ей трехмерное местоположение, как если бы вы использовали плоскость, но вы можете использовать обычные функциональные возможности пользовательского интерфейса, например кнопки, вместо того, чтобы реализовывать распознавание щелчков самим.

...