• 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/

  • 相关阅读:
    Luogu P4071 [SDOI2016]排列计数
    CF 961E Tufurama
    Luogu P2057 [SHOI2007]善意的投票
    Luogu P2756 飞行员配对方案问题
    POJ2151
    POJ 3349&&3274&&2151&&1840&&2002&&2503
    POJ 2388&&2299
    EZ 2018 03 30 NOIP2018 模拟赛(六)
    POJ 1459&&3436
    BZOJ 1001: [BeiJing2006]狼抓兔子
  • 原文地址:https://www.cnblogs.com/He-tao-yuan/p/6905835.html
Copyright © 2020-2023  润新知