Basic 'Retopo' of a terrain in Blender

Blenders Standard-Render-Engine, „Blender Render“ oder „Blender Internal“, wie es oft genannt wird, enthält ein dediziertes Subsystem, mit dem verschiedene Arten von Imagemaps generiert werden können, typischerweise eines Objekts an sich (direkt oder Selbst- Referenzierung) oder durch Übersetzung der Details eines in ein anderes (indirekte oder abgeleitete Referenzierung). Dieser letztere Ansatz wird am häufigsten verwendet, um normale Karten zu erstellen, ein Prozess, bei dem das Detail eines hochauflösenden Modells auf ein Bild gerendert oder „gebacken“ wird, bevor es einer Version mit niedriger Auflösung desselben Netzes zugeordnet wird.

Das folgende Tutorial beschreibt diesen Prozess der Verwendung von „Blender Render“ und dem „Texture Bake“ -Subsystem, um eine normale Karte aus einem hochauflösenden Netz zu generieren. Ein grundlegendes Verständnis von Blender ist nützlich, aber nicht unbedingt notwendig, um das Beste aus dem Folgenden herauszuholen.

Design Note: Der „Texture Bake“-Prozess ist im Prinzip der gleiche wie bei Blender 2.49 oder unter Verwendung von Zyklen, obwohl es sich im Prozess etwas unterscheidet. d.h. welche Tasten wann und wo gedrückt werden.

Low-Poly-Netzvorbereitung ^

Das Backen eines Netzes zur Erzeugung einer normalen Karte ist normalerweise ein vergleichbarer Prozess, bei dem Strukturdaten aus einem hochauflösenden Netz in ein Bild gerendert werden, das einem Faksimile mit niedriger Auflösung zugeordnet ist. Speziell für normale Karten bedeutet der Prozess im Wesentlichen, Oberflächendaten in eine Reihe von „R“ -, „G“ – und „B“ -Farbwerten („rot“, „grün“ und „blau“) zu übersetzen, die jeweils die Orientierung einer einzelnen Flächennormalen darstellen.

Design Note: Die „Normal“ -Komponente in „Normal Map“ bezieht sich auf „X“-, „Y“ – und „Z“ -Koordinatenwerte, die die Ausrichtung einer bestimmten „Fläche“ angeben. In Blender kann dies angezeigt oder visualisiert werden, indem „Normale“ in „Mesh Display“ („View Properties“, „N“) aktiviert und eine beliebige oder Kombination von „Vertex“ -, „Edge“ – oder „Face“ -Normalen ausgewählt wird (die Aktivierung von Normalen auf hochauflösenden Maschen kann zu erheblichen Leistungsproblemen führen).

Damit das Backen von Texturen funktioniert und normalisierte Werte korrekt berechnet werden können, ist es wichtig, dass die Netze mit hoher und niedriger Auflösung im Voraus korrekt vorbereitet werden. Im Wesentlichen müssen beide Netze sein; 1) co-located, dh beide an der gleichen Stelle; 2) haben ihre jeweiligen Ursprungspunkte ähnlich co-located; 3) ihre jeweiligen „Scale:“ und „Dimensions:“ Datensatz; und 4) (ungefähr) die gleiche Größe haben.

Entwurfshinweis: unfixierte oder anderweitig unterschiedliche Strukturen können Probleme beim Texturbacken und anderen ‚interpretativen‘ Prozessen verursachen, bei denen ‚Gleichheit‘ die Grundlage ist, auf der Operationen ausgeführt werden. Daher sollten sowohl Netze mit niedriger als auch mit hoher Auflösung mit „Apply“ – „Ctrl+A “ Rotation and Scale“ eingestellt“ oder „fixed“ werden. Es ist auch vorzuziehen, alle oben genannten Vorbereitungen vor dem Backen durchführen zu lassen, um Probleme oder die Notwendigkeit zusätzlicher Arbeiten im Nachhinein zu vermeiden.

 Low- und High-Poly-Versionen desselben Objekts

Stellen Sie vor dem Backen sicher, dass sowohl ein Netz mit niedriger als auch mit HOHER Auflösung verfügbar ist, die beide dieselbe Position einnehmen, dieselbe Größe haben, dieselben Ursprungspunkte haben und ‚fixiert‘ sein sollten (aus Gründen der Übersichtlichkeit oben nebeneinander dargestellt – beim Rendern befinden sie sich nebeneinander und sitzen übereinander. „Alle Kanten zeichnen“ ist auch in den Eigenschaften „Objekt“ aktiv, um Struktur- oder Dichteunterschiede zwischen den beiden Versionen hervorzuheben)

Darüber hinaus MUSS das Netz mit niedriger Auflösung vollständig „UV-abgebildet“ werden, wobei ein „Bild“ zugewiesen wird, das entweder auf „generierten“ oder „Bitmap“ -basierten Daten basiert – die Karte selbst dient als Leitfaden, innerhalb dessen Bilddaten gebacken werden, das Bild als „Substrat“ oder „Leinwand“, auf die dies angewendet wird.

