单个 obj 文件上的多个 material three.js

Multiple material on single obj file with three.js

我正在使用 three.js 加载一个 obj 文件,一个镶有珍珠的戒指。我没有 mtl 文件,因为我们用来导出 obj (rhinoceros(?)) 的软件不会用 obj 文件生成它(这是我的平面设计师告诉的)。

我只需要为戒指设置金属 material,而 stone/pearls 只需要设置玻璃 material。

这是我实际加载文件的测试页面的 link: jaaxlab.com/test_youring

...剩下的我不知道如何设置单个 material 和多个

Link 到 obj 文件 jaaxlab.com/test_youring/obj/prova1.obj

你的object有几个children。索引为 0 的 child 是环。另外,它的名字是 sezione_B_misura13_Riviera_mix_full anello_sezione_B_misura13.

因此,您可以像这样访问它:

obj.children[0].material = new THREE.MeshStandardMaterial(...);

obj.getObjectByName('sezione_B_misura13_Riviera_mix_full anello_sezione_B_misura13').material = new THREE.MeshStandardMaterial(...);

鉴于 obj 是 object,用你的加载程序加载。

看看这个 jsfiddle。加载您的文件,然后检查控制台日志。您还可以单击 object 的任何部分并在控制台中查看其 ID 和名称。