Javascript 在WebGL中获取鼠标单击的三维坐标

Javascript 在WebGL中获取鼠标单击的三维坐标,javascript,webgl,coordinates,mouse,Javascript,Webgl,Coordinates,Mouse,令人惊讶的是,webGL上几乎没有任何信息(或者我只是不知道如何搜索),因此我有一个问题,关于如何将鼠标坐标转换为3D坐标,以便查看我在屏幕上单击的确切位置 所以我的例子是,我有一个非常简单的skybox,相机位于[0,0,0],我可以通过点击和拖动来环视它。我想做的是能够在skybox上的某个地方单击,并知道我单击的位置,因为我需要在该位置放置注释(一些文本或html元素)。当我转向另一边时,html元素必须移动并离开视图。所以我需要的是一种方法来获得鼠标点击,并找出我在立方体的哪一侧以及在什

令人惊讶的是,webGL上几乎没有任何信息(或者我只是不知道如何搜索),因此我有一个问题,关于如何将鼠标坐标转换为3D坐标,以便查看我在屏幕上单击的确切位置

所以我的例子是,我有一个非常简单的skybox,相机位于[0,0,0],我可以通过点击和拖动来环视它。我想做的是能够在skybox上的某个地方单击,并知道我单击的位置,因为我需要在该位置放置注释(一些文本或html元素)。当我转向另一边时,html元素必须移动并离开视图。所以我需要的是一种方法来获得鼠标点击,并找出我在立方体的哪一侧以及在什么坐标上点击,这样我就可以正确地放置注释


我使用的是普通的WebGL,我不使用THREE.js或类似的东西。因为它只有一个立方体,我只能假设找到交集不会那么困难,也不需要额外的库。

你肯定是对的,很难找到一个例子这不是一个webgl问题,而是一个数学问题。看一看,我需要把我的2d鼠标坐标转换成3d坐标,这样我才能做到这一点,所以你没有读我的问题我觉得你没有意识到2d点代表3d空间中的无限光线,但也许我没有读你的问题,祝你好运!好了,我们到了某个地方,无限射线,坐标:)谢谢你的详细回答。因为我没有太多的时间来完成这个项目,所以我决定做一些不太准确、有点重,但更容易实现的事情。我所做的是将立方体分割成不同颜色的小三角形(但没有绘制),当鼠标单击时,我可以读取像素的颜色并确定单击的位置。因为我只有一个立方体,它做得不错,但它肯定不是最好的解决方案。如果我在截止日期前还有一段时间,我可以试着去做我认为会更好的事情。所以这是一个不同的问题。你的问题是“在WebGL中获取鼠标点击的3D坐标”,而不是“如何在WebGL中拾取对象”。因为我从来没有问过不同的问题,我只是说我决定采用不同的方法,问题仍然是一样的。我感谢你的回答。