白日梦控制器定位

时间:2017-05-17 07:19:27

标签: three.js aframe webvr daydream

我想在Raycaster或遥控器指向的地方画一个原语。我正在寻找某种"获得定位"在aframe或three.js中的方法。是否有一种简单快捷的方法来获取世界坐标,我的控制器指向哪里? 提前谢谢!

更新: 这是代码:

HTML: [...]

<a-entity id="remote" daydream-controller raycaster="objects: .selectable">
<a-cone id="ray" color="cyan" position="0 0 -2" rotation="-90 0 0" radius bottom="0.005" radius-top="0.001" height="4"></a-cone>
<a-box id="position-guide" visible="false" position="0 0 -2"></a-box>
</a-entity

以下是HTML的javascript:

var rayEl = document.querySelector('#remote');
rayEl.addEventListener(
var rayElDirection = new THREE.Vector3(0,0,-1);
rayEl.object3D.getWorldDirection(rayElDirection);
console.log("Raycaster Direction: " + rayElDirection);

1 个答案:

答案 0 :(得分:0)

为了将白日梦数据加载到Object3D I found a PR that i'm not sure is in the current build,但你可以将它作为自己的脚本加载,只要它在three.js之后加载。

一旦有了这个,就可以得到控制器的方向 - 因为它扩展了THREE.Object

您可以查看Object3D's documentation以查找可用的功能。 THREE.Object.getWorldDirection()将为您提供Daydream控制器指向的向量。

将它与.getWorldPosition()结合使用,您可以将控制器的表示放在场景中的该位置以进行调试。