Three. js - Ошибка «Неизвестный формат» при использовании .FBX моделей - PullRequest
0 голосов
/ 04 марта 2020

Я довольно новичок в ТРИ. js. Я пытаюсь загрузить объект .FBX через FBXLoader, расположенный в три / examples / jsm / loaders / FBXLoader. Кроме того, я использую это в React. js.

Теперь страница загружается, но модели там нет. Ошибка в консоли говорит: Произошла ошибка: Ошибка: THREE.FBXLoader: неизвестный формат.

Кажется, что мой файл FBX находится в двоичном формате, а не в формате ASCII. Я действительно не знаю, что делать.

Мой код:


import * as THREE from 'three/build/three';

import {FBXLoader} from "three/examples/jsm/loaders/FBXLoader";

class ThreeComponent extends Component {

  componentDidMount() {

    // === THREE.JS CODE START ===

    var scene = new THREE.Scene();

 

    var camera = new THREE.PerspectiveCamera( 35, window.innerWidth / window.innerHeight, 1, 1000 );

    camera.position.set( 1, 1, 150 );//the position of the object x,y,z

    var ambientLight = new THREE.AmbientLight( 0x404040  );//provides light to an object 

    scene.add( ambientLight );

 

    var renderer = new THREE.WebGLRenderer({alpha: true});

    renderer.setSize( window.innerWidth, window.innerHeight );

    var loader = new FBXLoader();

    loader.load(

      "../../public/models/model.FBX",

         ( obj ) => {

            scene.add(obj);

            camera.position.z = 5

            console.log("Testlog")

          },

          // onProgress callback

          function ( xhr ) {

            console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );

          },

          // onError callback

          function ( err ) {

            console.error( 'An error happened: ' + err );

          }

    );

    renderer.render( scene, camera );

    document.body.appendChild(renderer.domElement);

    // === THREE.JS CODE END ===

  }

  render() {

    return (
      <div />
    )

  }
}

Я уже много пробовал, извините, если код грязный.

Я также пытался переместить Папка моделей в / из папки publi c. Заранее спасибо.

1 Ответ

0 голосов
/ 17 марта 2020

Я нашел решение. У моего файла FBX была старая версия, а также двоичная кодировка. Переход на ASCII и более новую версию исправил все.

...