ThreeJS OBJMTLLoader在纹理可用之前渲染对象

时间:2016-02-18 22:15:45

标签: javascript three.js

.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 );

1 个答案:

答案 0 :(得分:1)

您可以转到r74。 MTL加载程序和OBJ加载程序是分开的,甚至还有一个materials.preload();来解决这个问题。看https://stackoverflow.com/a/35422599/1980846