2016-05-05 4 views
1

Я работаю с тэгом. Js в мобильном приложении на основе javascript. Я использую файл .fbx для 3D-модели. Но он не поддерживает двоичный формат в FBXLoader. Я не знаю много о 3D-моделях и форматах. Любая помощь будет оценена по достоинству.Three.js FBX Бинарный формат не поддерживается

Ошибка в консоли: FBXLoader: !!! Бинарный формат FBX не поддерживается !!!

вот моя загрузка кода FBX:

var loader = new THREE.FBXLoader(manager); 
    // alert(loader); 
    loader.load('img/watcher.FBX', function(object) { 
alert(object); 
     object.traverse(function(child) { 

     if (child instanceof THREE.Mesh) { 

      // pass 

     } 

     if (child instanceof THREE.SkinnedMesh) { 

      if (child.geometry.animations !== undefined ||  child.geometry.morphAnimations !== undefined) { 

      child.mixer = new THREE.AnimationMixer(child); 
      mixers.push(child.mixer); 

      var action = child.mixer.clipAction(child.geometry.animations[ 0 ]); 
      action.play(); 

      } 

     } 

     }); 

     scene.add(object); 


    }, onProgress, onError); 

ответ

1

Если вы посмотрите на header of the javascript file или https://github.com/yamahigashi/FBXLoaderJS' github repo, вы можете видеть это говорит: ASCII и версия 7 Формат

/** 
    * @author yamahigashi https://github.com/yamahigashi 
    * 
    * This loader loads FBX file in *ASCII and version 7 format*. 
    * 
    * Support 
    * - mesh 
    * - skinning 
    * - normal/uv 
    * 
    * Not Support 
    * - material 
    * - texture 
    * - morph 
*/ 

Альтернатива для использования glTF и FBX converter to glTF, и используйте glTF loader.

Обратите внимание, что есть другая проблема с двоичными файлами FBX, которые могут иногда вызывать проблемы. В 2016 году было внесено изменение для поддержки большого файла (> 2Gb). Это изменение влияет только на бинарный формат файла FBX. Они не могут быть прочитаны более старыми читателями, поскольку указатели файлов не имеют одинакового размера. Но для остальных файлы в значительной степени совместимы. Конечно, это не влияет на загрузчик javascript здесь, так как я упоминаю об этом для людей, использующих FBX SDK, но стоит упомянуть.