Я довольно новичок в ТРИ. 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. Заранее спасибо.