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)
}
})返回值
| 属性 | 类型 | 说明 |
|---|---|---|
intersects | Ref<Intersection[]> | 最新射线检测结果 |
setFromMouse | (event) => Intersection[] | 从鼠标事件更新射线方向 |
raycast | (objects, recursive?) => Intersection[] | 执行射线检测 |
Demo
移动鼠标到立方体上