Несколько материалов в одном файле obj с three.js
Я использую three.js для загрузки файла obj, кольца с несколькими жемчужинами. У меня нет mtl
файл, как программное обеспечение, которое мы используем для экспорта obj
(носорог (?)) не будет генерировать его с obj
файл (это то, что мне сказал графический дизайнер).
Мне нужно установить металлический материал ТОЛЬКО для кольца и стеклянный материал ТОЛЬКО для камня / жемчуга.
Это ссылка на тестовую страницу, где я на самом деле загружаю файл: http://jaaxlab.com/test_youring
... в остальном я не знаю, как установить один материал, а также несколько.
Ссылка на файл obj http://jaaxlab.com/test_youring/obj/prova1.obj
1 ответ
У вашего объекта несколько детей. Ребенок с индексом 0 является кольцом. Также его зовут 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
это объект, загруженный вами загрузчиком.
Взгляните на этого jsfiddle. Загрузите свой файл, затем проверьте журнал консоли. Вы также можете щелкнуть любую часть объекта и увидеть его идентификатор и имя в консоли.