Взгляд Unity 3D Google Cardboard (VR) работает без EventTrigger

В настоящее время я работаю над каким-то проектом Unity VR, и у меня проблема с функциями взгляда. В качестве примера я буду использовать объект Google VR DemoScene с именем Cube. В конце прикреплен скрипт телепорта с кодом взгляда:

  public void OnGazeEnter() {
    SetGazedAt(true);
  }

  public void OnGazeExit() {
    SetGazedAt(false);
  }

  public void OnGazeTrigger() {
    TeleportRandomly();
  }

Однако этот фрагмент кажется бесполезным, и все события взгляда обрабатываются компонентом EventTrigger, прикрепленным к объекту Cube.

Мой вопрос: как вы обрабатываете события взгляда (OnGazeEnter, OnGazeExit, OnGazeTrigger) только с помощью этого кода? Было бы намного проще не подключать компонент EventTrigger все время.


person Dorczenzo    schedule 10.06.2016    source источник
comment
Вчера я писал о 3 типах Raycasts здесь. Это должно вам помочь: answers.unity3d.com/answers/1200449/view.html С другой стороны, мне интересно, что произойдет, если вы удалите тот код, который вы считаете бесполезным. Я имею в виду, что, возможно, компилятор выдаст вам несколько предупреждений или подсказок об ошибках.   -  person chelder    schedule 11.06.2016


Ответы (1)


Они не бесполезны, просто не очень хорошо документированы, как их использовать. Мне потребовалось некоторое время, чтобы понять, как это сделать.

Если вы хотите их использовать, вам нужно удалить компонент EvenTrigger, затем выбрать основную камеру и добавить компонент под названием «GVRGaze», и теперь эти события запускаются кодом (OnGazeEnter, OnGazeExit, OnGazeTrigger)

Вы можете использовать маску для фильтрации слоев, если хотите, это очень полезно.

Надеюсь, это поможет вам.

person Jose A. Gallardo    schedule 20.06.2016