Я работаю на сцене дополненной реальности, используя Aframe и AR.js.Я в настоящее время рендеринг моделей OBJ, когда маркер обнаружен.Мое требование - иметь возможность нажимать на отдельные модели при рендеринге, а также на статические объекты (кнопки).По какой-то причине событие щелчка не запускается должным образом на объектах кадров, когда я тестирую его на мобильных устройствах, очень редко оно обнаруживает касание, но оно прекрасно работает, когда я тестирую его на рабочем столе с помощью веб-камеры.Это мой подход -
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;'>
<a-marker id="marker" preset='hiro' cursor="rayOrigin: mouse">
<a-entity material=" src: url(box.png) " class="collidable" cursor-listener position="0 -1 0"></a-entity>
</a-marker>
<a-camera-static>
//button a child of the camera.
<a-entity id="red" material="color: red" class="collidable" geometry="primitive: box" cursor-listener position="0 0 -4" scale="0.3 0.3 0.3"></a-entity>
</a-camera-static>
</a-scene>
</body>
</html>
Я пробовал это решение https://github.com/jeromeetienne/AR.js/issues/416#issuecomment-425078800, оно делает его лучше, но не достаточно точным, щелчок обнаруживается при нажатии вне объекта.Есть ли какой-нибудь способ исправить это?
Спасибо.