我正在尝试在Angular中使用ThreeJS,尤其是在OBJLoader中渲染.obj文件。
但是,我遇到了错误
在“三个”中找不到导出的“ OBJLoader”(导入为“三个”)
这是我的代码部分
import * as THREE from 'three';
import * as OBJLoader from 'three-obj-loader';
OBJLoader(THREE);
console.log(typeof THREE.OBJLoader);
const objLoader = new THREE.OBJLoader();
objLoader.load(
// resource URL
'../../assets/icon/threed/helicopter.obj',
// called when resource is loaded
function ( object ) {
this.scene.add( object );
},
// called when loading is in progresses
function ( xhr ) {
console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' );
},
// called when loading has errors
function ( error ) {
console.log( 'An error happened' );
}
);
答案 0 :(得分:0)
如果使用
导入 import * as OBJLoader from 'three-obj-loader';
您可以这样实现:
const objLoader = new OBJLoader();
没有理由尝试将其放入THREE
名称空间中。另外,我认为在第3行中执行OBJLoader(THREE);
并没有真正做任何事情。