這是我之前做的一個demo,導入的3d模型文件是obj格式的,需要使用OBJLoader和MTLLoader,
mtl文件用於描述多邊形可視面貌的材質
如果你可以導出obj、mtl文件的話,那么就可以使用下面的代碼把3d模型添加到three.js構建的場景里了
function loadBuild() { var loader = new THREE.OBJLoader(); var mtlLoader = new THREE.MTLLoader(); mtlLoader.setPath( "city/" ); mtlLoader.load('house.mtl', (mtl) => { mtl.preload(); loader.setMaterials(mtl); loader.setPath("city/"); // load a resource loader.load( // resource URL 'house.obj', function ( object ) { const renderingParent = new THREE.Group(); renderingParent.scale.set(0.3, 0.3, 0.3); renderingParent.add(object); scene.add( renderingParent ); } ); }); }
也可以參考這個的源碼view-source:https://threejs.org/examples/webgl_loader_obj.html