Я загрузил одну модель (файл obj) в три js и применил пользовательское изображение текстуры проверки для всех объектов. Текстура наносится на модель. Но проблема в том, что - контролеры не одинаковы - некоторые контролеры выглядят маленькими, а некоторые - больше.
Вот ссылка скриншота.
Есть ли способ это исправить? Я имею в виду - любой расчет по геометрии или любые встроенные свойства текстуры и т. Д. В течение трех js.
Вот ссылка файла модели Model.obj
загрузил эту модель в три js и применил текстуру image .
// Ниже некоторого кода, который я пробовал.
function loadModel() {
object.traverse( function ( child ) {
if (child.type.toLowerCase() == "mesh" && child.material) {
if (child.material.length) {
for (var i=0; i < child.material.length; i++) {
child.material[i].map = texture;
child.material[i].needsUpdate = true;
}
}
else {
child.material.map = texture;
child.material.needsUpdate = true;
}
}
} );
scene.add( object );
}
manager = new THREE.LoadingManager( loadModel );
manager.onProgress = function ( item, loaded, total ) {
console.log( item, loaded, total );
};
textureLoader = new THREE.TextureLoader( manager );
texture = textureLoader.load(currentTextureUrl); // texture checker image
texture.onUpdate = true;
function onProgress( xhr ) {
if ( xhr.lengthComputable ) {
var percentComplete = xhr.loaded / xhr.total * 100;
console.log( 'model ' + Math.round( percentComplete, 2 ) + '% downloaded' );
}
}
function onError() {}
var loader = new THREE.OBJLoader( manager );
loader.load(modals.currentModal.objectFile, function ( obj ) {
object = obj;
}, onProgress, onError );