注意:group中存放模型

// 适用于通过json得到的sprite精灵绘制的
//点击射线
var raycaster = new THREE.Raycaster();
var mouse = new THREE.Vector2();
// document.getElementById("container").addEventListener('mousedown', onDocumentMouseDown, false);
document.body.addEventListener('mousemove', onDocumentMouseMove, false);
function onDocumentMouseMove(event){event.preventDefault();mouse.x = (event.clientX / renderer.domElement.clientWidth) * 2 - 1;mouse.y = -(event.clientY / renderer.domElement.clientHeight) * 2 + 1;raycaster.setFromCamera(mouse, camera);var intersects = raycaster.intersectObjects([group], true);if (intersects.length > 0) {document.body.style.cursor = "pointer";}else{document.body.style.cursor = "default";}
}
document.body.addEventListener('mousedown', onDocumentMouseDown, false);
function onDocumentMouseDown(event) {// console.log(event)event.preventDefault();mouse.x = (event.clientX / renderer.domElement.clientWidth) * 2 - 1;mouse.y = -(event.clientY / renderer.domElement.clientHeight) * 2 + 1;raycaster.setFromCamera(mouse, camera);// 总结一下,这里必须装网格,mesh,装入组是没有效果的// 所以我们将所有的盒子的网格放入对象就可以了// 需要被监听的对象要存储在clickObjects中。// 返回射线选中的对象 第二个参数如果不填 默认是falsevar intersects = raycaster.intersectObjects([group], true);if (intersects.length > 0) {console.log(intersects)console.log([intersects[0].point.x, intersects[0].point.y]);var val = {lng: intersects[0].point.x,lat: intersects[0].point.y}//可以通过点击获取的坐标轴显示标签等}
}

THREEJS中通过Raycaster获取鼠标与模型的交互点相关推荐

  1. VUE使用Three.js实现模型,点击交互,相机旋转视角跟随移动(Threejs中使用Tweenjs,含demo源码)

    目录 一.Three.js是什么? 二.VUE简单使用Three.js步骤 1.npm安装 2.template模板 3.引入库 4.定义全局变量 5.初始化场景 6.初始化相机 7.初始化灯光 8. ...

  2. 3D视图中获取鼠标所在位置

    在3D视图中,经过旋转.缩放.平移之后,任然可以获取鼠标位置对应的真实坐标. 思路:获取OpenGL模型矩阵和投影矩阵, 对鼠标位置信息进行反投影计算. 主要函数: glReadPixels 通过深度 ...

  3. WPF中获取鼠标相对于桌面位置

    原文:WPF中获取鼠标相对于桌面位置 var transform = PresentationSource.FromVisual(this).CompositionTarget.TransformFr ...

  4. WPF中获取鼠标相对于屏幕的位置

    WPF中获取鼠标相对于屏幕的位置                                   周银辉 WPF编程时,我们经常使用Mouse.GetPosition(IInputElement ...

  5. threejs中坐标系转换和实现物体跟随鼠标移动

    坐标系转换 下面函数可以将鼠标所在点的屏幕坐标转化成一个Threejs三维坐标: convertTo3DCoordinate(clientX,clientY){var mv = new THREE.V ...

  6. 在高德地图中获取鼠标点击的经纬度

    本文目录 一.注册高德开放平台 (一)创建应用 (二)添加 Key 二.代码实现 1. 引入必要的 CSS 文件与 JS 文件 2. 放置地图容器 3. 核心 JavaScript 代码 三.效果图 ...

  7. Fluent UDF 获取组分传输模型中的摩尔分数或分压力

    很多朋友在开发Fluent模型中需要用UDF获取组分传输模型中的某气体组分的摩尔分数(或体积分数)或者分压力,但是UDF自带的只有获取质量分数的宏C_YI(c,t),需要自己写额外的代码去转换,有一定 ...

  8. html5 js获取鼠标坐标,js怎么获取鼠标在div中的相对位置

    大家在做网页的时候都可能会用到鼠标在div中的相对位置,那么怎么获取鼠标在div中的相对位置呢?下面由学习啦小编教大家怎么获取鼠标在div中的相对位置吧. 如何获取鼠标在div中的相对位置 代码如下: ...

  9. 在3D世界中的获取鼠标的位置

    原理 电脑的鼠标是在屏幕的2D坐标上运动的,而我们要获取的是3D世界中的一个三维坐标,在游戏引擎中的实现原理如下: 先获取鼠标在屏幕上的2D坐标. 结合摄像机平面计算出这个点在3D世界中的坐标. 从这 ...

最新文章

  1. Laya 位图字体制作(失败...)
  2. 小程序支付 PHP
  3. 软件设计思维:软件应该可以增大可以减小
  4. 福州大学软工 1715 | K 班 - 启航
  5. .NET Core 2.1.5和.NET Core SDK 2.1.403发布
  6. 【图像分割】基于matlab遗传算法道路图像分割【含Matlab源码 779期】
  7. make的作用linux,Linux下./configure,make,make install的作用
  8. qq操作技巧 - 网上收集
  9. 人工智能导论(专家系统)
  10. 【有限元分析】圣维南原理
  11. pandas文件保存操作
  12. C语言,枚举法求两个数的最大公约数
  13. 微信小程序observers数据监听器的使用
  14. 2017杭州云栖大会 智能客服专场预热 — 用心服务客户,用云助力客服
  15. 随机梯度下降matlab,matlab随机梯度下降法
  16. 大数据课程设计python_大数据Python编程设计
  17. 【高等数学基础进阶】多元函数微分学-重极限、连续、偏导数、全微分
  18. In-memory Computing with SAP HANA读书笔记 - 第七章:Business continuity and resiliency for SAP HANA
  19. android图标分组名称唯美,Android 使用网络图片当图标创建快捷方式(整理版本)
  20. C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)【转】...

热门文章

  1. matlab中结束脚本运行_MBD开发过程中的持续集成应用
  2. 计算机应用基础18秋在线作业2-0005,[东北师范大学]《计算机应用基础》18秋在线作业3.docx...
  3. 2022前CSDN个人简介备份
  4. 巧妙刷新验证码的方法(转)
  5. Android 9,移动端网站开发工具
  6. Sql表结构及数据对比工具
  7. JAVA教程之常量与变量
  8. ZedBoard--(5)嵌入式Linux下的DMA测试(Direct Register Mode)(PS + PL)
  9. 【转贴】微软面试100题的答案
  10. 杨老师Python课程PPT课后习题