3D Modelle erstellen – Grundlagen

Hier finden Sie grundlegende Information zum Erstellen und Verwenden von 3D-Modellen in 3spin Learning.

Was sind 3D-Modelle?

3D-Modelle sind räumliche Objekte, mit denen Sie Ihre Lerneinheiten zu einer immersiven Echtzeit-3D-Erfahrung werden lassen können.

In 3spin Learning gibt es zwei Typen von 3D-Modellen:

  • 3D Object: Plastische Gegenstände, die Sie als interaktive Assets verwenden können
  • 3D Environment: Räumliche Umgebungen, die als Schauplätze für Ihre Lerneinheiten dienen

3D Objekte werden als Inhalte in Lerneinheiten platziert.

3D-Models-Basics 1Sie können ihnen verschiedene Verhaltensweisen (Behaviors) – bspw. physikalische Eigenschaften oder Beweglichkeit – zuweisen und sie mit Interaktion versehen.

3D Umgebungen bilden den Raum, in dem Sie Lerninhalte (Assets) platzieren können.

3D-Models-Basics 2Alle Details zur Arbeit mit diesen beiden Asset-Typen finden Sie in den Artikeln 3D Object und 3D Environment.

Wie werden 3D-Modelle in 3spin Learning geladen?

3D-Modelle können in einer großen Anzahl verschiedener Dateiformate gespeichert werden.

3spin Learning unterstützt nur bestimmte Dateiformate, die sicherstellen, dass die 3D-Modelle fehlerfrei funktionieren. Um 3D-Modelle in 3spin Learning zu nutzen, müssen sie daher in einem der unterstützen Formate vorliegen. Liegen andere Formate vor, müssen Sie also Ihre 3D-Modelle mit einem 3D-Programm (bspw. Blender oder Unity) umwandeln.

Unterstützte Dateiformate

  • 3D Modelle als glTF / glb (empfohlen): Offenes Standardformat für dreidimensionale Szenen und Modelle
  • 3D-Modelle als Unity AssetBundle: Proprietäres Format für dreidimensionale Daten zur Verwendung in Unity-basierten Anwendungen

Während Sie glTF-Dateien aus den gängigen 3D-Tools direkt abspeichern können, müssen AssetBundles aus Unity exportiert werden. Detaillierte Anleitungen zum Export von 3D-Objekten finden Sie auf den oben verlinkten Seiten.

3D-Modelle in 3spin Learning hochladen

Navigieren Sie im WMS zum Bereich Assets und nutzen Sie dort die Funktion Add Asset.

Assets Start Detail

Wählen Sie im folgenden Dialog zunächst den Typ des Assets, den Sie erstellen wollen: 3D Object oder 3D Environment.

Assets - Add Asset 2

Füllen Sie dann den Rest des Formulares aus und geben die zugehörigen Dateien an. Je nach Dateiformat eine .glb-Datei oder drei AssetBundle-Dateien. Zusätzlich können Sie ein Vorschaubild hochladen.

Schließen Sie den Vorgang durch Klick auf Create ab.

Was ist beim Aufbau von 3D-Modellen zu beachten?

Performance der Endgeräte

3D-Modelle bestehen – vereinfacht gesagt – grundsätzlich aus einer Form und einer sichtbaren Oberfläche.

Die Form, das sogenannte "Drahtgittermodell", wird aus "Polygonen" zusammengesetzt, und definiert so die Geometrie eines Objektes. Diese Geometrie wird dann mit Haut aus Bildern überzogen, den "Texturen".

Sowohl die Anzahl der Polygone, als auch die Größer der Texturen beeinflussen die Performance, insbesondere bei mobilen Devices, die deutlich geringere Rechenleistungen als ein voll ausgestatteter Desktop-Computer haben. Verwenden Sie daher möglichst Modelle mit wenigen Polygonen ("Low-poly-Modelle") und optimierten Texturen.

Als Richtwert sollte sich die Gesamtzahl der Polygone aller Objekte in einer Szene an folgenden Werten orientieren, um ein gutes  und flüssiges Lernerlebnis sicherzustellen:

  • Microsoft HoloLens 2: ~50.000 Polygone
  • Oculus / Meta Quest 1: ~100.000 Polygone
  • Oculus / Meta Quest 2 oder Pico Neo 3: ~200.000 Polygone
  • HTC Vive (PC gestützt): ~1.000.000 Polygone

Beachten Sie, dass die Leistung einer Lerneinheit auch von der Anzahl und Größe anderer, in derselben Unit oder Szene verwendeter, Assets abhängt (bspw. viele große Bilder). 

Info für 3D-Experten:

Wichtig für die Performance sind nicht nur die Anzahl der Polygone und die Texturen, sondern auch die Anzahl der verschiedenen Materialien, die Anzahl der Meshes (Polygonnetz eines 3D-Objektes), Lichter und Schatten. All diese Faktoren steigern die Menge der sogenannten Draw Calls. Draw Calls sind die einzelnen Render-Aufträge, die an den Grafik-Prozessor geschickt werden. Für die Darstellung eines Frames (= ein vollständiges Bildes einer Szene auf einem DIsplay) entsteht mindestens ein Draw Call für jedes Mesh. Ein weiterer Draw Call für jedes Material, dass ein Mesh benutzt. Zusätzliche Draw Calls entstehen, wenn ein Mesh von Licht oder Schlagschatten getroffen wird. Da sich diese Draw Calls nicht addieren, sondern multiplizieren (Meshes x Materialien x Lichter x Schatten), hat die Optimierung von 3D-Modellen einen ganz erheblichen Einfluss auf die Performance!

