【发布时间】:2018-10-04 09:34:15
【问题描述】:
我想在光线投射器与图片中这样的对象相交的地方添加一个点。我知道您可以修改 raycaster 的线元素,但我找不到添加圆圈或更改线的一端的方法。
【问题讨论】:
标签: javascript three.js aframe raycasting webvr
我想在光线投射器与图片中这样的对象相交的地方添加一个点。我知道您可以修改 raycaster 的线元素,但我找不到添加圆圈或更改线的一端的方法。
【问题讨论】:
标签: javascript three.js aframe raycasting webvr
Raycaster 只是用于查找某些光线与您的模型之间的交集的工具。基本上,它与渲染无关。因此,您可以执行以下步骤:
1) 将“点对象”添加到您的模型(球体、圆形、复杂对象);
2) 将“远程控制对象”添加到您的模型中;
3) 将“射线对象”添加到您的模型中(使用线几何,首选缓冲几何);
4) 处理 mousemove 事件并找到从相机到鼠标位置的光线与您的模型之间的交点;
5) 更新“点对象”位置(相同的 onMousemove 处理程序):spotObj.position.copy(intersection.point); (或相应地更新几何)。您也可以突出显示相交面;
6) 更新“遥控对象”位置。将它的位置设置在射线上的某个位置(使用矢量操作)。根据该射线更新它的旋转。
7) 更新“射线”对象或重新创建它。
附言可以将一些对象直接添加到 THREEJS 相机对象(作为子对象)以保持对象位置与相机位置同步。
【讨论】: