FBXLoader找不到fbx文件的版本号

问题描述 投票:0回答:1

我正在尝试加载.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:找不到给定文件的版本号。

reactjs three.js loader fbx
1个回答
0
投票
我发现我的项目使用Mockjs的原因,使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 ];

这里只是我的案子,可能会对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.