Πώς να μετατρέψετε το 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().Χρησιμοποιήστε την αυτο-αποκάλυψη επέκτασης αρχείων ή τις μεθόδους εργοστασίου που παρουσιάζονται παραπάνω.