.3ds加载程序不加载材质和纹理

时间:2018-09-10 12:32:05

标签: javascript three.js 3dsmax

我正在尝试使用TDSLoader将非常​​复杂的.3ds模型加载到three.js中,方法与three.js / examples中完全相同:https://github.com/mrdoob/three.js/blob/master/examples/webgl_loader_3ds.html 但是我应该得到的Result却是这样的Loaded using 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个网格,大约30MB)

0 个答案:

没有答案