Three.js - 将光线从物体发送到相机
Posted
技术标签:
【中文标题】Three.js - 将光线从物体发送到相机【英文标题】:Three.js - sending ray from object to camera 【发布时间】:2017-05-26 12:21:55 【问题描述】:提前感谢您的帮助。
Three.js Raycaster 类允许将光线从相机发送到对象。我想实现反向操作。想象我们在场景中有一个平面,它代表我们的投影屏幕。我们还有一个要投影的对象(网格)。我试图找到一个顶点将投影在屏幕上的哪个位置。
实际上,对于一个顶点,如果我们将一条射线从顶点投射到相机,我们需要找到它与屏幕平面的交点。请注意,这里的一切都是 3D 的。所以我的屏幕(相机)平面也在 3D 坐标中。
有解决这个问题的建议吗?
【问题讨论】:
【参考方案1】:我认为您正在寻找的是将 object3d 投影到屏幕位置。 答案在这里:
answer
那么你将拥有带有 x,y 屏幕坐标的 vector2d。
如果您希望该点位于实际的 3d 平面上,则可以从相机向屏幕上的该位置发出一条射线,仅将您位于相机前方的那个平面添加到射线交点,然后获得交点点:
rayCaster.setFromCamera(vector2d, camera);
var aIntersects = rayCaster.intersectObject(planeInFrontOfCamera);
if (aIntersects.length > 0)
var positionOnPlane = aIntersects[0].point.
【讨论】:
以上是关于Three.js - 将光线从物体发送到相机的主要内容,如果未能解决你的问题,请参考以下文章