标签: 拖拽

threejs拖拽物体的时候与另外物体交叉时产生抖动或瞬移的解决思路


经过观察,发现使用raycaster这个射线工具来追踪物体时,当拖拽物体时,物体之间产生交叉,而我在pointermove这个事件中又没有经过严格判定(也就是不管是否按下鼠标左键,都同样进行物体切换),这就导致了在拖拽途中,控制器所控制的对象发生了切换。要解决也简单,因为在鼠标事件中有一个叫做pressure的属性,它为0的话表示鼠标按键没有按下。把这个限制条件加上,问题就得到解决了。

const pointerMove=(event)=>{

            
              
              ……