stcaolei 2020-03-08
这是我之前做的一个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