Three.js: FBXLoader fails to load file

Created on 9 Jul 2020  路  12Comments  路  Source: mrdoob/three.js

Description of the problem

I loaded the attached file by the example webgl_loader_fbx.html. And it failed with log on the console:

FBXLoader.js:109 Error: THREE.FBXLoader: Unknown property type
at BinaryParser.parseProperty (FBXLoader.js:3618)
at BinaryParser.parseNode (FBXLoader.js:3371)
at BinaryParser.parse (FBXLoader.js:3318)
at FBXLoader.parse (FBXLoader.js:125)
at Object.onLoad (FBXLoader.js:99)
at XMLHttpRequest. (three.module.js:36859)

JKXM.zip

Three.js version
  • [x] Dev
  • [ ] r118
  • [ ] ...
Browser
  • [ ] All of them
  • [x] Chrome
  • [ ] Firefox
  • [ ] Internet Explorer
OS
  • [ ] All of them
  • [x] Windows
  • [ ] macOS
  • [ ] Linux
  • [ ] Android
  • [ ] iOS
Hardware Requirements (graphics card, VR Device, ...)
Bug Loaders

Most helpful comment

From the console log when I load this file:

THREE.FBXLoader: FBX binary version: 6000

Version 6400 and up is supported by the FBXLoader. What version of 3ds max are you exporting from?
If it's a recent one, you need to set the FBX version higher.

All 12 comments

Can confirm the error message with the editor.

@lilypen what program was used to create the file?

@looeee It is created by 3dmax. What program does three.js support? Or is there any limitation about FBX which three.js support?

From the console log when I load this file:

THREE.FBXLoader: FBX binary version: 6000

Version 6400 and up is supported by the FBXLoader. What version of 3ds max are you exporting from?
If it's a recent one, you need to set the FBX version higher.

Version 6400 and up is supported by the FBXLoader.

I guess FBXLoader could check the version and warn the user if it's not 6400 and up?

From the inline comments:

Requires FBX file to be >= 7.0 and in ASCII [format] or >= 6400 in Binary format

@looeee Thanks for the prompt response. How about https://github.com/mrdoob/three.js/issues/19817? Is there any limitation about TDSLoader?

I'm not familiar with TDSLoader. You could try using a tool like FBX2GLTF to convert the file to glTF format.

@looeee Thanks a lot.

I think it's better to keep this one open until we add a console warning telling the user the file being loaded is not supported.

I thought the loader already does this (well it throws an error but its visible in the console):

https://github.com/mrdoob/three.js/blob/c144af8f6737c32bdb99ec180dff353d894f1898/examples/js/loaders/FBXLoader.js#L93

Ops, the loader has this check only for ASCII files. In this case, it would be indeed nice to have a version check for binary files, too 馃憤 .

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jack-jun picture jack-jun  路  3Comments

scrubs picture scrubs  路  3Comments

clawconduce picture clawconduce  路  3Comments

Bandit picture Bandit  路  3Comments

filharvey picture filharvey  路  3Comments