Мне нужно загрузить несколько моделей и вы хотите, чтобы их можно было достать извне загрузчика. Когда я пытаюсь следовать правилу DRY, я хочу создать одну функцию для загрузки и возврата объекта.Загрузка нескольких объектов с одинаковой функцией
function loadObject(obj, mtl) {
var loader = new THREE.OBJMTLLoader();
return loader.load(obj, mtl, function (object) {
return object;
});
}
но после использования в главной функции
var box = loadObject('box.obj', 'box.mtl');
scene.add(box);
я получаю:
THREE.Object3D.add: объект не является экземпляром THREE.Object3D. неопределенному
Просто угадайте здесь, но я думаю, что первый аргумент 'loadObject' не ожидает строку 'box.obj', а какой-то объект. –
нет. он должен передать имя строки функции загрузки загрузчиков внутри, чтобы получить правильную модель – mjanisz1