Javascript 不使用OBJ+加载纹理;三.js中的MTL加载程序
我有个问题。我编写这个函数是为了加载obj和mtl模型 (摘自:): 其中材质为file.mtl,模型为file.obj。它适用于此模型:但不适用于另一个obj+mtl。纹理没有加载,我只看到白色模型。为什么? 我使用三个.js r85Javascript 不使用OBJ+加载纹理;三.js中的MTL加载程序,javascript,three.js,Javascript,Three.js,我有个问题。我编写这个函数是为了加载obj和mtl模型 (摘自:): 其中材质为file.mtl,模型为file.obj。它适用于此模型:但不适用于另一个obj+mtl。纹理没有加载,我只看到白色模型。为什么? 我使用三个.js r85 谢谢 你能指出一个OBJ和一个MTL文件也不起作用吗?是的!!你是对的!!i、 那个模型有一个OBJ文件和纹理,但没有MTL文件。哦。。正确的。但是在这个模型中,我有我所需要的一切(mtl,obj),但我只看到白色模型..在控制台中检查错误。还要检查consol
谢谢 你能指出一个OBJ和一个MTL文件也不起作用吗?是的!!你是对的!!i、 那个模型有一个OBJ文件和纹理,但没有MTL文件。哦。。正确的。但是在这个模型中,我有我所需要的一切(mtl,obj),但我只看到白色模型..在控制台中检查错误。还要检查console中“网络”选项卡下的内容,以查看实际加载的内容
var mtlLoader = new THREE.MTLLoader();
//mtlLoader.setTexturePath(path)
mtlLoader.setPath(path);
mtlLoader.load(material, function( materials ) {
materials.preload();
var objLoader = new THREE.OBJLoader();
objLoader.setMaterials(materials);
objLoader.setPath(path);
objLoader.load(model, function ( mesh ) {
mesh.position.set(x, y, z);
mesh.scale.set(s, s, s);
mesh.rotation.y = Math.PI;
mesh.castShadow = false;
mesh.receiveShadow = true;
scene.add(mesh);
if(handler) {
handler(mesh);
}
}, function(e){}, function(e){} );
});