Entwurfshinweis: das Obige geht davon aus, dass der Backprozess nur zur Herstellung einer normalen Karte dient, die unabhängig von den Materialien ist, mit denen sie möglicherweise verknüpft ist: Sie kann generiert werden, ohne dass dem Netz ein vollständiges Material zugewiesen werden muss. Wenn ein Material benötigt wird (da die resultierende normale Karte unmittelbar nach dem Backen Teil eines „Live“ -Datenblocks sein soll), klicken Sie bei ausgewähltem Netz mit niedriger Auflösung in den Eigenschaften auf die Schaltfläche „Material“. Das angezeigte Bedienfeld sollte leer sein. Wenn dies der Fall ist, klicken Sie auf „+ Neu“, um einen bestückten Materialsteckplatz zu generieren. Lassen Sie dies wie es ist und klicken Sie dann auf die Schaltfläche „Textur“. Wenn kein Eintrag vorhanden ist, klicken Sie erneut auf „+ Neu“, um einen Eintrag zu erstellen. Ändern Sie hier „Typ:“ in „Bild oder Film“ und klicken Sie dann im Unterabschnitt „Bild“ auf die Schaltfläche „Zu verknüpfendes Bild durchsuchen“ (Schaltfläche mit einem Querformatbildsymbol – klicken Sie nicht auf „+ Neu“ oder „Öffnen“). Wählen Sie in der angezeigten Dropdown-Menüliste das zuvor generierte und dem Netz zugewiesene Bild aus, um es dem Material zuzuweisen, das zum Backen bereit ist. Weitere Informationen zum Einrichten von Materialien finden Sie hier.

Um das ‚Bild‘ zu erstellen, klicken Sie im „UV / Image Editor“ auf die Menüoption „Image“ in der Kopfzeile und dann auf „New Image“, um auf das Popup „image properties“ zuzugreifen (alternativ klicken Sie auf die Schaltfläche „+ New“, die auch in der Kopfzeile sichtbar ist). Legen Sie einen „Namen“ fest (oder lassen Sie den automatisch generierten Wert an Ort und Stelle, normalerweise „Ohne Titel“), ändern Sie die „Breite:“ und „Höhe:“ nach Bedarf basierend auf der Form und Größe des Netzes, dem erwarteten Layout der UV-Karte (z. B. „1024“ von „1024“) oder der Größe des erforderlichen Bildes. Stellen Sie den „Stil“ des zu verwendenden Bildes ein, indem Sie entweder „Farbraster“, „UV-Raster“ oder „Leer“ aus der Auswahl „Generierter Typ“ auswählen, und klicken Sie dann auf „OK“, um zu bestätigen und zu generieren. Das neue Bild erscheint sofort im UV- / Bildeditor und belegt das, was zuvor ein leeres „Texturraster“ war.

Design Note: Der einzige signifikante Unterschied zwischen „Color Grid“, „UV Grid“ und „Blank“ besteht darin, ob ein Muster oder eine einheitliche (Einzel-)Farbe angezeigt wird; letzteres macht es tendenziell einfacher, das UV beim Auspacken und Bearbeiten zu sehen, während erstere die Verteilung und relative Bilddichte über das Netz leichter erkennen lassen – idealerweise sollten ihre jeweiligen Muster gleichmäßig verteilt sein, insbesondere in Bereichen, die für den Betrachter / Spieler sofort sichtbar sind. Um den UV-Bearbeitungsprozess zu unterstützen, können die verschiedenen Bildtypen hin und her getauscht werden, um den UV-Bearbeitungsprozess zu vereinfachen – zum Beispiel mit „Blank“, um die anfängliche UV-Karte anzuzeigen, und dann mit „UV Grid“, um die Verteilung zu überprüfen. Klicken Sie dazu im UV- / Bildeditor auf „Ansicht “ Eigenschaften“, um auf die Bildeigenschaften zuzugreifen. (oder drücken Sie „N“ mit dem Cursor über die aktive Ansicht) und klicken Sie dann nach Bedarf auf die Schaltflächen „Farbraster“, „UV-Raster“ oder „Leer“.

 Generieren eines neuen "Bildes", das direkt der Low-Poly-Mesh-UV-Karte zugewiesen wird

Generieren eines neuen Bildes, das ohne Verwendung von Materialien direkt dem UV zugewiesen wird; das Netz mit niedriger Auflösung wird im Bearbeitungsmodus angezeigt, um die UV-Karte vor der Texturanwendung anzuzeigen – die Karte ist leicht verzerrt, da der standardmäßige „Texturraum“ (Raster) quadratisch ist (hohe Auflösung mit „Alle Kanten zeichnen“), um strukturelle Unterschiede hervorzuheben)

Wenn das Netz noch nicht entpackt wurde, drücken Sie während der Auswahl „Tab“, um in den Bearbeitungsmodus zu gelangen, „A“, um alles auszuwählen (oder klicken Sie im 3D-Ansichtskopf auf „Auswählen “ (De) Alles auswählen“), bevor Sie schließlich „U“ drücken und „Entpacken“ aus dem Popup-Menü „UV-Karte“ auswählen. Dadurch wird eine anfängliche Karte generiert, der das zuvor erstellte Bild zugeordnet werden kann, bevor das Netz zum besseren Auspacken bearbeitet und mit Nähten markiert wird.

