如何计算两个鼠标点击三个.js之间的距离?

时间:2016-08-06 13:37:30

标签: three.js

我可以使用此代码获取鼠标单击的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 ) );

1 个答案:

答案 0 :(得分:2)

你不能。

你不能简单地使用一些神奇的公式将屏幕坐标(2D)投影到世界(3D)坐标。

如果您确实需要鼠标点击的3D坐标,则必须确保这些点击至少击中了世界上的一个几何体,并且您进行了光线测试,以确切了解咔嗒声在几何点上的位置。