Three JS FBX Loader: модель не видна на сцене Нет ошибок в консоли - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь визуализировать 3D-модель в формате .fbx, используя THREEJS FBXLoader, но модель не видна на сцене, хотя она добавлена. Переменная с именем 'model', в которой хранится 3D-модель FBX, определяется как я console.log. В консоли нет ошибок.

Любая помощь по этому вопросу будет очень полезна

Изображение журнала консоли Я console.logged 3D-модель объекта, возвращенного из FBXLoader, он был виден

Изображение сцены В сцене видны сетка и сетка, но модель не видна

if ( ! Detector.webgl ) Detector.addGetWebGLMessage();

var container, controls;

container = document.getElementById('container');

var width = container.clientWidth;

var height = container.clientHeight;

var camera, scene, renderer, light;

var mixers = [];

init();
animate();

function init() {

 camera = new THREE.PerspectiveCamera( 45, width / height, 0.001, 100  000 
 );
 camera.position.set( 100, 100, 100 );
 camera.up.set(0,1,0);

 controls = new THREE.OrbitControls( camera );
 controls.target.set( 0, 100, 0 );
 controls.update();

 scene = new THREE.Scene();

 var ambient = new THREE.AmbientLight(0x404040); //0x101030
 scene.add(ambient);
 scene.background = new THREE.Color( 0x1c0c4e );

 var grid = new THREE.GridHelper( 2000, 20, 0x000000, 0x000000 );
 grid.material.opacity = 1;
 grid.material.transparent = true;
 scene.add( grid );

 var loader = new THREE.FBXLoader();
 console.log(loader);
 loader.load( 'uploaded/silly_dancing.fbx', function ( object ) {
  model = object;
  console.log(model);
  scene.add( model );
 });        


 renderer = new THREE.WebGLRenderer();
 renderer.setPixelRatio( window.devicePixelRatio );
 renderer.setSize( width, height);
 renderer.shadowMap.enabled = true;
 container.appendChild( renderer.domElement );

 window.addEventListener( 'resize', onWindowResize, false );

}

function onWindowResize() {

 var width = container.clientWidth;
 var height = container.clientHeight;
 camera.aspect = width / height;

 camera.updateProjectionMatrix();

 renderer.setSize( width, height );
}

function animate() {

 requestAnimationFrame( animate );
 render()
 controls.update();
}

function render() {

 renderer.render( scene, camera );           
}
...