Design Note: UV Unwrapping ist ein selektionsbasierter Prozess, nur beim Unwrap hervorgehobene Flächen erzeugen eine Map, der ein Bild zugeordnet werden kann, ansonsten erscheinen Oberflächen ‚weiß‘ (kein Material/UV Map) oder ‚pink‘ (fehlendes Bild). Sobald die anfängliche Karte generiert wurde, kann sie wie gewohnt mit Nähten bearbeitet werden, um die KARTE zu teilen und flach zu legen.

 Anfängliche UV-Karte des niedrig aufgelösten Netzes

, das im Layout „UV-Bearbeitung“ angezeigt wird (ausgewählt aus „Bildschirmlayout auswählen“ in der oberen Kopf- / Infoleiste), wird das anfängliche UV des Objekts auf ein quadratisches Raster abgebildet, die UV- / Bildeditoren verwenden standardmäßig „Texturraum“ – dies passt sich automatisch neu an, wenn ein Bild mit den zugeordneten UVs verknüpft ist. Beachten Sie auch, dass ein Bild, das dem Objekt noch zugewiesen werden muss, in der 3D-Ansicht

weiß erscheint, während das Netz noch ausgewählt ist, klicken Sie im UV / Bild-Editor auf die Schaltfläche „Bild zum Objekt durchsuchen“ in der Kopfzeile (Symbol mit einem „Foto“) und wählen Sie das zuvor erstellte Bild aus der Liste „Durchsuchen“ aus, die angezeigt wird, und weisen Sie es der UV-Karte und dem Netz zu (das in der 3D-Ansicht angezeigt wird, sofern es sich im „Textur“ -Modus befindet, „Alt + Z“). Es ist wichtig, dass das Low-Poly-Objekt vollständig ausgepackt wird, bevor Sie fortfahren, da die Karte selbst, ihre Form und Abdeckung, verwendet wird, um den Prozess zu leiten, es fungiert als eine Art Vorlage, in die die RGB-Daten aus dem hochauflösenden Netz eingebrannt werden.

Design Note: Das Bild kann vor oder nach dem Erzeugen und Bearbeiten der UV-Karte zugewiesen werden. Wenn dies jedoch danach erfolgt, kann eine Anpassung der UV-Karte erforderlich sein, wenn das verwendete Bild nicht quadratisch ist (das Texturraster ist quadratisch, sodass die UV-Karte erweitert wird, wenn sie einem breiteren Bild zugewiesen wird). Um den allgemeinen Prozess der Bearbeitung der UV-Karte zu unterstützen, hilft das Aktivieren von „An Pixeln ausrichten“, indem sichergestellt wird, dass die Netzscheitelpunkte an Texturpixeln ausgerichtet sind – wenn das gesamte Netz im Bearbeitungsmodus ausgewählt ist, um die UV’s freizulegen, klicken Sie im UV / Bild-Editor auf „UV’s“ und dann auf „An Pixeln ausrichten“.

 Zuvor erstelltes Bild auswählen

Das zuvor generierte Bild im UV / Bild-Editor auswählen, um es der anfänglichen UV-Karte zuzuweisen (angezeigt) innerhalb des standardmäßigen quadratischen Bereichs „Texturraum“ – klicken Sie auf die Schaltfläche „Zu verknüpfendes Bild durchsuchen“ Auswählen des Eintrags aus der Liste (in diesem Fall „Ohne Titel“)

Low-Poly-Mesh UV, das dem generierten Bild zugeordnet ist

Stellen Sie sicher, dass das Low-Poly-Mesh vollständig UV-entpackt ist und ein Bild (ein „generiertes“ Bild im obigen Beispiel), bevor Sie fortfahren (Mesh im Bearbeitungsmodus angezeigt und ausgewählt anzeige der UV-Karte und des Bildes im UV- / Bildeditor über das Bildschirmlayout „UV-Bearbeitung)

Vorbereitung des High-Poly-Netzes ^

Das hochauflösende Netz benötigt dagegen nur wenig zusätzliche Vorbereitung, außer sicherzustellen, dass Größe / Dimension, Position und Ursprung mit dem Faksimile mit niedriger Auflösung übereinstimmen – es sind keine Materialien, Bilder oder UV-Entpackungen erforderlich. Hochauflösende Netze können mit oder ohne Modifikatoren verwendet werden, daher ist es nicht unbedingt erforderlich, dass die Modifikatoren „Multires“ oder „Subdivision Surface“ zuvor auf das Netz angewendet werden (klicken Sie in jedem Modifikatorfenster auf „Übernehmen“). Mesh-Daten können in ihrer ursprünglichen „quadratischen“ Form oder optional tesselliert (trianguliert), „Strg + T“, vor dem Backen dargestellt werden. Dies ist jedoch nicht unbedingt erforderlich, damit der Prozess funktioniert.

Entwurfshinweis: für hochauflösende Netze bietet die Tessellation möglicherweise keinen signifikanten Vorteil, da auf dem Netz weitaus mehr Oberflächenvolumen vorhanden wäre, als auf dem zugewiesenen Bild für eine 1: 1-Oberflächen- / Pixelkorrelation verfügbar ist (die Genauigkeit der resultierenden Normalenkarte relativ zu den gebackenen Daten wird durch die Größe des dem Modell zugeordneten Bildes definiert – kleinere Bilder bedeuten weniger Pixelraum zum Backen, was die Genauigkeit in Detail und Struktur verringert). Dies kann das Risiko von Backfehlern erhöhen, wenn der Renderprozess Schwierigkeiten hat zu bestimmen, ob eine nicht geteilte Fläche konkav oder konvex ist, was zu falsch gebackenen RGB-Werten führt.

 Das hochauflösende Netz kann unterteilt werden oder ein "Multires" -Modifikator zugewiesen werden

