3D-Modellvorbereitung und -optimierung
Dieser Artikel erläutert detailliert, wie Sie 3D-Modelle vorbereiten, die den Anforderungen von EasyAR entsprechen. Er deckt Formatstandards, empfohlene Tools und die Fehlerbehebung bei häufigen Problemen ab, um Entwicklern zu helfen, die Tracking-Erfolgsrate von Grund auf zu verbessern.
Modellformat und -spezifikationen
EasyAR 3D-Objekttracking unterstützt ausschließlich das Wavefront OBJ-Format. Bei der Verwendung sind folgende Anforderungen und Spezifikationen zu beachten.
Modell-Dateistruktur
Ein vollständiges 3D-Modell muss folgende Dateien enthalten:
- .obj-Datei: Geometrische Modelldaten (enthält Eckpunkte, Flächen, UV-Koordinaten usw.).
- .mtl-Datei: Materialdefinition (Farbe, Textur-Map-Pfad).
- Textur-Map: Mindestens ein Bild im JPEG- oder PNG-Format (empfohlene Auflösung: 512×512 bis 2048×2048).
Dateianforderungen
- Alle Dateien müssen im selben Ordner liegen und relative Pfade verwenden (z.B.
texture.jpg). Absolute Pfade (z.B.C:\Models\texture.jpg) sind nicht zulässig. - Dateinamen und Pfade innerhalb der Dateien dürfen keine Leerzeichen enthalten. Die Verwendung von Englisch oder Zahlen wird empfohlen.
- Die Dateicodierung muss UTF-8 sein (vermeidet Ladefehler durch Zeichensatzprobleme).
Minimale Anforderungen an OBJ-Dateien
- Muss
vertexenthalten
Geometrische Eckpunkte, dargestellt durch \((x, y, z [, w])\)-Koordinaten. \(w\) ist optional und standardmäßig 1.0. Farbparameter für Eckpunkte sind nicht erforderlich; falls vorhanden, werden sie vom System nicht geladen. - Muss
texture coordinatesenthalten
Texturkoordinaten, dargestellt durch \((u, v [,w])\)-Koordinaten. \(w\) ist optional und standardmäßig 0. Typischerweise sollten \(u\) und \(v\) Werte zwischen 0 und 1 liegen. Für Werte <0 oder >1 verwendet das System standardmäßig denREPEAT-Modus (ganzzahlige Anteile werden ignoriert, es entsteht ein unendlich wiederholtes Muster – identisch zuGL_REPEATinOpenGL). - Muss
faceenthalten
Flächenelemente. Muss mindestens Eckpunkt-Indizes und Texturkoordinaten-Indizes enthalten. Polygone mit mehr als 3 Eckpunkten (z.B. Vierecke) werden ebenfalls unterstützt. - Muss
mtllibenthalten
Verweis auf die Materialdatei. Muss mindestens eine externe MTL-Materialdatei angeben. Der Pfad muss relativ sein, nicht absolut. - Muss
usemtlenthalten
Materialname für Modellelemente. Dieser Name muss mit dem in der externen MTL-Datei definierten Materialnamen übereinstimmen.
Minimale Anforderungen an MTL-Dateien
- Eine MTL-Datei muss mindestens ein Material definieren.
- Eine Textur-Map ist obligatorisch.
Typischerweise genügt die Angabe der Textur-Map für Umgebungslicht oder diffuse Reflexion (map_Ka,map_Kd).
Der Pfad zur Textur-Map muss relativ sein, nicht absolut. - Andere optionale Parameter für Textur-Maps sind nicht erforderlich; falls vorhanden, werden sie vom System nicht verwendet.
Modellvorbereitung
Sie können auf verschiedene Weise OBJ-Format-Modelldateien erstellen, die den Spezifikationen entsprechen.
Aus vorhandenen Modellen exportieren
Verwenden Sie professionelle Tools wie Autodesk Maya / 3ds Max, um vorhandene FBX- oder andere Modelle zu importieren. Wählen Sie beim Exportieren "OBJ Export" und aktivieren Sie die Optionen "Materials" und "UVs".Ein neues Modell erstellen
Verwenden Sie Modellierungstools wie Autodesk Maya / 3ds Max, um ein 3D-Modell zu erstellen/zu gestalten und im OBJ-Format zu exportieren.Reale Objekte scannen und 3D-rekonstruieren
Verwenden Sie 3D-Scanning-Software wie Autodesk ReCap oder Bentley ContextCapture, oder einen Laserscanner, um reale Objekte zu scannen und 3D-zurekonstruieren. Exportieren Sie das Ergebnis im OBJ-Format.
Wichtig
Die Modelltextur muss die visuellen Merkmale des realen Objekts genau wiedergeben. Andernfalls funktionieren Erkennung und Tracking nicht korrekt.
Best Practices für Modelle
Nachfolgend finden Sie häufige Probleme und Beispiele bei der Modellvorbereitung zur schnellen Überprüfung.
Sicherstellen reichhaltiger texturdetails
Die Texturen des Modells sollten reichhaltige Details aufweisen.
Referenzbild links: Kann von EasyAR erkannt und verfolgt werden. Referenzbild rechts: Kann nicht erkannt und verfolgt werden, zu wenig Textur.
Form des modells
Das Modell unterstützt verschiedene Formen, aber die Hauptstruktur sollte konvex sein.
Beide Objekte können von EasyAR erkannt und verfolgt werden.
Überprüfen sie die referenzpfade in der datei
Die in der Modelldatei referenzierten Pfade müssen relative Pfade sein, keine absoluten Pfade.
Das rechte Modell kann nicht geladen werden, da EasyAR die Datei mit dem absoluten Pfad nicht findet.
Die in der Modelldatei referenzierten Pfade dürfen keine Leerzeichen oder Sonderzeichen enthalten.
Das rechte Modell kann nicht geladen werden, da der referenzierte Pfad Leerzeichen enthält.
Überprüfen der Dateicodierung
Modell-Dateien sollten das UTF-8-Codierungsformat verwenden.
Das rechte Modell kann nicht geladen werden, da Dateicodierungsprobleme zu Decodierungsfehlern beim Lesen führen.
Überprüfen der Modell-Normalen
Die positiven Normalenvektoren der Modellflächen sollten der Rechte-Hand-Regel folgen.
Im zweiten Würfel zeigen die Normalenvektoren der schattierten Flächen in die negative Richtung. Solche Flächen werden in EasyAR als unsichtbar behandelt. Betrachtet man sie von innen, erscheinen sie wie im dritten Würfel.
Modelle sollten Flächen mit negativ ausgerichteten Normalenvektoren unbedingt vermeiden.Anzahl der Modell-Dreiecke
Die Anzahl der Dreiecke im Modell sollte bei ausreichender Darstellung der geometrischen Form so gering wie möglich sein und in der Regel 100,000 Dreiecke nicht überschreiten. Zu viele Dreiecke führen zu:- Längeren Modellladezeiten, was die Benutzererfahrung beim Start der Anwendung beeinträchtigt
- Erhöhtem Rechenaufwand für die Texturprojektion, was die Bildrate während des Trackings reduziert
Die Qualität des 3D-Modells bestimmt maßgeblich die Tracking-Erfolgsrate. Entwickler müssen die Formatspezifikationen strikt einhalten, Texturdetails optimieren und fehlerfreie Dateiformate sicherstellen.