Dies ist die Norm - 2: wie normale Karten gebacken werden

Dies ist der zweite Teil einer Reihe von Tutorials zu normalen Karten. Der erste Teil ist hier , aber um den zweiten Teil zu verstehen, muss er nicht gelesen werden.

Das allgemeine Prinzip beim Backen einer normalen Karte ist relativ einfach: Wir haben ein Lowpoly-Modell mit UV-Koordinaten und ein Highpoly-Modell; Wir ĂŒbertragen die normalen Informationen von HighPoly nach LowPoly. Dank dessen reflektiert lowpoly das Licht genauso wie highpoly.

WÀhrend dieses Vorgangs sendet das Backprogramm im Wesentlichen Strahlen aus dem Low-Poly aus, die den Normalen der Eckpunkte folgen und nach High-Poly suchen. Dies ist der wichtigste Aspekt beim Erstellen normaler Karten, und die meisten Probleme, die beim Arbeiten mit normalen Karten auftreten, hÀngen damit zusammen.

Wenn Sie die Normalen der Eckpunkte des Lowpoly-Modells nicht kontrollieren, verlieren Sie die Kontrolle ĂŒber die normale Karte.

Bild

Schlechte Korrelation von normalen Karten


Um die GlĂ€ttung des Lowpoly-Modells zu steuern, mĂŒssen die Scheitelpunkte (um starre Kanten zu erstellen) oder die gemittelten Scheitelpunkte (um glatte Kanten zu erstellen) normal geteilt werden.

Wie sich herausstellte, verwenden nicht alle 3D-Programme die gleichen Berechnungen, um Scheitelpunktnormalen zu mitteln. Dies bedeutet, dass in verschiedenen 3D-Editoren das Lowpoly-Modell anders aussieht und seine Scheitelpunktnormalen leicht in unterschiedliche Richtungen weisen. In der Regel ist dies kein großes Problem, da diese Abweichungen sehr gering sind, sich jedoch auf das Erscheinungsbild des Modells auswirken. Diese Unterschiede werden bei der Verwendung von normalen Karten noch verstĂ€rkt, da normale Karten die Normalen von LowPoly-Modellen Ă€ndern, die in verschiedenen Programmen unterschiedlich sind.

Bild

Die 3D-Grafikindustrie arbeitet daran, dieses Problem zu beheben. KĂŒrzlich ist ein Standard namens Mikk Space erschienen. Dies ist eine Methode zur Berechnung von Scheitelpunktnormalen, mit der alle 3D-Anwendungen die Scheitelpunktnormalen in allen 3D-Programmen gleich aussehen lassen können. Es ist jedoch zu beachten, dass es bisher nicht in allen 3D-Anwendungen verwendet wird.

Eine andere Möglichkeit, diesen Effekt zu verringern, besteht darin, sich beim Backen nicht sehr auf normale Karten zu verlassen. Versuchen Sie, das Low-Poly-Modell eher wie ein High-Poly-Modell auszusehen, und verwenden Sie steifere Kanten auf ebenen FlĂ€chen. In diesem Fall muss die normale Karte nicht alle Arbeiten ausfĂŒhren, und kleine Abweichungen werden weniger auffĂ€llig.

Details der normalen Karte abschrÀgen


Wenn der Computer die Richtung der Normalen fĂŒr die Normalen der Scheitelpunkte des Lowpoly-Modells mittelt, können große Änderungen der OberflĂ€chenwinkel die Normalen des Lowpoly-Modells "quetschen" und sie sind nicht mehr senkrecht zur Lowpoly-OberflĂ€che.


Da das normale Backprogramm bei der Suche nach Teilen mit hohem Polyamidanteil die normalen Richtungen mit niedrigem Polyamidanteil verwendet und diese Richtungen abgeschrÀgt sind, sehen sie auf der normalen Karte abgeschrÀgt aus:

Bild

Dies ist ein sehr verbreitetes Problem, fĂŒr das mehrere Lösungen gefunden wurden. Es gibt keine ideale Lösung, alles hĂ€ngt von der Geometrie ab.