Das hochauflösende Netz (ausgewählt und angezeigt mit „Alle Linien zeichnen“ aktiv) kann manuell „unterteilt“ werden (z. „Subdivide“ in „Tools“) oder Zuweisen des Modifikators „Subdivision Surface“ oder „Multires“, entweder „fixed“ oder „unfixed“ (die Modifikatoreigenschaften werden angewendet und „real gemacht“) vor dem Backen

Texture Bake ^

Sobald das Netz UV-abgebildet und ein Bild zugewiesen wurde, klicken Sie auf die Schaltfläche „Render“ -Eigenschaften („camera“ -Symbol). Scrollen Sie nach unten zum Unterabschnitt „Backen“ am unteren Rand des Bedienfelds und klicken Sie auf das schwarze Dreieck links neben den Überschriften, um auf die jeweiligen Eigenschaften und Optionen zuzugreifen. Ändern Sie hier „Bake Type:“ in „Normal“ („Bake Type: Normal“, zeigt standardmäßig „Full Render“ an) und aktivieren Sie „Selected to Active“, indem Sie auf das Kontrollkästchen klicken, damit Blender weiß, dass die normale Karte mit dem Netzpaar mit niedriger / hoher Auflösung erstellt werden soll.

Design Note: Wenn Sie die „Bake“ -Einstellungen aktivieren, ist es auch ratsam, „Clear“ einzustellen, damit der Prozess im Wesentlichen das Bild löscht und die Daten beim erneuten Backen nach Anpassungen „wie neu“ backt, wo nötig. Ferner kann „Margin:“ auf einen höheren Wert gesetzt werden, d. H. „16 px“, um UV-Positionen relativ zueinander zu kompensieren, wo das resultierende Bild mit Mipmaps verwendet werden soll; wenn Mipmaps kleiner werden, verringert sich der Abstand zwischen den UV-Inseln, so dass ein größerer Anfangswert verwendet wird, um den nachfolgenden Pixelverlust aufgrund der Bildgrößenreduzierung auszugleichen – dieser Wert hängt von der tatsächlichen Größe der Texturen ab, ein 16px-Rand verwendet eine erhebliche Menge an Platz auf einem 128 x 128 Pixel großen Bild, aber sehr wenig auf einem 2048 x 2048 Bild. Passen Sie den Wert „Margin:“ entsprechend an.

 Standard 'Bake'-EigenschaftenBake-Einstellungen für normale Karten

Wechseln Sie zu „Render“ -Eigenschaften und scrollen Sie ganz nach unten, um auf die „Bake“ -Systemoptionen und -einstellungen zuzugreifen (Standardeinstellungen im ersten Bild oben). Ändern Sie „Bake Type:“ in „Normal“ und aktivieren Sie „Selected to Active“, damit Blender weiß, wie die normale Karte generiert werden soll. Hinweis Netze werden so positioniert, wie sie für das Rendern sein sollten, zusammen verschoben, so dass sie die gleiche Position im Raster einnehmen, wichtig für „Like-for-like“ Textur Backen

Schließlich in der 3D-Ansicht stellen Sie sicher, dass Sie das hochauflösende Netz ZUERST auswählen und das Netz mit niedriger Auflösung ZULETZT – die Reihenfolge ist wichtig – klicken Sie dann auf die Schaltfläche „Backen“, um die Karte zu generieren. In der Kopfzeile „Info“ über der Anwendung wird ein Fortschrittsbalken angezeigt, der nach Abschluss des Vorgangs verschwindet.

Entwurfshinweis: die Reihenfolge, in der Objekte ausgewählt werden, stellt sicher, dass das Rendern korrekt erfolgt; Das Netz mit niedriger Auflösung, das dem Bild zugewiesene Element, sollte immer das ZULETZT ausgewählte Element (Multi) sein („Shift + RMB“), da sonst der Prozess fehlschlägt.

 Klicken Sie auf "Backen", um die hohe Auflösung auf das Low-Poly-Bild zu rendern

Stellen Sie sicher, dass das Netz mit niedriger Auflösung ZULETZT ausgewählt ist (sollte aktives Objekt sein), und klicken Sie dann auf die Schaltfläche „Backen“, um die Normalkarte zu generieren – In der Kopfzeile „Info“ wird ein Fortschrittsbalken angezeigt, der den Renderstatus anzeigt

Die resultierende zuvor gerenderte Normalkarte

Die resultierende Normalkarte wurde in das Bild gebacken, das zuvor dem Netz mit niedriger Auflösung zugeordnet einem Objekt für den Spielgebrauch zugeordnet – beachten Sie, dass das Bild nach dem Speichern re-normalized, um den grauen Hintergrund zu entfernen und sicherzustellen, dass er nur normalisierte RGB-Farbwerte enthält, da er sonst Probleme verursachen kann, wenn er im Spiel verwendet wird (‚Grau‘ ist keine normalisierte Farbe)

Speichern Sie die gebackene Textur ^

