Skip to content

useRaycaster

封装 Raycaster,提供鼠标坐标归一化和对象拾取功能。

用法

ts
import { useRaycaster } from '@threeuse/core'

const { setFromMouse, raycast, intersects } = useRaycaster(app)

canvas.addEventListener('click', (e) => {
  setFromMouse(e)
  const hits = raycast([meshA, meshB])
  if (hits.length > 0) {
    console.log('Hit:', hits[0].object)
  }
})

返回值

属性类型说明
intersectsRef<Intersection[]>最新射线检测结果
setFromMouse(event) => Intersection[]从鼠标事件更新射线方向
raycast(objects, recursive?) => Intersection[]执行射线检测

Demo

移动鼠标到立方体上

Released under the MIT License.