我可以使用此代码获取鼠标单击的3d位置,但如何获得两次鼠标单击之间的距离。 请任何人帮助我。
var vector = new THREE.Vector3();
vector.set(
( event.clientX / window.innerWidth ) * 2 - 1,
- ( event.clientY / window.innerHeight ) * 2 + 1,
0.5 );
vector.unproject( camera );
var dir = vector.sub( camera.position ).normalize();
var distance = - camera.position.z / dir.z;
var pos = camera.position.clone().add( dir.multiplyScalar( distance ) );
答案 0 :(得分:2)
你不能。
你不能简单地使用一些神奇的公式将屏幕坐标(2D)投影到世界(3D)坐标。
如果您确实需要鼠标点击的3D坐标,则必须确保这些点击至少击中了世界上的一个几何体,并且您进行了光线测试,以确切了解咔嗒声在几何点上的位置。