Jak přeměnit FBX na glTF v Pythonu
Problémy
Vývojáři potřebují převést soubory modelu FBX 3D do formátu glTF nebo GLB pro použití v webových vizorkách, herních motorech a moderních renderovacích potrubích. Aspose.3D to zvládne s `Scene.from_file()⌒ za účelem načtení souboru FB X a ̋scene.save (()ヽ k zapsání výstupů glTP .
Poznámka k podpoře FBX: Aspose.3D FOSS má experimentální podporu FBx. Je implementován tokenizer FB X, ale analyzátor zná strukturní chyby: nesprávné ovládání CLOSE_BRACKET a neomezenou rekurzi na složitých vestavěných rozsahů FB x. Komplekční nebo velké soubory FB Y mohou spustit RecursionError. Jednoduchá plochý geometrie může fungovat. Pro produkční použití upřednostňujte COLLADA, OBJ nebo glTF před FB y. Více informací naleznete v FAQ.
Předpoklady
- Python 3.7 nebo novější
- Instalace prostřednictvím pip:
pip instalovat aspose-3d-foss
from aspose.threed import SceneKroky ke změně
Krok 1: Nahrát soubor FBX
Pro načtení souboru FBX použijte funkci Scene.from_file()⌒. Formát je automaticky detekován z rozšíření ̋.fbx.
from aspose.threed import Scene
scene = Scene.from_file("input.fbx")Krok 2: Uložení do binárního systému glTF (GLB)
Volá se scene.save()ヽ s rozšířením ⌒.glb, aby byl výstup napsán jako kompaktní binární soubor glTF. Formát je automaticky odvoděn z rozšíření. Toto je doporučený přístup: jednotný soubory, kompaktaný a široce kompatibilní.
# Use the .glb extension for binary GLB output (auto-detected)
scene.save("output.glb")Poznámka: FileFormat.GLTF2_BINARY a ̋FireFormet. GLTF` jsou konstanty stubu ∂None∂ v aktuální verzi knihovny a neměly by být předány na ゚scene.save()⌒. Namísto toho použijte automatickou detekci rozšíření souboru nebo tovární metodu ゙FilleForMat.GlTF22 ().
Uložení jako JSON glTF:
scene.save("output.gltf")Krok 3: (nepovinně) Použijte funkci GltfSaveOptions
Pro větší kontrolu výstupu glTF předejte objekt `GltfSaveOptions':
from aspose.threed.formats import GltfSaveOptions
opts = GltfSaveOptions()
opts.binary_mode = True
scene.save("output.glb", opts)Příklad kódu
Úplné přepočet FBX na GLB ve třech řádcích:
from aspose.threed import Scene
scene = Scene.from_file("input.fbx")
scene.save("output.glb") # .glb extension triggers binary GLB output automatically
print("Conversion complete: input.fbx -> output.glb")Podporované výstupní formáty
Při konverzi z FBX spolehlivě fungují následující výstupní formáty:
| Format | Extension | How to specify |
|---|---|---|
| glTF | .glb / .gltf | extension auto-detect; GLB binary or glTF JSON |
| OBJ | .obj | extension auto-detect |
| STL | .stl | extension auto-detect |
| 3MF | .3mf | extension auto-detect |
Poznámka: FileFormat.GLTF2_BINARY, ̋FireFormet. GLTF a ∂FilleForMat.MICROSOFT_3MF jsou konstanty stubu ゚None`; nesmí být předávány na ⌒scene.save() ̨ Použijte automatickou detekci rozšíření souborů nebo výše uvedené tovární metody.
Viz také:
- Jak přeměnit 3D modely pomocí Aspose.3D
- Aspose.3D FAQ
- Naložit soubory s Aspose.3D
- 3D model s Aspose.3D