FBXLoader for Python
[!WARNING] This library has very limited features and is only intended for reading mesh geometry from binary FBX files, it doesn't support:
- Reading ASCII FBX files.
- Reading textures and materials even if they are encoded in the file.
- Reading skeletons and animations. Note that the geometry may also be incorrect if the mesh is skinned.
- Writing FBX files. However, this can be a starting point to implement more features in the future. Welcome to contribute!
Install
# from pypi
pip install fbxloader
# from source
pip install git+https://github.com/ashawkey/fbxloader.git
Usage
Python API:
from fbxloader import FBXLoader
fbx = FBXLoader('model.fbx') # load from file or bytes
# similar to glb, fbx usually contains multiple meshes as a scene
# we provide a method to merge them into a single mesh and export as trimesh.Trimesh
mesh = fbx.export_trimesh()
# write to other formats (using trimesh API)
mesh.export('model.obj')
# meta: this is to provide some information on unimplemented features, you may inspect it to make sure if the model is expected to load correctly. e.g., hasDeformers=True usually means the model is skinned.
print(fbx.meta)
# {'hasImages': False, 'hasTextures': False, 'hasMaterials': True, 'hasDeformers': True, 'hasAnimations': True}
We also provide a CLI tool:
fbxconverter <input.fbx> <output.obj/ply/glb>
Lastly, we provide a testing script and also a fbx mesh as an example:
python tests/test.py examples/annulus.fbx
Reference
The code is basically translated from threejs's FBXLoader. Thanks to the threejs team and also copilot!
Metadata
Release files for fbxloader 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fbxloader-0.0.2.tar.gz | 9.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fbxloader-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.4 kB
Release files / fbxloader-0.0.2.tar.gz
| Download URL | fbxloader-0.0.2.tar.gz |
|---|---|
| Size | 9.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
db004e0d134598094e86f68a1dde5eaf07a0befc4d87cdf781620015cc2a752d
|
|
BLAKE2b-256 checksum How to use checksums |
48b235fb118f0bce0f1b24f3122b5bc05619365126de65c19dbe23cd65fec67f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|
Release files / fbxloader-0.0.2-py3-none-any.whl
| Download URL | fbxloader-0.0.2-py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
22dd2f319f6870e19070f5fc57f0dce70ef0798619b8a782f995ae4aff26227a
|
|
BLAKE2b-256 checksum How to use checksums |
a649df741b3810b7360c55c15ec547f06fbcafa4a3c458aac32e3bb69442155d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|