Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以添加或显示有关在渲染GLTF模型上单击的区域或网格的自定义信息?_Javascript_Three.js_3d_3d Modelling_3d Model - Fatal编程技术网

Javascript 是否可以添加或显示有关在渲染GLTF模型上单击的区域或网格的自定义信息?

Javascript 是否可以添加或显示有关在渲染GLTF模型上单击的区域或网格的自定义信息?,javascript,three.js,3d,3d-modelling,3d-model,Javascript,Three.js,3d,3d Modelling,3d Model,我有一个使用three.js渲染的GLTF模型,当你点击其中的一部分时,它会高亮显示红色。我想做的是,当用户单击该区域时,它不仅会将其高亮显示为红色,还会显示一个显示该区域信息的模式。我的问题是,我不知道如何将单击的区域与数据关联起来。例如,如果模型是一辆汽车,用户单击了轮胎,我想显示有关该轮胎的一些信息 实现这一目标的最佳方法是什么?在构建模型时,是否将此自定义数据应用于模型?我不处理模型本身,但可以在需要时对其进行修改我只是不确定它是否可以这样工作 当查看单击网格的对象时,我可以看到一个空的

我有一个使用three.js渲染的GLTF模型,当你点击其中的一部分时,它会高亮显示红色。我想做的是,当用户单击该区域时,它不仅会将其高亮显示为红色,还会显示一个显示该区域信息的模式。我的问题是,我不知道如何将单击的区域与数据关联起来。例如,如果模型是一辆汽车,用户单击了轮胎,我想显示有关该轮胎的一些信息

实现这一目标的最佳方法是什么?在构建模型时,是否将此自定义数据应用于模型?我不处理模型本身,但可以在需要时对其进行修改我只是不确定它是否可以这样工作

当查看单击网格的对象时,我可以看到一个空的UserData对象,这使我想到自定义数据可以在导出之前应用于模型本身

任何帮助或指导都将不胜感激。
谢谢,

一些导出器确实允许设置自定义“userData”字段,但最一致的可用字段是给定对象/网格的.name字段,该字段通常来自建模软件中的对象名称。 .userData通常仅用于在场景图中以不会干扰对象内置属性的方式存储运行时状态。在toJSON操作期间,userData还将与对象一起序列化。
首先,我会通过执行scene.traveler或model.traveler((o)=>console.log(o.name))来检查模型组件的名称,以了解模型中已经存在哪些名称。

我以前必须这样做,我以obj格式导出了模型,并命名了模型的每个部分。然后我有一个与obj文件名相同的相关.json文件来存储信息。json只是一个对象,由obj不同命名部分的名称键入。glTF中的任何数据都将在生成的三个.js对象的
.userData
属性中可用。