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