Πώς να μετατρέψετε το FBX σε glTF στο Python

Πώς να μετατρέψετε το FBX σε glTF στο Python

προβλημα

Οι προγραμματιστές πρέπει να μετατρέψουν τα αρχεία μοντέλου FBX 3D σε μορφή glTF ή GLB για χρήση στους προβολείς web, τους κινητήρες παιχνιδιών και τους σύγχρονους σωλήνες rendering. Scene.from_file() να φορτώσει το αρχείο FBX και scene.save() Να γράψετε το GTTF.

Σημείωση για την υποστήριξη FBX: Το 3D FOSS έχει Εμπειρογνωμοσύνη Το tokenizer FBX εφαρμόζεται, αλλά ο παρσερός έχει γνωρίσει δομικά bugs: εσφαλμένη χειρισμό CLOSE_BRACKET και απεριόριστη αναδρομή σε σύνθετα αποσυνδεδεμένα FB X σπυράκια. RecursionError. απλή επίπεδη γεωμετρία FBX μπορεί να λειτουργήσει. για χρήση παραγωγής, προτιμάτε COLLADA, OBJ ή glTF πάνω από FB X. Δείτε το FAQ Για περισσότερες λεπτομέρειες.

Προϋποθέσεις

  • Python 3.7 ή νεότερη
  • Εισαγωγή μέσω pip: pip install aspose-3d-foss
from aspose.threed import Scene

Στάδια μετατροπής

Βήμα 1: Κατεβάστε το αρχείο FBX

Χρησιμοποιήστε Scene.from_file() να φορτώσει το αρχείο FBX. Η μορφή ανιχνεύεται αυτόματα από την .fbx Η επέκταση.

from aspose.threed import Scene

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

Βήμα 2: Αποθηκεύστε στο glTF Binary (GLB)

Κλήση scene.save() Με το .glb επεκτάσεις για να γράψετε την έκδοση ως ένα συμπαγές δευτερεύον αρχείο glTF. Η μορφή καταλήγει αυτόματα από την επέκταση. Αυτή είναι η συνιστώμενη προσέγγιση: single-file, compact, και ευρέως συμβατό.

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

Σημείωση : ΟΙ ΠΡΟΣΟΧΕΣFileFormat.GLTF2_BINARY και FileFormat.GLTF Είναι None Στον ιστότοπο της βιβλιοθήκης, η οποία δεν πρέπει να μεταφερθεί σε scene.save().• Χρησιμοποιήστε την αυτοαποκάλυψη της επέκτασης αρχείων ή το FileFormat.GLTF2() Η εργοστασιακή μέθοδος αντί για την.

Για να αποθηκεύσετε ως JSON glTF αντί:

scene.save("output.gltf")

Βήμα 3: (Επιλογή) Χρησιμοποιήστε τις επιλογές GltfSave

Για περισσότερη έλεγχο της παραγωγής του GTTF, περάστε ένα GltfSaveOptions Το αντικείμενο:

from aspose.threed.formats import GltfSaveOptions

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

Κωδικός Παραδείγματος

Συμπληρωματική μετατροπή FBX-στο-GLB σε τρεις γραμμές:

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

Υποστηριζόμενες μορφές εξόδου

Κατά την μετατροπή από το FBX, οι ακόλουθες μορφές εξόδου λειτουργούν αξιόπιστα:

ΤΕΧΝΗΕΠΙΤΡΟΦΗΠώς να προσδιορίσετε
ΓΚΛΤΦ.ΓΚΛΤΦ / .gltfΕξέταση αυτο-αποκαλύψιμο; GLB δυαδικό ή glTF JSON
OBJ.ΟΒΓΕπεκταση αυτο-αποκαλύψεις
STL.ΣτλΕπεκταση αυτο-αποκαλύψεις
3MF.3MFΕπεκταση αυτο-αποκαλύψεις

Σημείωση : ΟΙ ΠΡΟΣΟΧΕΣFileFormat.GLTF2_BINARY, FileFormat.GLTF,και FileFormat.MICROSOFT_3MF Είναι None αδιάκοπα και δεν πρέπει να μεταφερθεί σε scene.save().Χρησιμοποιήστε την αυτο-αποκάλυψη επέκτασης αρχείων ή τις μεθόδους εργοστασίου που παρουσιάζονται παραπάνω.

Δείτε επίσης

 Ελληνικά