Загрузчик .3ds не загружает материалы и текстуры - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь загрузить довольно сложную модель .3ds в three.js, используя TDSLoader точно так же, как и в three.js / examples: https://github.com/mrdoob/three.js/blob/master/examples/webgl_loader_3ds.html но то, что я получаю, выглядит так: Результат , когда он должен выглядеть следующим образом Загружается с использованием https://3dviewer.net/. Я вижу, что этот онлайн-просмотрщик использует three.js, поэтому это возможно. Я также знаю, что TDSLoader загружает текстуры, но по какой-то причине не отображает их (если я перемещаю текстуру из папки, я получаю ошибку загрузки ресурса). Код выглядит так:

var loader = new THREE.TextureLoader();
var normal = loader.load('textures/normal.png');
var loader = new THREE.TDSLoader();
loader.setPath('textures/');
loader.load('textures/CAT_336D.3ds', function (object) {
  object.traverse(function (child) {
    if (child instanceof THREE.Mesh) {
      child.material.normalMap = normal;
    }
  });
  scene.add(object);
});

Моя модель имеет 23 типа материалов, но загрузчик загружает только 2 - черный и желтый, вы можете видеть, что стекло, металл и другие отсутствуют. Как мне нанести на карту все текстуры и материалы? Может быть, это не работает, потому что модель слишком большая? (более 160 ячеек, около 30 МБ)

...