Idealerweise reduzieren Sie also Ihre 3D-Modelle auf möglichst wenige Meshes, von denen jedes nur ein Material benutzt und fügen keine Lichtquellen in Ihre Assets ein.

Skalierung in realer Größe

3D-Modelle werden in 3spin Learning in Originalgröße dargestellt – unabhängig vom Asset-Typ und dem Dateiformat.

Achten Sie daher auf eine korrekte Skalierung ("real-world scale") Ihrer 3D-Modelle, insbesondere wenn die 3D-Daten von Dritten stammen.

Die meisten 3D-Tools unterstützen das Modellieren in metrischen (Meter, Zentimeter, ...) oder imperialen (Fuß, Zoll, ...) Einheiten. Unity rechnet nur in "Units" – jedoch entspricht 1 Unit genau 1 Meter.

Koordinationsystem, Ursprungspunkte und Positionen im Raum

Die Positionen im Raum werden anhand eines Koordinatensystems mit drei Achsen abgebildet. Dabei beschreibt die X-Achse die Richtung "links-rechts", die Y-Achse die Richtung "oben-unten" und die Z-Achse "vorne-hinten".

Coordinates and Origins 1

Die Position (x = 0; y = 0; z = 0 ) heißt Nullpunkt, Ursprung oder world origin des Koordinatensystems.

So wie der Raum an sich, hat auch jedes 3D-Modell einen eigenen Ursprung ("object origin"). Anhand dieses Urspungspunktes (auch "Referenzpunkt", "Registrierungspunkt" oder "Pivot-Punkt") werden die 3D Assets im virtuellen Raum platziert. Daher ist es wichtig im Blick zu haben, wo sich die Ursprünge Ihrer 3D-Modelle in Bezug auf die Geometrie des Modells befinden.

Das folgende Beispiel illustriert den Zusammenhang zwischen Ursprungspunkt und Lage der Geometrie: Coordinates and Origins 2

Alle Objekte haben die gleiche Y-Position (gestrichelte Linie), d.h. ihre Ursprünge liegen alle auf der gleichen Höhe. Allerdings ist Objekt A unten aufgehängt, Objekt B oben und Objekt C in der Mitte. Daher erscheinen alle drei trotz gleicher Y-Position an verschiedenen Stellen.

Der Hocker im Beispiel hat seinen Ursprung unten, damit man ihn leicht auf dem Boden (y = 0) platzieren kann. Gegenüber dem Nullpunkt der Welt ist er 1 Meter nach rechts, also auf der X-Achse verschoben. Seine Koordinaten (in Metern) sind also x = 1; y = 0; z = 0.
3D-Models-Basics 3

3D Environments werden automatisch so positioniert, dass ihr Ursprung auf dem Nullpunkt des virtuellen Raumes liegt, also bei x=0; y=0 und z=0. Dies ist auch die voreingestellte Startposition eines Nutzers: Beim Laden der Szene steht der Benutzer auf dem Nullpunkt und schaut in Richtung der (positiven) Z-Achse.

Achten Sie bei 3D Environments darauf, dass der Boden auf y = 0 liegt und sich der Ursprung innerhalb der begehbaren Fläche Ihrer Umgebung befindet.

3D Objekte werden manuell im Raum platziert. Dabei bezieht sich ihre Position immer auf den Ursprung des Objektes. Achten Sie darauf, dass der Ursprung innerhalb des Objektes liegt.

Collider richtig einsetzen

Collider sind (unsichtbare) geometrische Formen, die für die Simulation von Physik in Echtzeit-3D-Anwendungen verwendet werden. Diese Collider sind im Vergleich zur sichtbaren Form (Geometrie, s.o.) stark vereinfacht, um Rechenleistung einzusparen.

Soll zum Beispiel geprüft werden, ob zwei Objekte sich berühren (Kollisionserkennung), wird schnell klar: Je einfacher die geometrische Form, desto leichter die Auswertung.

Im Bild sehen Sie rot dargestellt den einfachen "Box-Collider" eines Hockers.

Collider

In Unity können Sie Formen als Collider markieren. Im GLTF-Format verwenden Sie einfach das Tag "#collider" im Namen der Teile Ihres Modells, die als Collider fungieren sollen (s.u.).

Beachten Sie, dass nach innen gewölbte (konkave) Collider nicht funktionieren. Wenn Sie Objekte mit Löchern, Mulden o.Ä. – wie Truhen, Schubladen, Donuts – verwenden wollen, müssen Sie die "Hohlform" mit mehreren nach außen gewölbten (konvexen) Collidern darstellen.

3D-Basics Collider 2 

Collider müssen überall da verwendet werden, wo Nutzer mit einem Objekt interagieren sollen (Physik benötigt wird).

In 3D Environments muss der Boden einen Collider haben, damit Nutzer:innen sich in der Umgebung bewegen können. Ebenso empfehlen wir Wände und ggf. feste "Einrichtungsgegenstände" wie Tische, Schränke, Bäume usw. mit Collidern auszustatten.

3D Objekte müssen einen Collider haben, wenn Nutzer:innen mit ihnen interagieren sollen.

Alle 3D-Modelle, die keine Collider haben, sind zwar sichtbar, aber man kann sie nicht greifen, sich nicht darauf teleportieren, und sie können auch keine Physik haben.

Das heißt, um Behaviours für 3D-Modelle nutzen zu können, und um mit dem Objekt zu interagieren, sollten sie 3D Objekte mit einem Collider versehen.