ThreeJS:在平面附近的canera上从屏幕2D坐标转换为世界3D坐标?R73

And*_*lev 3 three.js

我在坐标转换方面遇到了一些麻烦.我在屏幕上有一个具有已知坐标(x,y)的对象,我想将其转换为世界坐标(x,y,z),因为它将投射到相机的近平面上.

到目前为止,我可以像这样在Z平面上投影:

var vector = new THREE.Vector3( mouse.x, mouse.y, 1 );
vector.unproject( camera );
Run Code Online (Sandbox Code Playgroud)

但不幸的是我无法继续进一步:(

Bre*_*ble 10

如果对z分量使用-1,则将投影到近平面,而不是远平面:

var vector = new THREE.Vector3( mouse.x, mouse.y, -1 ).unproject( camera );
Run Code Online (Sandbox Code Playgroud)

假设mouse.x和mouse.y介于-1和1之间.

three.js r.73