-

Von CAD-Daten zu Low Poly Modellen für interaktive Anwendungen

Interaktive Anwendungen, ganz gleich ob AR auf dem Smartphone oder VR auf einem leistungsstarken Computer, ermöglichen Interaktion und eine emotionale Bindung, die durch das einfache Betrachten von Filmen oder Grafiken nicht zu erreichen ist. Der Nutzer steht nicht außerhalb, sondern wird zu einem Teil der Experience, indem er sie aktiv mitgestaltet. Er verschiebt und dreht Produkte, ändert den Lack seines Wunschfahrzeugs oder schraubt virtuelle Geräte auseinander.

Während jedoch Offline-Renderings, wie sie in unserem BLOG "Was ist CGI" zu sehen sind, im Voraus stunden-, tage- oder wochenlang berechnet werden müssen, generiert eine interaktive Anwendung oftmals 60 oder mehr Bilder pro Sekunde ohne eine spürbare Verzögerung. Dadurch kann sie jederzeit auf Veränderungen wie beispielsweise die Eingabe eines Nutzers reagieren. Diese Leistungsfähigkeit lässt sich nur durch unzählige Optimierungen erreichen. Glücklicherweise sind die Zeiten, in denen wir auf der ersten PlayStation eine kantige Lara Croft durch Katakomben bewegt haben, längst vorüber. Doch das bedeutet nicht, dass die Modelle, die wir in interaktiven Anwendungen benutzen, beliebig ineffizient sein dürfen.

Wie wir schon durch Modelle alter Spiele erahnen können, bestehen die 3D-Modelle, mit denen wir arbeiten, aus vielen kleinen Flächen, sogenannten Polygonen. Die erste Lara Croft zählte ca. 230 davon. Eine moderne Grafikkarte hingegen kann unter den richtigen Umständen mehrere Millionen verarbeiten.

Abbildung 1: simples Modell mit ca. 1000 Polygonen (links) und komplexes Model mit ca. 100.000 Polygonen (rechts)

Das Ausschöpfen dieser Möglichkeiten erscheint zunächst unrealistisch. Wenn CAD-Daten allerdings in detaillierte Polygon-Modelle umgewandelt werden, erreichen sie tatsächlich eine derartige Polygondichte. Wird die Komplexität dieser Modelle zu hoch, wirkt sich das auf die Leistungsfähigkeit der Anwendung aus – besonders, wenn das Budget nicht die Anschaffung von entsprechend teurer Hardware vorsieht. Womöglich möchten wir auch eine WebGL-Anwendung oder eine App zum Herunterladen bereitstellen, die jeder Nutzer auf seinem privaten Gerät aufruft. Dieser Anwendungsfall macht es uns unmöglich, prinzipiell eine leistungsstarke Hardware vorauszusetzen. Während also beispielsweise eine Szene mit 20.000.000 Polygonen für einen Film angemessen wäre, ist dort im interaktiven Bereich eine Reduzierung notwendig.

Dies geschieht über die sogenannte Retopologisierung (Retopo), bei der, basierend auf der hochdetaillierten Oberfläche, eine vereinfachte Oberfläche erstellt wird.

Je nach Grad der Reduzierung kann dieser Prozess automatisiert erfolgen und muss von CG-Artists lediglich evaluiert und korrigiert werden. Derzeit ist die menschliche Mustererkennung jedoch flexibler als die computergesteuerte Alternative. Ein versierter CG-Artist erkennt auf einen Blick die relevanten Aspekte eines Modells. Ein manuelles Retopo durchzuführen bedeutet zwar mehr Zeitaufwand, aber das automatische erzeugte Ergebnis wird hinsichtlich Ästhetik und Performanz deutlich übertroffen.

Abbildung 2: manuelle Retopologisierung in Autodesk Maya

Im nächsten Schritt, dem sogenannten „UV-Unwrapping“, werden die fertigen Modelle virtuell zerschnitten und aufgefaltet, ähnlich wie beim Basteln eines Würfels – nur eben rückwärts. Die zweidimensionale Fläche, die dadurch entsteht, können wir anschließend mit verschiedenen Texturen belegen.

Abbildung 3: Sofas (links) und deren Abdeckung auf der Textur (rechts)

Diese Texturen enthalten beispielsweise Informationen zu Farbe, Rauheit und Reflexionseigenschaften. Da sich idealerweise jede Stelle auf dem Modell eindeutig einer Stelle auf der Textur zuordnen lässt, können wir so individuelle Details darstellen, ganz gleich ob Materialübergänge, Unebenheiten, Symbole, Aufkleber, raue Kanten usw.

Abbildung 4: eine Nadel mit einheitlichem Material (jeweils links) und einer variierenden Textur (jeweils rechts)

Auf diese Beispiele sind die Texturen jedoch nicht beschränkt. Sie können sogar die Feinheiten des ursprünglichen, komplexen Modells zurückbringen. Dabei speichern sie die Ausrichtungen dieser Oberflächendetails in Farben. So kann das Licht darauf reagieren, ohne dafür weitere Polygone zu benötigen. Wir vereinen auf diese Art die Performanz des einfachen Modells mit der Ästhetik des komplexen Modells.

Abbildung 5: eine Textur mit Oberflächeninformation (links), einfache Modelle (oben rechts) und einfache Modelle mit dieser Textur (unten rechts)

Zusätzlich können Texturen eine vorberechnete Verschattung, die sogenannte Ambient Occlusion (AO), enthalten. Das erhöht den Kontrast und erleichtert es dem Nutzer, die Formen des gezeigten Modells schneller und besser einzuschätzen.

Abbildung 6: ein Modell ohne AO (links), die AO selbst (mittig), ein Modell, dessen Farben mit der AO multipliziert wurden (rechts)

Werden alle diese Möglichkeiten ausgeschöpft und auf ein CAD Modell angewendet, dann bekommt man ein performantes und sich flüssig bewegendes Low Poly Modell. Zusammen mit gut gemachten Texturen, führt es zu einer hervorragenden User Experience. Ganz gleich ob in AR Apps auf Mobilgeräten oder in VR Anwendungen. Eine flüssig laufende Anwendung macht Spaß und das entstehende, positive Gefühlt überträgt sich auf das Produkt und die Marke.

Ein paar Gedanken zum Einsatz von AR und VR in der Produktentwicklung oder im Businessumfeld, finden Sie in diesem BLOG.

Need Help?
Please Contact us.

We Would love
to hear about your project