【问题标题】:How to highlight mouse pointer area in three.js如何在three.js中突出显示鼠标指针区域
【发布时间】:2020-02-04 12:36:49
【问题描述】:

我有一个使用 ThreeJS 渲染的 .fbx 模型。 我想根据鼠标指针的位置在模型顶部显示一个圆圈。 我很难找到一个例子。 这是用着色器完成的吗? 怎么样?

【问题讨论】:

  • 使用THREE.Raycaster() 查找交点,然后将该点复制到标记的位置(例如,球体)。
  • 我不想要一个 2d 标记,但要在那个区域有一种照明效果。
  • 有没有机会提供您尝试达到预期结果的代码?如果能提供一张带有预期结果的说明性图片,那就太好了。

标签: javascript three.js geometry shader mouse-position


【解决方案1】:

是的,要从 2D(投影)屏幕点获取真正的 3D 点(在模型空间中),您需要使用光线投射。我认为官方的例子是最好的。

webgl interactive points

interactive raycasting points.

但我建议使用 GPU 驱动的光线投射 - 它更快,在鼠标移动时您将获得更好的 FPS(不过它有一些小错误): GPUPicker.

要绘制光照效果,您需要着色器(以及对象的着色器材质,放置在指针驱动的位置)。 参见示例here

【讨论】:

    猜你喜欢
    • 2022-06-10
    • 2013-01-05
    • 2018-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多