我想添加一个点,其中raycaster与图片中的对象相交。我知道你可以修改raycaster的line元素,但是我找不到添加圆圈或改变行的一端的方法。
答案 0 :(得分:1)
Raycaster只是找到某些光线与模型之间交点的工具。基本上,它与渲染无关。因此,您可以执行以下步骤:
1)添加"点对象"到您的模型(球体,圆形,复杂对象);
2)添加"遥控器对象"到您的模型;
3)添加"射线对象"到你的模型(使用线几何,一个首选的缓冲几何);
4)处理mousemove事件并找到从相机到鼠标位置的光线与模型之间的交点;
5)更新"点对象" position(同一onMousemove处理程序):spotObj.position.copy(intersection.point); (或相应地更新几何)。您也可以突出显示交叉面;
6)更新"远程控制对象"位置。将其设置在光线上的某个位置(使用矢量操作)。根据该光线更新它的旋转。
7)更新" ray"对象或只是重新创建它。
P.S。可以将一些对象直接添加到THREEJS摄像机对象(作为子对象),以使对象位置与摄像机位置保持同步。