我正在尝试加载.fbx文件,loader.load函数会引发以下错误:THREE.FBXLoader:找不到给定文件的版本号。
我不知道如何解决这个问题。如何检查fbx文件是否具有版本号?
下面您可以找到我编写的react组件。测试应用程序时,我只会看到黑色的画布。
我尝试了两个不同的文件,但是两个文件都有相同的错误。
export default class myComponent extends Component {
componentDidMount() {
const camera = new THREE.PerspectiveCamera(
45,
window.innerWidth / window.innerHeight,
1,
2000
);
camera.position.set(2, 18, 28);
const scene = new THREE.Scene();
const light = new THREE.HemisphereLight(0xffffff, 0x444444);
light.position.set(0, 1, 0);
scene.add(light);
const gridHelper = new THREE.GridHelper(28, 28, 0x303030, 0x303030);
scene.add(gridHelper);
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
this.model.appendChild(renderer.domElement);
const loader = new FBXLoader();
let model = new THREE.Object3D();
loader.load(
'./3DModels/MHT.fbx',
function(object) {
model = object.scene;
scene.add(model);
},
undefined,
function(e) {
console.log(e);
}
);
renderer.render(scene, camera);
}
render() {
return <div ref={ref => (this.model = ref)} />;
}
}
[FBXLoader引发此错误:THREE.FBXLoader:找不到给定文件的版本号。
XMLHttpRequest
成为MockXMLHttpRequest
:// relative code in three.js:
request.addEventListener( 'load', function ( event ) {
// if you use Mockjs, this become MockXMLHttpRequest but not XMLHttpRequest
// this.response not is ArrayBuffer ,there is the bug.
var response = this.response;
var callbacks = loading[ url ];
这里只是我的案子,可能会对您有所帮助。