0

我想在 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);
4

1 回答 1

0

为了将白日梦数据加载到 Object3D,我发现了一个我不确定是否在当前构建中的 PR,但您可能只是将其作为自己的脚本加载,只要它在三个.js 之后加载。

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

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

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

于 2017-05-17T08:38:07.593 回答