Sobald das Backen abgeschlossen ist, wird die resultierende normale Karte im UV- / Bildeditor angezeigt, wo sie dann gespeichert werden kann. Um dies zu tun aus dem UV / Bild-Editor, klicken Sie auf „Bild “ Als Bild speichern“ oder „Bild “ Eine Kopie speichern“, entweder Option öffnet den „Datei-Browser“. Wählen Sie unten links im Eigenschaftenbereich „Als Bild speichern“ ein geeignetes Bildformat aus, vorzugsweise „verlustfrei“ wie „BMP“ oder „Targa RAW“. Navigieren Sie zu dem Speicherort, an dem die Datei gespeichert werden soll, und klicken Sie dann oben rechts auf die Schaltfläche „Als Bild speichern“. Blender pausiert, wenn die temporären Backdaten in die Datei geschrieben werden, und kehrt dann zur vorherigen Ansicht zurück.

Design Note: Der Unterschied zwischen „Als Bild speichern“ und „Kopie speichern“ besteht darin, dass erstere die Backdaten in einem geeigneten Format speichern, indem Sie die neue Datei verwenden, um das zu überschreiben, was sich derzeit im Material befindet und dem Netz zugeordnet ist. Während letzteres eine ‚Kopie‘ derselben Backdaten speichert und alles, was bis zum main * aktiv ist, an Ort und Stelle belässt.die Datei wird gespeichert oder neu geladen – die Daten sind temporärer Natur, da sie dabei verloren gehen (in einen temporären Daten- / Bildpuffer abgelegt).

 Speichern Sie das gebackene Bild aus dem UV / Bildeditor

Klicken Sie im UV / Bildeditor auf „Bild*“ und dann auf „Als Bild speichern“ oder „Kopie speichern“, um die Daten in einem verwendbaren Format zu speichern (das an die Menüoption „Bild“ angehängte „*“ in der Kopfzeile zeigt an, dass die Daten noch nicht gespeichert wurden, sobald dies geschehen ist)

Speichern des gebackenen Bildes mit dem "Dateibrowser"

Wählen Sie im sich öffnenden „Dateibrowser“ ein verlustfreies Format zum Speichern des Bildes Navigieren Sie im Optionsdialog unten links, z. B. „BMP“ oder „Targa RAW“, zu einem Speicherort, an dem die Datei gespeichert werden soll, klicken Sie dann oben rechts auf „Als Bild speichern“. Blender kehrt dann zum vorherigen Bildschirm zurück, sobald

Defekte Renderings ^

Während des Backvorgangs ist es nicht ungewöhnlich, dass Renderings Artefakte aufweisen, die auf Unterschiede zwischen den Netzen mit hoher und niedriger Auflösung und dem Ursprungspunkt zurückzuführen sind, von dem aus die zur Analyse des Netzes verwendeten Strahlen geworfen werden.

 Ausgleich von Unterschieden zwischen Netzen mit hoher und niedriger Auflösung

Der Unterschied zwischen den Netzen mit niedriger und hoher Auflösung muss beim Backen berücksichtigt werden, da sonst der Rendervorgang dazu führt, dass Bilder beschädigt werden oder andere Formen visueller Aberration aufweisen, wodurch die normale Karte im Wesentlichen unbrauchbar wird

Mit anderen Worten, wenn Netzpaarungen mit niedriger / hoher Auflösung für das Backen normaler Karten erstellt werden, wird erwartet, dass ein gewisses Maß an koplanare Oberflächen, Überlappungen oder Vorsprünge – Nieten, Schrauben und andere Merkmale können genau oben oder unten sitzen, das Low-Poly-Netz, so dass, wenn der Backprozess auf diese Arten von Strukturen stößt, diese versehentlich abgeschnitten oder falsch gerendert werden können, weil der Punkt, von dem aus das Backen eingeleitet wird, zu nahe an einer Oberfläche liegt. Das Ergebnis ist typischerweise ein defektes oder unvollständiges Rendering der Struktur.

Die resultierende, vollständig gerenderte Normalkarte

Die Verwendung der Standardwerte zum Backen von Normalkarten kann zu Bildartefakten führen (oben als Musterinterferenz dargestellt, besonders auffällig im flachen Fensterbereich rechts), da der Ursprungspunkt des ‚Strahls‘, der zur Bestimmung der Struktur verwendet wird, zu nahe an Oberflächen liegt; wenn die Toleranz zu niedrig ist, können Features darüber oder darunter möglicherweise nicht korrekt eingebrannt werden, da sie im Wesentlichen aus der Betrachtung

Um diese Disparität auszugleichen, kann der Abstand zwischen Oberflächen und dem Ursprungspunkt des Strahlwurfs durch Anpassen von „Distance:“ und „Bias:“ erhöht oder verringert werden; Obwohl jeder eine bestimmte Funktion ausführt, bedeuten höhere Werte in der Praxis, dass mehr des Netzes zum Rendern erfasst werden kann. Um Anpassungen vorzunehmen; in „Backen“ Eigenschaften klicken Sie entweder auf „Entfernung:“, „Bias:“, oder beides, und geben Sie einen geeigneten Wert ein, abhängig von der Bedeutung der Details, die berücksichtigt werden müssen, und backen Sie dann erneut, um die normale Karte neu zu erstellen.

