取消划过物体高亮效果

This commit is contained in:
ch197511161
2025-12-14 18:34:57 +08:00
parent 1427be34fd
commit c87cf51f49

View File

@@ -185,17 +185,8 @@ export function useInteraction(
* @param object - 要高亮的物体null清除高亮
*/
const highlightHover = (object: THREE.Object3D | null) => {
if (!hoverOutlinePass) return
if (object && object !== currentClickObject) {
if (currentHoverObject !== object) {
hoverOutlinePass.selectedObjects = [object]
currentHoverObject = object
}
} else {
hoverOutlinePass.selectedObjects = []
currentHoverObject = null
}
// 取消鼠标悬停高亮效果
return
}
/**
@@ -315,14 +306,8 @@ export function useInteraction(
* 鼠标移动事件处理
*/
const onMouseMove = (event: MouseEvent) => {
const intersects = getIntersects(event)
if (intersects.length > 0 && intersects[0]) {
const target = findObjectWithId(intersects[0].object)
highlightHover(target)
} else {
highlightHover(null)
}
// 取消鼠标悬停高亮效果,不再处理鼠标移动事件
return
}
// ============================================================
@@ -364,7 +349,8 @@ export function useInteraction(
// 绑定事件
container.addEventListener('click', onClick)
container.addEventListener('dblclick', onDoubleClick)
container.addEventListener('mousemove', onMouseMove)
// 取消鼠标移动事件监听,禁用悬停效果
// container.addEventListener('mousemove', onMouseMove)
}
/**
@@ -385,7 +371,8 @@ export function useInteraction(
if (container) {
container.removeEventListener('click', onClick)
container.removeEventListener('dblclick', onDoubleClick)
container.removeEventListener('mousemove', onMouseMove)
// 鼠标移动事件监听器已移除,无需清理
// container.removeEventListener('mousemove', onMouseMove)
}
}