Jak přeměnit FBX na glTF v Pythonu

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 Scene

Kroky 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:

FormatExtensionHow to specify
glTF.glb / .gltfextension auto-detect; GLB binary or glTF JSON
OBJ.objextension auto-detect
STL.stlextension auto-detect
3MF.3mfextension 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
 Čeština