我已经在GLTF模型上实现了click
事件监听器,在代码中我也有OrbitControls。
单击侦听器的工作是在单击相交的对象时显示/隐藏div,但是问题是当我使用OrbitControls旋转/放置摄像头时,单击侦听器会被执行,因此每次我旋转摄像头时,div都会显示。
在OrbitControls处于活动状态时,是否仍可以禁用/暂停点击监听器?
下面是我正在使用的click
侦听器:
function onMouseClick(event) {
event.preventDefault();
const mouse = {
x: (event.clientX / renderer.domElement.clientWidth) * 2 - 1,
y: -(event.clientY / renderer.domElement.clientHeight) * 2 + 1
}
raycaster.setFromCamera(mouse, camera);
const intersects = raycaster.intersectObjects(sceneMeshes, false);
if (intersects.length > 0) {
INTERSECTED = intersects[0].object;
if (intersects[0].object) {
var elem = document.getElementsByClassName("centerDiv")
elem[0].style.visibility = "visible";
}
}
}