1. In einigen 3D-Backprogrammen besteht die Möglichkeit, diese Teile mit einer vorĂŒbergehenden Änderung der Low-Poly-Normalen erneut zu backen, so dass sie ohne AbschrĂ€gung backen. Eine solche Option gibt es zum Beispiel in der Marmoset Toolbag. Ein Benutzer von Reddit mit dem Spitznamen Tanagashi erklĂ€rte mir freundlicherweise, dass einige Programme wie xNormal LowPoly tessellieren können, um neue Scheitelpunkte hinzuzufĂŒgen und Normalen senkrecht zur LowPoly-OberflĂ€che zu erstellen, die Normalen-Map im Objektraum zu backen und sie dann basierend auf den ursprĂŒnglichen LowPoly-Normalen in Tangentenraum umzuwandeln. Unter Verwendung der neuen normalen Karte kann das Programm Masken erstellen, um zu steuern, wo die ursprĂŒngliche normale Karte verwendet und wo sie aus dem tessellierten Lowpoly-Modell erstellt wird.

Bild

2. Durch HinzufĂŒgen von Scheitelpunkten wird der Übergang zwischen den Normalen der Scheitelpunkte weniger schrĂ€g, da ein Winkel von 90 ° in mehrere kleinere Grad unterteilt wird, wodurch der zweite Übergang weniger schrĂ€g wird. Dies erhöht natĂŒrlich die Anzahl der Polygone. Wenn Sie Geometrie hinzufĂŒgen, empfehle ich, diese Add-Ons zu verwenden, um eine interessantere Modellsilhouette zu erstellen.

Bild

Bild

3. Trennung der Durchschnittsnormalen der Scheitelpunkte (Steifwerden der Kante / Verwendung separater GlĂ€ttungsgruppen): Auf diese Weise weist jeder Scheitelpunkt mehrere Normalen auf, von denen jede senkrecht zur Lowpoly-OberflĂ€che verlĂ€uft. Vergessen Sie nicht, dass ein 3D-Programm mit einer geteilten Scheitelpunktnormalen tatsĂ€chlich ein Duplikat des Scheitelpunkts erstellt, wodurch die Anzahl der Scheitelpunkte erhöht und die Leistung leicht verringert wird. DarĂŒber hinaus verursachen steife Rippen, wie wir spĂ€ter sehen werden, das Problem der „schwarzen Rippen“.

Bild

4. Sie können die Modellnormalen Àndern, um die Low-Poly-Normalen so zu biegen, dass sie senkrecht zu den High-Poly-Normalen sind. Denken Sie daran, dass nicht alle Programme die Verwendung geÀnderter Normalen zulassen (in Zbrush gibt es nur Durchschnittsnormalen, OBJ-Dateien und veraltete FBX-Dateien enthalten keine speziellen Informationen zu Normalen). TatsÀchlich gibt es zwei Möglichkeiten, die Normalen zu Àndern:

  • Gewichtete Normalen: Dies ist eine automatische Methode, die den durchschnittlichen Scheitelpunktnormalen Ă€hnelt. Die Idee ist, dass beim Mitteln der Normalen der Eckpunkte nicht alle FlĂ€chen die gleiche StĂ€rke haben sollten: Große FlĂ€chen ziehen die Normalen der Eckpunkte stĂ€rker an sich als kleine FlĂ€chen. Aus diesem Grund erhalten große Gesichter, die normalerweise wichtiger sind, eine bessere Detailprojektion. Dies funktioniert besonders gut bei Highpoly-Platten.

    Bild
  • Benutzerdefinierte Normalen: Mit den Werkzeugen des 3D-Editors können Low-Poly-Normalen gebogen werden. Dies ist eine relativ neue Idee, fĂŒr deren Implementierung es keine standardisierten Tools gibt. Denken Sie daran, dass Biegungsnormalen an anderen Stellen des Modells sehr seltsame unerwĂŒnschte Schattierungen verursachen können. Daher wird diese Technik normalerweise mit SchrĂ€gen kombiniert. Einige Leute nennen diese Technik "Midpoly-Modellierung".

    Bild

KĂ€fig / Backstrecke


StandardmĂ€ĂŸig legen von einer Lowpoly-OberflĂ€che emittierte Strahlen eine begrenzte Entfernung zurĂŒck, so dass das Lowpoly keine normalen Informationen von entfernten Teilen des Highpoly empfĂ€ngt. Diese Distanz wird ĂŒblicherweise als "Frontal / Rear-Distanz" bezeichnet, da die Strahlen in Richtung nach innen, nach außen oder in beide Richtungen emittiert werden können. In der folgenden Abbildung ist dieser Abstand rot dargestellt:

Bild

