博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
three.js鼠标交互
阅读量:5282 次
发布时间:2019-06-14

本文共 649 字,大约阅读时间需要 2 分钟。

使用 2D 鼠标在 3D 场景中拾取对象

3D 的另一个重要的用户交互技术是对象拾取,即 3D 场景中的对象选择。输入设备是一个 2D 鼠标,用户实际单击的是在其中渲染 3D 场景的画布。因为当用户周绕场景运动时,渲染会发生变化,必须将鼠标的 2D 坐标动态地(在鼠标单击时)映射到场景的三维坐标空间,以确定哪些对象被选中。

在 2D 图形中,通过命中测试 来执行鼠标选择。对象拾取是 3D 中的一种命中测试形式。Three.js 通过提供一个 projector 辅助程序来简化对象拾取,它可以从 2D 画布 (x,y) 点过渡到场景的 3D 世界,同时还会考虑到当前摄像机的属性(摄像机所指的方向和角度等)。

Three.js 也有一个 RayCaster 类,可以将光线投射到 3D 场景中,并确定光线是否与场景中指定的 3D 对象集合相交。

在屏幕更新期间执行命中测试。鼠标移动事件侦听程序会将鼠标的 x 和 y 坐标保存为一个全局变量。

Three.js提供一个射线类Raycasting来拾取场景里面的物体。更方便的使用鼠标来操作3D场景。

参考1:http://blog.csdn.net/u014658748/article/details/51074840

参考2:https://www.ibm.com/developerworks/cn/web/wa-webgl3/

转载于:https://www.cnblogs.com/He-tao-yuan/p/6905835.html

你可能感兴趣的文章
2、Java并发性和多线程-多线程的优点
查看>>
HTTP协议初识
查看>>
如何制作漂亮的母版
查看>>
mysql存储过程的参数名不要跟字段名一样 (血淋淋的代价)
查看>>
J2EE面试题集锦(附答案)
查看>>
2013项目总结
查看>>
Android 将文件保存到SD卡中
查看>>
作业三-----词频统计
查看>>
自定义html的attributes
查看>>
二级导航下拉菜单
查看>>
Android如何解析json数组对象
查看>>
Hadoop YARN配置参数剖析(3)—MapReduce相关参数
查看>>
【Java】MyBatis与Spring框架整合(二)
查看>>
洛谷 1162——填涂颜色(广度优先搜索)
查看>>
swift - VFL - 1.循环创建控件 2.metrics使用
查看>>
SQL SERVER中关于NULL的设定
查看>>
C++版本 ORM 访问数据库之ODB 的Window环境编译(一)
查看>>
C# for循环或者foreach往List中添加对象的时候前面的数据总被最后加入的覆盖
查看>>
day 26面向对象 的封装 接口 抽象
查看>>
random os 序列化 模块模块 随机选择
查看>>