Design Note: Als allgemeine Faustregel gilt, dass der verwendete Abstand tendenziell die Differenz zwischen dem tiefsten Punkt der Low-Poly-Struktur widerspiegelt, was bedeutet, dass sowohl „Abstand“ als auch „Vorspannung“ gleich „0“ sind, und die Höhe / Tiefe von Merkmalen, die auf dem hochauflösenden Netz erfasst werden müssen, was bedeutet, dass „Abstand“ und „Vorspannung“ einem Wert entsprechen, der eine vollständige Bewertung der gesamten Struktur beider Netze ermöglicht. Obwohl dies durch Messen der fraglichen Merkmale bestimmt werden kann, werden sowohl die Werte ‚Entfernung‘ als auch ‚Vorspannung‘ in Mischereinheiten dargestellt, Einige Experimente können erforderlich sein, um den glücklichen Median zu finden – er sollte nicht so niedrig sein, dass Artefakte nicht verhindert werden, aber auch nicht so hoch, dass ähnliche Probleme umgekehrt auftreten. Abstand und Vorspannung sind auch relativ zur Maschenweite und zum Maßstab, sodass für große Objekte möglicherweise höhere Werte erforderlich sind.

 Ändern von "Bias", um mehr Geometrie in den Backprozess einzubeziehen

Um Probleme mit schlechtem oder schlechtem Rendering zu vermeiden, können „Bias“ – und „Distance“ -Werte erhöht werden, um mehr Geometrie in den Backprozess einzubeziehen, wodurch der erfasste Bereich im Wesentlichen erweitert wird und das Clipping kompensiert wird, das versehentlich aufgrund der Nähe beider Netze zueinander und des „Ray“ -Ursprungs auftreten kann, der zum Berechnen und Rendern derselben Strukturen verwendet wird

Durch Erhöhen des "Ray Distance" werden mehr Details in der resultierenden Textur erfasst

Mit „Distance:“ und/oder „Bias:“ auf geeignete (höhere) Werte einstellen Ein saubereres Backen ist möglich, da die gesamte erforderliche Netzstruktur vollständig für die Verarbeitung erfasst wird

Backen und Anti-Aliasing ^

Wie bei den meisten Formen des Backens stellt „Aliasing“ ein besonderes Problem dar, da es von der Fähigkeit des Renderingsystems abhängt, Pixeldaten zu interpolieren und zu „anti-aliasen“ und von der Auflösung des Bildes, auf das gebacken wird. Wenn einer oder beide unzureichend sind, zeigt das resultierende Backen ein Aliasing oder eine signifikante Pixellation, die sich häufig in sichtbaren Stufen oder gezackten Kanten um nicht axiale oder nicht senkrechte Details und Strukturen (z. B. Nieten, Schrauben und andere gekrümmte Details) manifestiert. Mit anderen Worten, der Backprozess schließt oder mittelt keine Pixeldaten in Bezug auf die Erzeugung sauberer Kanten um strukturelle Merkmale, die nicht entlang der horizontalen oder vertikalen Achse verlaufen.

Design Note: Aliasing-Probleme treten auf, wenn Bilddaten beim Backen nicht korrekt oder vollständig interpoliert werden. Mit anderen Worten, der Renderprozess analysiert Strukturdaten zum Nennwert, dh wie es dem Renderer fehlt oder mit minimaler, interpretierter Mittelung zwischen Pixeln, um die Lücken zu füllen, das „Anti“ in „Anti-Aliasing“.

 Fehlendes Anti-Aliasing in gebackenen Ergebnissen unter Verwendung von Zyklen

Im Layout „UV-Bearbeitung“ angezeigt Der Übersichtlichkeit halber weisen normale Karten, die ohne „Anti-Aliasing“ gebacken wurden, häufig „Zacken“ auf, das „gestufte“ oder pixelige Erscheinungsbild von Kanten um nicht senkrechte Strukturen (die nicht entlang der horizontalen oder vertikalen Achse verlaufen)

In der Praxis besteht die Lösung darin, die normale Karte außerhalb von Blender zu bearbeiten und das Fehlende manuell mit einer Bildbearbeitungsanwendung eines Drittanbieters wie Photoshop, GIMP, PhotoPaint usw. zu malen. (oder welche Bild- / Fotobearbeitungssoftware auch immer verfügbar ist). Alternativ kann die Karte größer als nötig gebacken und dann verkleinert werden, wiederum mit einem Fotoeditor, wobei das indirekte Anti-Aliasing genutzt wird, das auftritt, wenn die Größe der Bilder geändert wird. Noch weiter kann die Karte in ihrem Rohzustand belassen werden, wobei stattdessen Anti-Aliasing zur Laufzeit durchgeführt wird, wenn Bilddaten neu abgetastet und auf unterschiedliche Größen auf dem Bildschirm neu gezeichnet werden.

