我有一个场景,其中鼠标在屏幕上,我想计算鼠标在相机的XY平面中表示的3d坐标。 好方法是将我拥有的NDC鼠标坐标转换为我所挣扎的匹配摄像机坐标。或者,我可以在给定的距离创建一个假网格,只使用一个raycaster - 但这看起来真的很难看。
由于我挣扎,我试着查看three.js raycaster如何从ndc坐标计算3d坐标并找到PerspectiveCamera的匹配线
this.ray.origin.setFromMatrixPosition( camera.matrixWorld );
this.ray.direction.set( coords.x, coords.y, 0.5 ).unproject( camera ).sub( this.ray.origin ).normalize();
这对我来说没有多大意义,因为光线原点也应该依赖于鼠标坐标而不仅仅是相机。相比之下,我只希望光线方向取决于相机而不是坐标。
我想我正在考虑正交坐标系,而不是透视摄像机,但我无法理解它。 IF sb对于相机视角也有很好的参考,这也很棒。干杯汤姆