Categories: Sonstiges

Wie Sie glTF 2.0-Dateien aus Maya exportieren können.

Dieser Beitrag wird den Prozess des Exports eines animierten glTF 2.0-Modells von Maya thematisieren. Wir werden die folgenden Tools verwenden:

  • Maya LT
  • FBX Converter 2013.3
  • Blender
  • Blender glTF Exporter

Alle diese sind für Windows oder macOS verfügbar. Da Blender keine aktuellen Versionen von FBX importieren kann, verwendet unser Workflow COLLADA als Zwischenmittel.

Der Beitrag behandelt nicht, wie man PBR-Materialien erstellt. Standard Blender-Materialien sollten im Allgemeinen funktionieren, aber der Support für Cycle-Nodes ist ziemlich gering, es sei denn, Sie verwenden die glTF-spezifischen Cycle-Nodes, die dem Exporter beiliegen. Auch der Support für den Principled BSDF-Node fehlt, wird aber voraussichtlich bald hinzugefügt.

Bereinigen Sie das Modell für den Export.

Optionale Schritte zur Bereinigung von Geometrie und Historie.

i. Mesh > Cleanup ii. Edit > Delete All by Type > History, um das Modell nur zu bereinigen, wenn das Modell nicht animiert ist. Wenn Sie das Modell selbst animieren, führen Sie diesen Schritt aus, bevor Sie es animieren, oder überspringen Sie es ganz. Iii. Modifizieren Sie > Einfrieren von Transformationen.

Export im FBX 2013 Format von Maya.

Der in Schritt 3 verwendete FBX-Konverter wurde seit 2013 nicht mehr aktualisiert. Dementsprechend müssen wir aus Maya LT im Format FBX 2013 exportieren. Schritte:

i. Datei > Export Alle ii. Wählen Sie Animation und baken Sie die Animation iii. Deaktivieren Sie die Markierung von Lichtern und Kameras iv. Erweiterte Optionen > FBX Dateiformat > Binär + FBX 2013 v. Export All.

Konvertieren Sie von FBX nach COLLADA.

Öffnen Sie die Benutzeroberfläche des FBX-Konverters und ziehen Sie die FBX-Datei in den linken Bereich, Wählen Sie im rechten Fensterbereich das Zielformat > DAE Collada. Konvertieren.

Importieren Sie COLLADA-Assets in Blender.

Öffnen Sie Blender, löschen Sie die Szene und Datei > Import > COLLADA. Wenn Teile eines animierten Modells fehl am Platz sind, versuchen Sie, die Animation abzuspielen, und sie können korekkt ausgerichtet sein. Wenn alles in Ordnung ist, fahren Sie mit Schritt 5 fort.

Exportieren Sie glTF 2.0 aus Blender.

I. Datei > Export > glTF 2.0 (.gltf oder .glb) ii. Aktivieren Sie Animation und Skinning. Iii. Deaktivieren Sie Licht und Kameras.

Testen Sie mit dem glTF-Viewer.

Ziehen Sie die Datei .gltf oder .glb – und alle anderen generierten Dateien einschließlich .bin – auf auf https://gltf-viewer.donmccurdy.com, um sie in Three.js vorab anzuzeigen. Wenn etwas nicht stimmt, testen Sie die Datei auf dem glTF-Validator. Ungültige Dateien sollten als GitHub-Probleme auf dem Blender-Exporter gemeldet werden. Wenn die Datei gültig erscheint, aber nicht korrekt angezeigt wird, melden Sie bitte das Problem im Viewer-Tool.

Angenommen, Sie Haben es so weit geschafft und haben ein gültiges glTF 2.0 Asset. Sie können dieses Modell nun in Three.js, A-Frame, Babylon.js und anderen WebGL-Engines verwenden.

Update: Die für glTF verfügbaren Tools haben sich seit einiger Zeit geändert und wir haben versucht, die Dinge entsprechend zu aktualisieren. Leider gibt es immer noch keinen direkten Pfad zu glTF von Autodesk-Tools wie Maya, Maya LT oder 3ds Max, so dass alles, was Sie tun, das Durchlaufen mindestens eines Zwischenschritts erfordert.

Es gibt nun einige tragfähige Alternativen zu dem Prozess, den wir in diesem Artikel beschrieben haben. Jede einzelne von denen ist es wert, zumindestens ausprobiert zu werden. Die Reihenfolge ist dabei unerheblich:

  1. Exportieren Sie nach FBX und konvertieren Sie mit Facebook`s FBX2glTF, das experimentellen Support für die Konvertierung von Stingray PBS-Materialien in glTF`s PBR-Darstellung bietet.
  2. COLLADA2GLTF wurde aktualisiert, um glTF 2.0 zu unterstützen.
  3. Der Three.js-Editor kann viele Dateien per Drag-and-Drop importieren und nach glTF exportieren. Dies basiert auf dem THREE.GLTFEexporter, der auch in Ihren eigenen Webanwendungen verwendet werden kann, um den glTF-Export zu ermöglichen.
  4. Neuere Versionen von Substance Painter exportieren direkt nach glTF 2.0 und sollten eine gute Integration mit Maya-Workflows aufweisen.
  5. Für einfache Modell (keine Animation, keine PBR) ist der Export nach OBJ und die Konvertierung mit obj2gltf wahrscheinlich eine sehr zuverlässige Option.

Autodesk erlaubt nicht die meisten Plugins in Maya LT, aber wenn Sie zufällig eine Lizenz für die Vollversion von Maya oder 3ds Max haben, stehen Ihnen die folgenden Möglichkeiten offen:

  1. (Noch nicht getestet!) Community-Mitglieder bei Wonder Media haben ein Open Source glTF-Plugin für die Vollversion von Maya, MayaglTF, gestartet. Es ist jetzt im Pre-Alpha.
  2. (Noch nicht getestet!) Das BabylonJS-Team hat ein Plugin für 3ds Max erstellt und arbeitet an einem für Maya. Beide Plugins finden Sie unter BabylonJS/Exporter.
  3. (Noch nicht getestet!) Verge3D bietet glTF 2.0-Export für 3ds Max.

Falls Sie Probleme mit einem dieser Tools haben sollten, können Sie sich an die GitHub-Community wenden.

Vielen Dank für Ihren Besuch.

3DMaster