使用OBJMTLoader导入WebGL模型.js失败



我在尝试使用三个.js将以下模型导入WebGL时遇到一些问题:

http://tf3dm.com/3d-model/vanille-99084.html

我已经使用三个附带的转换器将 obj 文件转换为 JSON.js并且在使用 JSON 加载器时模型工作正常。但是,当尝试使用 .mtl 文件中的纹理加载模型时,OBJMTLOader 失败。

我正在使用以下示例,只是将路径替换为我的文件路径:

https://github.com/mrdoob/three.js/blob/master/examples/webgl_loader_obj_mtl.html

更新:

我取得了一些进展。出于某种原因,我认为我需要导入 JSON 转换后的 OBJ 而不是 obj 文件本身。因此,现在我已经引用了正确的 .obj 文件,模型已正确导入。但是,纹理仍未加载。目前,整个模型/网格只是黑色的。

任何帮助表示赞赏

问题似乎是由于 .模型附带的TGA文件。显然,threejs 无法解析 TGA 文件。因此,解决方案是使用Photoshop将TGA文件转换为纯PNG,然后更新.mtl文件以引用PNG而不是TGA文件。

还有一个

TGA加载器,但是如果您不想进行TGA到PNG的转换。

        var texture = loader.load( 'textures/crate_color8.tga' );
        var material = new THREE.MeshPhongMaterial( { color: 0xffffff, map: texture } );
        var mesh = new THREE.Mesh( geometry, material );

从http://threejs.org/examples/webgl_materials_texture_tga.html

最新更新