Im folgenden Artikel wird die Modellierungs-Pipeline für eine optimale Content-Creation erläutert.
Für die Bearbeitung wurden die folgenden Tools verwendet:
Autodesk Maya – Modellierung, Unwrapping und Animieren
Adobe Substance 3D Painter – Texturierung und generieren der AR-Modelle
FBX2GLTF Converter – Konvertieren der FBX Modelle in GLBs
Richtwerte für die Modellerstellung
Für eine optimale User-Experience sollten die folgenden Richtlinien zu der 3D-Modellerstellung beachtet werden.
Alle aufgeführten Daten dienen als “Best Practice”-Richtwerte.
Format |
Polygonanzahl |
Drawcalls |
Texturengröße |
Gesamte Dateigröße |
GLB – Viewer |
100000 + |
10 + |
2048px |
bis 20 MB |
GLB – AR |
100000 |
10 |
1024px |
bis 10 MB |
USDZ – AR |
100000 |
10 |
1024px |
bis 10 MB |
Standard Pipeline

Modelling und Unwrapping
1. Das Modellieren erfolgt in diesem Beispiel in der Software Autodesk Maya.
Mit jeder gängigen Modellier-Methode können die 3D-Modelle erstellt werden.
Hierbei sollten die Modellspezifikationen beachtet werden.

2. Jedes Einzelobjekt oder gezielt gesetzte Meshgruppen müssen mit einem Material versehen werden. Im Beispiel wird der Stingray PBS Shader gesetzt. Jeder Shader funktioniert für diesen Workflow.

3. Damit der Texturier-Prozess übersichtlich bleibt, muss jedes Material benannt werden.

4. Pro Material muss ein UV-Atlas angefertigt werden. Das ist besonders für die AR-Funktion von großer Bedeutung, da die Modelle hier als zusammenhängende Datenpakete abgerufen werden. Hierbei ist zu beachten, dass der UV-Space optimal ausgefüllt werden muss.

5. Wurden für alle Objekte die Materials und UVs angefertigt, kann das Modell an dieser Stelle für die Texturierung exportiert werden. Hier werden zwei FBX-Dateien für die AR-Funktion benötigt:
- in Meter-Einheiten für das GLB
- in Zentimeter-Einheiten für das USDZ

Animation
1. Animationen werden über Keyframing innerhalb des 3D-Tools erstellt. Hierfür können einfache Transformations-Animationen oder Animationen über Bones erstellt werden.

2. Damit die Animation im GLB zu finden ist, muss sie in der Datei als Clip gespeichert und einzigartig benannt werden.

3. Über den Game Exporter in Maya kann das Modell mit dem Animationsclip als FBX exportiert werden.
Mit dem FBX2GLTF-Converter wird das Modell in ein GLB mit integrierter Animation umgewandelt.

Texturing
1. Die Texturen werden in diesem Beispiel mit dem Programm Substance 3D Painter erstellt.
Hier wird das in Meter-Einheiten erstelle FBX-Modell importiert.


2. Unter der Textur Set List werden alle in Maya erstellten Materials aufgelistet.

3. Für diese Materials muss die Ambient Occlusion Map gebaked werden.


4. Hat jedes Material eine Ambient Occlusion, kann das Modell texturiert werden.

5. Für die Arbeit mit dem Augmenteers-Editor werden nun die Texturen separat exportiert.
In Substance 3D Painter wählen wir hierfür das “Unreal Engine 4”-Template aus, da es automatisch die ORM-Texturen exportiert.
Die Texturen haben eine maximale Auflösung von 2048px und werden als JPEG exportiert.
Sollte der Detailverlust zu hoch sein, können Detail-Texturen wie Normal-Maps auch als PNG exportiert werden.

6. Für die AR-Funktion des Augmenteers Editor, werden zwei weitere Exporte benötigt.

6.1. Da das Modell in Meter-Einheiten geladen wurde, kann über das Export-Menü das “glTF PBR Metal Roughness”-Template ausgewählt werden. Es erstellt automatisch ein fertiges GLB, das als AR-Modell für Android-Geräte verwendet werden kann.

6.2. In Substance 3D Painter unter “Edit->Project configuration” wird das bestehende in Metern skalierte 3D-Modell gegen das in Zentimetern skalierte 3D-Modell ausgetauscht. Jetzt wird im Export-Menü das “USD PBR Metal Roughness”-Template ausgewählt und das USDZ für die AR-Nutzung exportiert.

GLB mit Animation
Um das GLB mit der erstellten Animation zu generieren, wird das FBX mit dem Animations-Clip über den FBX2GLTF-Converter in ein GLB mit Draco-Kompression umgewandelt.
Dazu wird das Modell über die Konsole mit dem FBX2GLTF-Converter umgewandelt.
Alle möglichen Parameter können der Dokumentation für den Konverter entnommen werden.
Folgende Parameter wurden für das Beispiel-Modell genommen:
FBX2glTF-windows-x64 –binary –draco –draco-bits-for-uv 30 –draco-compression-level 6 -k –verbose –input .\shelf_animated.fbx –output shelf_ani_draco
