OnClick на модель в сцене AFrame-AR.js - PullRequest
0 голосов
/ 22 октября 2018

Я работаю на сцене дополненной реальности, используя Aframe и ARJS.Я в настоящее время рендеринг моделей OBJ, когда маркер обнаружен.Мое требование - иметь возможность нажимать на отдельные модели при рендеринге и манипулировать ими.По какой-то причине onclick, похоже, не работает с сущностями модели aframe, но отлично работает с другими примитивными сущностями, такими как box.Это мой подход -

AFRAME.registerComponent('cursor-listener', {
init: function () {
this.el.addEventListener('click', function (evt) {

  console.log('I was clicked at: ', evt.detail.intersection.point);
 });
}
});
</script>
</head>  
<body>
<a-scene embedded arjs='trackingMethod: best; debugUIEnabled: false;' foo>
    <a-assets>
        <a-asset-item id="crate-obj" src="model.obj"></a-asset-item>
        <a-asset-item id="crate-mtl" src="model.mtl"></a-asset-item>
        <img id="texture" src="brick.jpg">
    </a-assets>


  <a-marker preset='hiro'>
    <a-entity ><a-obj-model class="collidable" cursor-listener id="animated-marker" src="#crate-obj" position="0 -1.6 0" mtl="#crate-mtl" rotation="-90 0 0" scale="0.004 0.004 0.004" material="" obj-model=""></a-obj-model></a-entity> 
   //onclick doesn't work
    <a-entity  material=" src: url(box.png) " class="collidable" cursor- 
  listener position="0 -1 0"></a-entity>  //onclick works here

  </a-marker>
  <a-camera-static/>
  </a-scene>
  </body>
  </html>

Могу ли я что-то упустить из виду?Или есть какой-то другой способ достичь этого требования. Спасибо.

1 Ответ

0 голосов
/ 22 октября 2018

Вам необходимо использовать компонент cursor, поскольку событие click основано на трассировке лучей в 3D.

<a-marker preset='hiro' cursor='rayOrigin: mouse'></a-marker>
...