zoukankan      html  css  js  c++  java
  • three.js鼠标交互

    使用 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/

  • 相关阅读:
    WPF Popup弹出框箭头自动定位效果
    redis使用3
    linux常用命令
    Redis基础命令使用
    Redis使用笔记1
    jeesite常用注解记录
    Spring@Autowired注解与自动装配
    jeesite中的配置
    jeesite在eclipse中部署
    activiti流程连线与网关以及个人任务、组任务的指定方式
  • 原文地址:https://www.cnblogs.com/He-tao-yuan/p/6905835.html
Copyright © 2011-2022 走看看