我想在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);
答案 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()结合使用,您可以将控制器的表示放在场景中的该位置以进行调试。