addEventListener('click', function (event) {
const px = event.offsetX
const py = event.offsetY
// 屏幕坐标px、py转换为三维坐标x、y
// width、height表示canvas画布的宽高
const x = (px / window.innerWidth) * 2 - 1
const y = -(py / window.innerHeight) * 2 + 1
console.log('x', x)
console.log('y', y)
// 创建一个射线投射器
const raycaster = new THREE.Raycaster()
raycaster.setFromCamera(new THREE.Vector2(x, y), camera)
const intersects = raycaster.intersectObjects([要选中的模型])
if (intersects.length > 0) {
// 选中模型中的第一个模型设置为红色
模型需要做的操作
}
})
three.js中射线拾取模型
最新推荐文章于 2024-06-20 20:20:21 发布