Entwurfshinweis: beim manuellen Bearbeiten von normalen Karten durch Malen ist es oft besser, die Kanäle einzeln aufzuteilen und zu bearbeiten, wobei jeder der Farbkanäle „R“ (rot), „G“ (grün) und „B“ (blau) separat und nicht als kombiniertes RGB-Bild korrigiert wird – Kanäle enthalten nur Sättigungsdaten in Bezug auf die Farbe, die sie darstellen, dh „0%“ oder „0“ Sättigung, oft als schwarz angezeigt, repräsentiert keine Kanalfarbe, während „100%“ oder „255“ Sättigung die volle Kanalfarbe darstellt, einen Gesamtbereich einer einzelnen Farbe von „schwarz“ bis „voll“ Farbe – 0% bis 100% oder 0 bis 255%. Insgesamt macht dies es weniger wahrscheinlich, dass Farbaberrationen in das Bild eingeführt werden, obwohl noch darauf geachtet werden muss, dass die bearbeiteten Töne genau übereinstimmen, sonst ist das Endergebnis eine fehlerhaft geformte normalisierte Oberfläche im Spiel.

 Details zu einer normalen Karte, die auf 256x128 gerendert wurde>Details zu einer normalen Karte, die auf 2048x1024 gerendert wurdeReduziertes Aliasing als Ergebnis des Backens auf ein 4096x2048-Bild

Im Layout „UV-Bearbeitung“ angezeigt Aus Gründen der Übersichtlichkeit wird die normale Karte des Objekts auf 256×128, 2048×1024 und 4096×2048 Textur, von denen jede einen unterschiedlichen Einfluss auf die Detailschärfe hat – im Wesentlichen bedeuten größere Bilder, dass feine Details besser definiert werden können, da mehr Pixeldaten zur Verwendung verfügbar sind, wodurch Aliasing auf mehr Daten und in der Tat Pseudo-Anti-Aliasing verteilt wird bild

Netzglättung & Normal Maps ^

Beim Backen von Normal Maps mit dem Ansatz „Selected to Active“ wird die „Netzglättung“ nicht durch Kanten- oder Flächensplits auf dem Low-Poly-Netz bestimmt, sondern auf dem High-Poly unter Verwendung von „Regelkreisen“ oder anderen Arten von „Kontrollstrukturen“. In der Regel zusätzliche Geometrie strategisch platziert, um die Dichte eines Features oder Features zu ändern, sind es diese Daten, die, wenn sie als voreingenommene RGB-normalisierte Farben gebacken werden, das Verhalten der Glättung auf dem Low-Poly-Netz in Bezug auf die High-Poly-Geometrie informieren, die es direkt darstellt. Mit anderen Worten, Netze werden typischerweise basierend auf der Kontinuität und Farbe normalisierter Pixel über eine UV-kartierte Oberfläche geglättet, nicht auf der Oberflächenstruktur selbst.

" Regelschleifen" können verwendet werden, um die Glättung zu ändern"Regelschleifen" können auf Normale angewendet werden, die das Verhalten der Beleuchtung ändern

Bild oben zeigt, wie sich die Maschendichte ändert, wie sich die Struktur krümmt und auf Beleuchtung / Schattierung reagiert. Auf diese Weise können harte (1) oder weiche Kanten und Kurven (2) gesteuert werden, indem das Netz geändert wird, das wiederum Bild-unten in RGB als ähnlich harte (1) oder weiche Kanten oder Kurven (2) oder eine Kombination (3) dargestellt wird, wodurch das Glättungsverhalten gesteuert wird

Dies bedeutet in der Praxis, dass die Bedingungen für das Backen von Texturen auf ein Low-Poly-Objekt und die Verwendung solcher Objekte im Spiel unterschiedlich sind; Während des Backens weist das Low-Poly-Netz typischerweise eine minimale Glättung auf, wenn alle, weil Kanten, Ecken, Spalten, Fasen und so werden durch das hochauflösende Netz definiert; während im Spiel einige Glättungen erforderlich sein können, um eine Struktur zu erweitern, d. H. unsichtbare Gesichter zu teilen, um das Erscheinungsbild anderer zu unterstützen.

Halb n' Halb. Die linke Seite verwendet eine gleichmäßige Glättung, die rechten Kanten sind entsprechend markiert

Im Layout „UV-Bearbeitung“ dargestellt Aus Gründen der Übersichtlichkeit wird das Low-Poly-Netz mit seiner linken Seite für eine gleichmäßige Glättung und den Kanten als „Scharf“ auf der rechten Seite. Die gebackene Normalkarte, die im UV / Image-Editor (linke Seite von Blender) angezeigt wird, zeigt das Ergebnis und welche Auswirkungen die Glättung auf normalen Karten hat oder nicht – der Unterschied kann erheblich sein

Im Texturmodus wird der Effekt angezeigt Glatt gebackene Normalkarten haben

Im „Textur“ -Modus angezeigt (wieder mit dem Layout „UV-Bearbeitung“ angezeigt) Die Normalkarte beeinflusst das Erscheinungsbild der Netze erheblich – im Spiel hat dies einen ähnlichen Effekt, der häufig dazu führt, dass das fertige Modell Oberflächenprobleme aufweist

Normale Karte, die den Unterschied zwischen 'glatt' und 'nicht glatt' zeigt

Erweiterte Ansicht (zur besseren Übersicht im Vollbildmodus im UV- / Bildeditor angezeigt) derselben gebackenen Normalkarte mit gleichmäßig geglätteten Oberflächen links von jedem Abschnitt und Kantenspalten rechts; der Unterschied kann je nach Art des gebackenen Objekts sehr groß sein, daher sollte beim Backen besondere Vorsicht walten gelassen werden, wenn „Glätten“ verwendet werden muss

