Я использую THREE.OBJLoader для загрузки своих 3D-объектов в Three.js r100, и в определенный момент мне нужно загрузить некоторые динамические текстуры с помощью THREE.TextureLoader ().Затем я просто создаю новый материал с помощью THREE.MeshBasicMaterial () и устанавливаю для него значение obj.Это код:
//this contains the texture loaded
let texture = await new Promise((resolve, rejects) => loadGeneralTexture(resolve, rejects, url));
texture.minFilter = THREE.LinearFilter;
texture.needsUpdate = true;
texture.wrapS = texture.wrapT = THREE.RepeatWrapping;
var material = new THREE.MeshBasicMaterial({
map: texture
});
//this loop set the new material with Texture
el.traverse(child => {
if (child instanceof THREE.Mesh) {
child.material = material;
}
});
Результат:
Но загруженное изображение:
Я исправляюэта ошибка только с gizmo (инструмент 3dMax) путем «поворота» текстуры, но я не могу сделать то же самое с Threejs.
Та же проблема с двумя другими 3d-объектами, но на этот раз это еще хуже
Редактировать : Файлы obj - это файл нашего клиента (поэтому я сам не создавал его), я уже проверил различные "лица", и они равны,Могу ли я изменить uvmapping себя с ThreeJS?