three.js 加载具有多个可点击点的 .obj 文件

Posted

技术标签:

【中文标题】three.js 加载具有多个可点击点的 .obj 文件【英文标题】:three.js load .obj file with multiple clickable points 【发布时间】:2013-07-12 04:55:38 【问题描述】:

我正在使用 three.js 加载我创建的 .obj 文件,它看起来很棒....

寻找有关如何在 .obj 上添加多个可点击区域的建议,就像添加热点一样...

举个我想要做的例子,假设你使用 three.js 加载了一个男人的 .obj。

假设我希望他的左手和右手都有自己的事件监听器,当点击时会调用不同的函数...?

对此是否有已知的技术或教程? 在你的脑海中,你会建议我如何处理这个问题?

任何建议都非常感谢, 谢谢。

【问题讨论】:

您可以发布您已经尝试过的代码或链接到 jsfiddle 吗?这将有助于更直接地回答您的问题。 我正在使用这里的three.js 示例文件webgl_loader_obj_mtl.html:[github.com/mrdoob/three.js/blob/master/examples/… 第 87 行,添加 .obj 和 .mtl 文件的路径,然后加载 3D 模型。我不确定如何将不同的可点击区域添加到模型中。我将尝试创建单独的“不可见” 3D 对象并将它们相对于 .obj 模型放置在视口中......这将是反复试验,我希望那里可能有一种已知的技术...... . 【参考方案1】:

您要查找的内容称为“面部选择”,这个概念类似于object selection。 How to get the mouse clicking position on an obj file loaded from OBJLoader? 应该让你开始讨论这个话题。

【讨论】:

以上是关于three.js 加载具有多个可点击点的 .obj 文件的主要内容,如果未能解决你的问题,请参考以下文章

three.js PointCloud 中的可点击粒子

如何在 TypeScript 中使用 three.js 加载 OBJ 模型

three.js如何加载带材质的obj外部模型

一些关于three.js的摘抄笔记

如何在three.js中使用mtlLoader和objLoader中的多个纹理?

在three.js中获取鼠标点击点的3D坐标