.load()
函数允许用户提供在加载对象时要执行的回调函数。但是,似乎在加载.obj和.mtl文件之后,但在解析.mtl并且存在纹理图像之前执行此回调。这导致渲染对象时没有任何纹理。有人知道这个问题的解决方案吗?
GitHub上有一个issue来解决这个问题,但我没有看到解决方案。
OBJMTLLoader示例:
var loader = new THREE.OBJMTLLoader();
loader.load( model_obj, model_mtl, function ( object ) {
object.position.y = y_init;
scene.add( object );
render();
document.body.classList.add('is-loaded');
}, onProgress, onError );
答案 0 :(得分:1)
您可以转到r74。 MTL加载程序和OBJ加载程序是分开的,甚至还有一个materials.preload();
来解决这个问题。看https://stackoverflow.com/a/35422599/1980846