Kuinka muuntaa FBX glTF:ksi Pythonissa

Kuinka muuntaa FBX glTF:ksi Pythonissa

Ongelma

Kehittäjien täytyy muuntaa FBX 3D -mallitiedostot glTF- tai GLB-muotoon web‑katselijoita, pelimoottoreita ja nykyaikaisia renderöintiputkia varten. Aspose.3D hoitaa tämän Scene.from_file() FBX‑tiedoston lataamiseen ja scene.save() glTF‑tulosteen kirjoittamiseen.

Huomautus FBX-tuesta: Aspose.3D FOSS:lla on kokeellinen FBX-tuki. FBX-tokenisoija on toteutettu, mutta parserissa on tunnettuja rakenteellisia virheitä: virheellinen CLOSE_BRACKET‑käsittely ja rajoittamaton rekursio monimutkaisissa sisäkkäisissä FBX‑alueissa. Monimutkaiset tai suuret FBX‑tiedostot voivat laukaista RecursionError. Yksinkertainen tasogeometrinen FBX saattaa toimia. Tuotantokäytössä suosi COLLADAa, OBJ:ta tai glTF:ta FBX:n sijaan. Katso FAQ lisätietoja varten.

Edellytykset

  • Python 3.7 tai uudempi
  • Asenna pipin kautta: pip install aspose-3d-foss
from aspose.threed import Scene

Muuntaamisvaiheet

Vaihe 1: Lataa FBX‑tiedosto

Käytä Scene.from_file() FBX‑tiedoston lataamiseen. Tiedostomuoto tunnistetaan automaattisesti .fbx‑tunnisteesta.

from aspose.threed import Scene

scene = Scene.from_file("input.fbx")

Vaihe 2: Tallenna glTF-binääriin (GLB)

Kutsu scene.save() .glb-päätteellä kirjoittaaksesi tuloksen tiiviinä binäärisenä glTF‑tiedostona. Muoto päätellään automaattisesti päätteestä. Tämä on suositeltu lähestymistapa: yksi tiedosto, tiivis ja laajalti yhteensopiva.

# Use the .glb extension for binary GLB output (auto-detected)
scene.save("output.glb")

Huomaa: FileFormat.GLTF2_BINARY ja FileFormat.GLTF ovat None-vakioita nykyisessä kirjaston versiossa, eikä niitä tule välittää scene.save()-funktiolle. Käytä tiedostopäätteen automaattitunnistusta tai FileFormat.GLTF2()-tehdasmenetelmää sen sijaan.

Tallentaaksesi JSON glTF:nä sen sijaan:

scene.save("output.gltf")

Vaihe 3: (Valinnainen) Käytä GltfSaveOptions

Saadaksesi enemmän hallintaa glTF‑tulosteeseen, anna GltfSaveOptions‑objekti:

from aspose.threed.formats import GltfSaveOptions

opts = GltfSaveOptions()
opts.binary_mode = True
scene.save("output.glb", opts)

Koodiesimerkki

Täydellinen FBX-to-GLB -muunnos kolmessa rivissä:

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")

Tuetut tulostusmuodot

Kun muunnetaan FBX:stä, seuraavat tulostusformaatit toimivat luotettavasti:

TulostusmuotoTiedostopääteMiten määrittää
glTF 2.0 binary.glbtiedostopäätteen automaattinen tunnistus (tai FileFormat.GLTF2())
glTF 2.0 JSON.gltftiedostopäätteen automaattinen tunnistus (tai FileFormat.GLTF2())
Wavefront OBJ.objtiedostopäätteen automaattinen tunnistus
STL.stltiedostopäätteen automaattinen tunnistus
Microsoft 3MF.3mftiedostopäätteen automaattinen tunnistus (tai FileFormat.MICROSOFT_3MF_FORMAT())

Huomaa: FileFormat.GLTF2_BINARY, FileFormat.GLTF ja FileFormat.MICROSOFT_3MF ovat None-vakioita, eikä niitä tule välittää scene.save(). Käytä tiedostopäätteen automaattitunnistusta tai yllä esitettyjä tehdasmenetelmiä.

Katso myös

 Suomi