Когда курсор попадает в модель, он показывает Uncaught TypeError: не может прочитать свойство "emit" undefined

I’M new to a-frame, so if the question is really easy please be patient with it. Мой вопрос заключается в том, что когда курсор попадает на модель, он показывает Uncought TypeError: не может прочитать свойство «emit» undefined.Вот мой код:

<a-scene>
  <a-assets>
    <img id="room" src="./pics/room.jpg">
    <a-asset-item id="crate-obj" src="/models/chair/Chair.obj"></a-asset-item>
    <a-asset-item id="crate-mtl" src="/models/chair/Chair.mtl"></a-asset-item>
  </a-assets>

  <a-entity position="0 1.8 4">
    <a-camera id="camera">
      <a-cursor id="cursor" color="#4CC3D9"></a-cursor>
    </a-camera>
  </a-entity>
  <a-obj-model src="#crate-obj" mtl="#crate-mtl"></a-obj-model>
  <a-sky src="#room"></a-sky>
</a-scene>

2 ответа

  1. Вы можете обратиться по этой ссылке.выпуск aframe .Автор сказал, что мы можем обойти, чтобы создать прозрачную ограничивающую рамку и слушать события click на этом.

  2. Эта проблема была исправлена в https://github.com/aframevr/aframe/pull/1497 привязка объекта A-Frame к каждому дочернему элементу модели.

    Можно подождать A-Frame 0.3.0 или использовать последний мастер A-Frame. Прямо сейчас, cursorиспользует araycaster, чтобы увидеть, какой объект был пересечен. С помощью моделей OBJ / COLLADA создается дерево объектов. Однако A-Frame рассматривал объект верхнего уровня только как сущность. Таким образом, когда raycaster возвратил объект, у него не было связанной сущности, с которой могло бы произойти событие.

    Теперь это должно просто работать:

    <a-camera><a-cursor></a-cursor></a-camera>
    <a-obj-model></a-obj-model>