three.js监听点击模型事件
three.js监听模型事件是通过THREE上的Raycaster方法实现的
原理是通过获取相机和鼠标点击时的位置,计算并返回一条射线上的模型队列
//获取鼠标坐标 处理点击某个模型的事件 let mouse = new THREE.Vector2(); let raycaster = new THREE.Raycaster(); console.log(scene); function onmodelclick(event) { mouse.x = (event.clientX / window.innerWidth) * 2 - 1; mouse.y = -(event.clientY / window.innerHeight) * 2 + 1; raycaster.setFromCamera(mouse, camera); const intersects = raycaster.intersectObjects(scene.children); console.log(intersects); //在计算的射线上的模型全部变红 // for (var i = 0; i < intersects.length; i++) { // intersects[i].object.material.color.set(0xff0000); // } //点击的第一个模型变红 intersects[0].object.material.color.set(0xff0000); } window.addEventListener("click", onmodelclick);
分类:
three.js
, javaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!