Я использую загрузчик Collada для загрузки своего 3D-объекта в Three.js r65. И при обратном вызове загрузки я сразу применяю текстуру ко всем частям модели с помощью следующего кода.
var loader = new THREE.ColladaLoader();
loader.options.convertUpAxis = true;
loader.load('obj/cdg/Grenada-test1.dae', function(collada) {
var texture = new THREE.ImageUtils.loadTexture("../models/textures/Gr1 08869 Bready Grey.jpg");
var material = new THREE.MeshPhongMaterial({map: texture, tranparent: true});
for (var i = 0; i < collada.scene.children.length; i++) {
collada.scene.children[i].material = material;
}
});
В Three.js это выглядит так (текстура растягивается в определенных местах).
Объект отлично отображается в Unity 3D с примененной текстурой, см. следующее изображение.
Что я пробовал:
- Обновление отображения UV в Three.js и в Blender
- Загрузите модель в другую программу (Unity 3D), чтобы увидеть, возникает ли проблема там.
- Искал многочисленные вопросы SO, но безрезультатно
Кто-нибудь знает, что здесь происходит и как я могу решить эту странную проблему с текстурой?
Заранее спасибо!
Изменить:
Вот как это выглядит с texture.repeat.set( 2, 2 )
Вот как это выглядит с texture.repeat.set( 10, 10 )
Повторение текстуры приводит к тому, что текстура исчезает, а сплошной цвет заменяет текстуру...