我有一个关于触觉检测的问题。我在Ar.js中使用了一个框架
在我的项目中,我有一个可以旋转的地球仪。现在我想添加特定于国家的“标记”,这也应该是对象。
我试过:
AFRAME.registerComponent(‘标记处理器’,{
init: function() {
const animatedMarker = document.querySelector("#hiro");
const aEntity = document.querySelector("#globe");
animatedMarker.addEventListener('click', function(ev, target){
console.log("hi")
});
但我刚认出显示器上任何地方的点击事件..。
我还试着用一个框架上的射线传送器,但也没有检测到:
有谁有更好的主意/参考项目吗?
发布于 2020-03-07 12:00:15
使用1.0.0之前的框架版本,只需
<a-marker cursor="rayOrigin: mouse">
<a-box click-listener-component></a-box>
</a-marker>
<a-entity camera></a-camera>
但从1.0.0开始,它就不起作用了,至少在文档中的示例中是这样的。
从我注意到的情况来看,射线照射方向在使用框架0.9.2
和1.0.0
时是不同的。奇怪的是,当使用香草a帧(没有ar.js)时,它似乎工作得很好。看上去像ar.js
的东西。
无论如何,如果用较早版本的THREE.Vector3
取消项目替换游标方向计算
// instead of this:
applyMatrix4( camera.projectionMatrixInverse ).applyMatrix4( camera.matrixWorld );
// use this
let matrix = new THREE.Matrix4()
applyMatrix4( matrix.getInverse( camera.projectionMatrix ) ).applyMatrix4( camera.matrixWorld );
游标组件再次工作。您可以在这个小故障中查看它
https://stackoverflow.com/questions/60562362
复制相似问题