如何获取框架中附属于相机的光标的世界位置

时间:2019-06-09 19:45:03

标签: javascript jquery aframe webvr

我想获取光标的世界位置,以帮助我创建360游览的热点,因为我创建了一个返回光标位置的组件。该组件工作正常,但是它返回了光标的相对位置,所以我应该怎么做才能获得光标的世界位置

link to glich project

1 个答案:

答案 0 :(得分:0)

您可以使用以下THREE.js方法之一:

// set a vector from the cursors matrix world
vec3.setFromMatrixPosition(cursorEl.object3D.matrixWorld);

// fill a vector using the getWorldPosition
cursorEl.object3D.getWorldPosition(vec3)

this fiddle中签出。


在自定义组件中使用。

具有这样的设置

<a-camera>
   <a-cursor my-component></a-cursor>
</a-camera>

您可能会有这样的组件:

AFRAME.registerComponent("my-component", {
   init: function() {
       this.vec = new THREE.Vector3()
   },
   tick: function() {
       this.vec.setFromMatrixPosition(this.el.object3D.matrixWorld);
       // do something with this.vec
   }
})