我知道版本 71 中没有 THREE.projector
(请参阅 已弃用列表),但我不明白如何替换它,尤其是在检测单击了哪个对象的代码中:
var vector = new THREE.Vector3(
(event.clientX / window.innerWidth) * 2 - 1,
-(event.clientY / window.innerHeight) * 2 + 1,
0.5
);
projector.unprojectVector(vector, camera);
var raycaster = new THREE.Raycaster(
camera.position,
vector.sub(camera.position).normalize()
);
var intersects = raycaster.intersectObjects(objects);
if (intersects.length > 0) {
clicked = intersects[0];
console.log("my clicked object:", clicked);
}
原文由 Martin 发布,翻译遵循 CC BY-SA 4.0 许可协议
现在有一个更简单的模式适用于正交和透视相机类型:
三.js r.84