Einige 3D-Anwendungen (wie 3ds Max) ermöglichen auch die Verwendung eines KĂ€figs. Cage ist eine „Kopie“ eines Lowpoly-Modells, das so modifiziert werden kann, dass es idealerweise ein Highpoly enthĂ€lt. In einigen FĂ€llen (nicht immer) können wir die Richtung der Strahlen Ă€ndern, ohne die Anfangsnormalen der Low-Poly-Vertices zu Ă€ndern. Dies kann dazu beitragen, die besten GrenzfĂ€lle fĂŒr das Backen zu finden und Fasen zu vermeiden. Wir mĂŒssen uns jedoch daran erinnern, dass wir beim Backen nicht die Richtung der Scheitelpunkte der Normalen verwenden, sondern am Ende die Normalen-Map verwenden, um die wahren Lowpoly-Normalen zu Ă€ndern, sodass das Ergebnis möglicherweise seltsam aussieht.

Bild

RippnÀhte


Wie wir gesehen haben, teilt das Backprogramm die Scheitelpunktnormale zwischen zwei FlÀchen auf, wenn es ein Modell mit starren Kanten gibt (einige Kanten haben mehr als eine GlÀttungsgruppe oder einige Kanten sind als "hart" markiert). Diese Operation hat gute und schlechte Seiten.

Das Gute daran ist, dass die Normalen nicht gemittelt werden, sodass die Normalen weniger verzerrt sind: Die Normalen der Scheitelpunkte verlaufen vollstĂ€ndig senkrecht zur Lowpoly-OberflĂ€che. Es kann Lowpoly auch schöner machen, wenn es Kanten in spitzen Winkeln hat, die fĂŒr steife Kanten besser geeignet sind.

Das Schlimme ist, dass es jetzt eine LĂŒcke zwischen Normalen gibt, und dies kann bedeuten, dass wir Informationen verlieren können, wenn LowPoly eine LĂŒcke in Normalen hat, in denen es keine HighPoly-Details bekommen kann. DarĂŒber hinaus können sich einige Teile der Lowpoly-Projektion schneiden und um denselben UV-Raum konkurrieren. Beide Effekte erzeugen eine Naht entlang der Rippe, deren Sichtbarkeit vom Motor abhĂ€ngt.

Bild

Dies kann jedoch mit einem einfachen Trick leicht vermieden werden: Wenn zwei Gesichter durch eine harte Kante getrennt sind, mĂŒssen Sie jedes Gesicht auf einer separaten UV-Insel platzieren, wobei zwischen ihnen ein Abstand verbleibt. Um die Auswirkung des Problems der geteilten Normalen zu verringern, versuchen Backprogramme ein wenig zusĂ€tzliche Informationen außerhalb der Eckpunkte der Normalen, aber dafĂŒr benötigen sie zusĂ€tzlichen Platz auf der Textur. Wenn die durch eine harte Kante getrennten FlĂ€chen im UV-Bereich verbunden sind, kann diese zusĂ€tzliche Information nicht in der Textur gespeichert werden.

Bild

Bild

Fazit


Nachdem ich das Low-Poly-Modell vorbereitet und dem High-Poly-Modell so nahe wie möglich gebracht habe, beginne ich mit dem GlĂ€tten vor dem UV. Ich stelle die GlĂ€ttung fĂŒr LowPoly ein (wenn das Objekt organisch ist, beginne ich mit einem vollstĂ€ndig geglĂ€tteten Modell, wenn es eine feste OberflĂ€che hat, stelle ich den GlĂ€ttungswinkel auf 30-60Âș ein und passe die GlĂ€ttung an, bis das Ergebnis gut aussieht).

Nachdem ich das GlÀtten des Modells vorbereitet habe, beginne ich mit der UV-Bearbeitung und teile alle harten Kanten in separate UV-Inseln auf (um NÀhte an den Kanten zu vermeiden).

Wenn es Fehler mit AbschrĂ€gungen gibt, fĂŒge ich zusĂ€tzliche Kanten hinzu (normalerweise mache ich AbschrĂ€gungen, um die Rundheit der Silhouette zu erhalten). Dies funktioniert fĂŒr die meisten meiner Modelle, aber ich kann Fehler mit SchrĂ€gen korrigieren, wenn ich den Marmoset Toolbag zum Backen oder meine eigenen / gewichteten Normalen verwende.

Bei Projektionsfehlern Àndere ich den Backabstand / KÀfig, modifiziere das Lopoly / Highpoly so, dass sie sich besser zum Backen eignen, oder lösche normale Karten auf separaten sehr starren Teilen, zum Beispiel an den Enden von Kegeln.

Der nÀchste Artikel wird eine Anleitung zum Beheben von Problemen beim Backen normaler Karten und zum Erörtern der hÀufigsten Probleme und Lösungen enthalten.

Source: https://habr.com/ru/post/de481704/


All Articles