使用A-Frame访问Oculus Go触控板轴数据

时间:2018-08-06 00:15:30

标签: aframe oculus

我正在使用A-Frame(当前主版本),我的目标是确定Oculus Go控制器上要触摸的位置。 (这不是用于移动相机,因此在这种情况下,移动控制组件将无济于事。)我已经设置了一个包含文本对象的场景,以便可以在Oculus Go上进行测试时查看数据。

场景的相关部分是:

<a-scene>    
    <a-entity id="textArea" text="data will be displayed here"> </a-entity>
    <a-entity oculus-go-controls updater> </a-entity>
</a-scene>

我还使用以下组件,设置为显示发送到事件处理程序的数据:

AFRAME.registerComponent('updater', {

init: function()
{
    let textArea = document.querySelector('#textArea');

    this.el.addEventListener("axismove", function(event)
    {
        textArea.setAttribute("text", "value", "axismove: " + JSON.stringify(event) );
    });     
}   

});

但是,在触控板上移动拇指后,文本对象显示为:

axismove: {'isTrusted': false}

基于https://aframe.io/docs/0.8.0/components/tracked-controls.html的理解是,应该在事件中传递轴数据。如何访问轴信息?

1 个答案:

答案 0 :(得分:2)

Oculus Go仅在master分支中受支持,直到0.9.0发行,但您现在可以通过将脚本标签指向https://rawgit.com/aframevr/aframe/6888165/dist/aframe-master.min.js

来使用它。

使用oculus-go-controls component并监听trackpadchanged事件。轴值在事件详细信息中:

  controllerEl.addEventListener(‘trackpadchanged’, function (evt) {
   ...evt.detail...
});