In diesem Sinne sollte besonderes Augenmerk auf die Verwendung von Glättungs- und glättungsgruppenähnlichen Verbesserungen gelegt werden, damit sie keine Normalen brechen, was im Grunde genommen bedeutet, dass „Netzglättung“, „Glatte Gruppen“ oder „Harte Kanten“ vermieden werden müssen, insbesondere für Backzwecke. Mit anderen Worten, dem Netz mit niedriger Auflösung sollte ein einzelner Glättungswert oder eine Gruppe zugewiesen werden, oder wo sie benötigt werden, sollte dies auf eine Weise erfolgen, die die Verwendung normaler Karten nicht beeinträchtigt, dh Kanten oder Flächen, die auf eine Weise markiert sind, die für den Betrachter nicht sofort offensichtlich ist.

 Normal Map mit Glättung, die dem Netz zugewiesen istNormal Map gebacken mit aktiver Glättung

Glättung kann verwendet werden, es sollte jedoch darauf geachtet werden, welche Auswirkungen dies auf die resultierende Normal Map hat (beachten Sie auch, dass Aliasing-Probleme berücksichtigt werden sollten, bei denen harte Kanten auftreten – ein weiterer zufälliger Grund, die Verwendung von „Netzglättung“ nach Möglichkeit zu vermeiden)

Renormierung normaler Karten (Renormierung) ^

Blender zeigt nicht normalisierte Bereiche der Karte im UV-/Bildeditor als flache, einheitliche graue Farbe an. Wenn die Karte anschließend gespeichert wird, kann sie diese je nach Vollständigkeit des Gerenderten enthalten. Wenn dies der Fall ist, muss das gesamte Bild „neu normalisiert“ werden, um nicht normalisierte Farben in gültige normalisierte RGB-Werte umzuwandeln. Dies ist wichtig, da normale Kennfelder nur RGB-normalisierte Werte enthalten sollten (jeweils „R“, „G“ und „B“ mit nur „0“ 255″ Sättigung).

Gebackene normale Karten können ungültige Farben enthalten, die entfernt werden müssen

Gebackene normale Karten können ungültige Farben enthalten, die entfernt werden müssen, bevor die Karte im Spiel verwendet werden kann, sonst können sie das Auftreten von Aberrationen und anderen Arten von missgebildeten Oberflächen verursachen, wenn nicht die Karte unbrauchbar machen (in Corel PhotoPaint gezeigt)

Die einfachste Möglichkeit, ein Bild neu zu normalisieren, besteht darin, es mit einem speziell für diesen Zweck entwickelten Tool oder Plugin zu filtern (je nach Verfügbarkeit für die verwendete Anwendung). Wenn keine verfügbar ist, ist eine manuelle Bildbearbeitung erforderlich, um das Problem zu beheben. Öffnen Sie dazu das Bild und wählen Sie, falls dies nicht bereits durch den Backvorgang in Blender maskiert wurde, alle grauen Bereiche aus, um aus der Auswahl eine Maske oder Ebene zu erstellen. Sobald Sie fertig sind, füllen Sie einfach die Bereiche, Masken oder Ebenen mit der entsprechenden normalisierten Farbe, normalerweise ist dies ein „flacher“ oder „mittlerer“ Wert von RGB „127, 127, 255“ oder „128, 128, 255“, abhängig von der verwendeten Engine.

Manuelle Re-Normalisierung einer normalen Karte in PhotopaintManuelle Re-Normalisierung einer normalen Karte in GIMPManuelle Re-Normalisierung einer normalen Karte in Photoshop Elements

Vor der Verwendung müssen normale Karten „Re-normalisiert“ werden, wenn sie keine ungültigen RGB-Farben enthalten. Dies kann jedoch manuell erfolgen, indem abweichende Bereiche maskiert und mit einer geeigneten normalisierten „Mittelton“ -Farbe („127, 127, 255“ oder „128, 128, 255“) gefüllt werden je nach verwendeter Spiel-Engine)

Zusammenfassung ^

Das Folgende ist eine grundlegende Zusammenfassung des Prozesses als schnelle Checkliste für die Verwendung.

  • Stellen Sie sicher, dass beide Netze die gleiche Größe und an der gleichen Stelle haben.

  • UV-Karte Low-Poly-Mesh und weisen Sie ein Bild (mit oder ohne Material).

  • Hochauflösendes Netz kann Unterteilung oder Multires Modifikatoren aktiv haben.

  • Stellen Sie die „Backen“ -Optionen „Normal“ und „Aktiv auf Ausgewählt“ ein.

  • Klicken Sie auf die Schaltfläche „Backen“, um eine normale Karte zu erstellen.

  • Speichern Sie das Ergebnis in einem verlustfreien Format, z. B. *.tga.

Fazit ^

Blenders interne Render Engine („Blender Internal“) wird seit langem verwendet, um verschiedene Arten von Image Map für Netze mit dem „Texture Bake“ -System zu backen. Obwohl Blender Render ein oder zwei Nachteile hat (von denen einige oben erwähnt wurden), ist es immer noch eine praktikable Option, wenn die möglicherweise auftretenden Probleme im Voraus berücksichtigt werden. Ein wichtiger Punkt ist jedoch, dass Blender Internal nicht mehr aktiv entwickelt wird oder Unterstützung über kritische Fehlerbehebungen hinaus bietet, da Blender Foundation sich auf das Rendering konzentriert.

Video ^

Das folgende Video zeigt das grundlegende Verfahren, das oben diskutiert wurde.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.