Three.js 应用纹理后 3D 模型消失

Three.js 3D model disappears after applying texture

我已经通过 obj 文件成功导入了 3D 模型。它在屏幕上显示正常。但是当我尝试应用纹理时,模型消失了。有什么想法吗?

var texture = new THREE.Texture();
var loader = new THREE.ImageLoader( manager );
            loader.load( './models/Leather-Black.jpg', function ( image ) {

                texture.image = image;
            } );

loader.load( './models/Sofa000.obj', function ( object ) {

object.traverse( function( node ) { if ( node instanceof THREE.Mesh ) { 
                    node.castShadow = true;
                    node.material.map = texture;
                    } 
                    });
                    object.scale.set(30,20,30);
                    object.rotation.y = Math.PI/180 * 180;
                    scene.add( object );
                });

loader.load() 是异步的。因此,当您分配给 material.map 时,您的 texture 变量是 undefined。你需要做的是使用 TextureLoader() 的回调函数,这样你就会知道图像已经加载,然后将它应用到 material.