单个 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 和名称。
我正在使用 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 和名称。