首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Ar.js中触摸ar对象

在Ar.js中触摸ar对象
EN

Stack Overflow用户
提问于 2020-03-06 10:41:17
回答 1查看 1.5K关注 0票数 3

我有一个关于触觉检测的问题。我在Ar.js中使用了一个框架

在我的项目中,我有一个可以旋转的地球仪。现在我想添加特定于国家的“标记”,这也应该是对象。

我试过:

AFRAME.registerComponent(‘标记处理器’,{

代码语言:javascript
运行
复制
init: function() {
    const animatedMarker = document.querySelector("#hiro");
    const aEntity = document.querySelector("#globe");

    animatedMarker.addEventListener('click', function(ev, target){
        console.log("hi")

    });

但我刚认出显示器上任何地方的点击事件..。

我还试着用一个框架上的射线传送器,但也没有检测到:

有谁有更好的主意/参考项目吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-07 12:00:15

使用1.0.0之前的框架版本,只需

代码语言:javascript
运行
复制
<a-marker cursor="rayOrigin: mouse">
     <a-box click-listener-component></a-box>
</a-marker>
<a-entity camera></a-camera>

但从1.0.0开始,它就不起作用了,至少在文档中的示例中是这样的。

从我注意到的情况来看,射线照射方向在使用框架0.9.21.0.0时是不同的。奇怪的是,当使用香草a帧(没有ar.js)时,它似乎工作得很好。看上去像ar.js的东西。

无论如何,如果用较早版本的THREE.Vector3 取消项目替换游标方向计算

代码语言:javascript
运行
复制
// instead of this:
applyMatrix4( camera.projectionMatrixInverse ).applyMatrix4( camera.matrixWorld );

// use this
let matrix = new THREE.Matrix4()
applyMatrix4( matrix.getInverse( camera.projectionMatrix ) ).applyMatrix4( camera.matrixWorld );

游标组件再次工作。您可以在这个小故障中查看它

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60562362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档