微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AR.js 场景中可点击对象的错误位置

如何解决AR.js 场景中可点击对象的错误位置

我有一个简单的 AR.js 场景,它应该在 hiro 标记显示一个可点击的白框。单击后,框的颜色应更改为红色。实际上,框是可点击的,颜色也在变化,但它的位置和它的可点击区域的位置是不一样的。在我的情况下,这个区域在盒子下面。这是一个代码示例:

while True:

#Ask for upload or download
    try:

        sorr = input("Send or Receive ? (S/R): ")

        while not sorr == "S" or sorr == "R":

            sorr = input("Send or Receive ? (S/R): ")

    except:

        print('ERROR',error)
        print("Type S for send or R for receive")

    else:

        print(sorr)
        break

但是,如果您打开 aframe 检查器 (Ctrl + Alt + I) 然后关闭它,框的可点击区域及其位置将是正确的,我不明白这是怎么发生的。那么我怎样才能让这个场景以正确的方式显示呢?

解决方法

我研究了 aframe 检查器的工作原理,发现它在初始化后以编程方式插入了一个新的 raycaster,所以我决定做同样的事情并且成功了!

要将可点击区域与其对象放在同一位置,您需要做的就是在场景完全初始化后执行这些行。

const scene = AFRAME.scenes[0];
if (!scene) {
  return;
}
const mouseCursor = document.createElement('a-entity');
mouseCursor.setAttribute('cursor','rayOrigin','mouse');
scene.appendChild(mouseCursor);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。