Я экспортировал объект из Blender в gltf-файл и импортировал его в мой проект 3. js. (Включая материалы, у меня всего 2)
let loader = new THREE.GLTFLoader();
loader.load('Objects/MyBox.gltf', (gltf) => {
let box = gltf.scene;
box.traverse((child) => {
if (child.isMesh) child.material = boxMaterial; // a material i created in the code earlier
});
scene.add(box);
});
Этот код заставляет мой импортированный объект (который представляет собой сложенный прямоугольник) иметь одинаковый материал (boxMaterial) снаружи и изнутри. Но так как я создал его в bleder (внутри коробки есть внутренний материал, снаружи есть внешний материал), я хочу, чтобы это было в моем проекте. js. То, что я хочу, - это то, что boxMaterial (созданный в трех. js) должен быть только на внешнем материале (созданном в blender).
Мой вопрос -> как мне узнать / получить доступ к указанному c импортированный материал моего импортированного объекта должен иметь определенный материал в трех. js?
Проще говоря: Мой "child.material" содержит мои необходимые материалы из блендера. ( Всего 2) Но как мне получить доступ только к первому?
Я думаю, что я ищу что-то вроде box.children [0] .material .. или около того. Индекс 0 - это мой внешний материал.
Заранее спасибо!