Zum Inhalt springen

Blender Dokumentation/ Tutorials/ Workflow/ Vorbereitung eines Modells für eine Spiel-Engine

Aus Wikibooks
Diese Seite bezieht sich auf Blender v2.48a

In diesem Tutorial von Chuck Starchaser geht es um die Vorbereitung von (Raumschiff-)Modellen für eine Spiel-Engine (genauer Vega Strike), um Optimierung und ist allgemein sehr informativ. Leider ist das Tutorial noch nicht komplett und einige Abschnitte sollten nochmal überarbeitet/ergänzt werden (speziell AO, Radiosity, Texture Baking).

Aufräumen

[Bearbeiten]

Stellen Sie sicher, dass Ihr Mesh in Ordnung ist. Probleme die Sie jetzt übersehen, wie duplizierte Vertices und störende innere Planes, werden Sie wahrscheinlich später heimsuchen.

1a) Selektieren Sie alles im Edit-Mode, W-> Remove Doubles, nochmal alles auswählen, W->Set Smooth. Sieht das Mesh immer noch gut aus? Falls nicht, haben Sie womöglich vergessen, die Kanten, die scharf sein sollen, zu markieren (Strg-E -> Mark Sharp). Außerdem sollten Sie bei diesen Kanten den Crease-Wert auf das Maximum setzen. Das Maximum ist 1, aber ich gebe gern 2 ein, nur um auf Nummer sicher zu gehen. ;) Und natürlich müssen Sie dem Mesh noch einen Edge Split Modifier geben. Schalten Sie "From Edge Angle" aus und "From Marked As Sharp" ein.

1b) Ist der Double Sided-Button aktiviert? Schalten Sie ihn auf jeden Fall aus, sonst muss Ihre GPU (Grafikprozessor) auch die Innenseiten der Faces berechnen. Wenn irgendetwas auf dem Mesh dunkel aussieht, zeigen die Normalen dort nach innen. Drehen Sie am besten ihr Modell und schalten den Double Sided-Button an und aus. Wenn eine Normale geflippt ist, blinkt das entsprechende Polygon in verschiedenen Schattierungen auf.

1c) Dreiecke sind schlecht. Konnten Sie sie vermeiden? Wählen Sie im Face Selection Mode (Strg-Tab-3), im Select-Menü "Triangles" aus, und prüfen Sie ob sie in Vierecke umgewandelt werden können.

1d) Ein exzellenter Trick um Störungen in einem Mesh zu finden, ist im Edge Selection Mode (Strg-Tab-2), im Select-Menü "Non Manifold" auszuwählen. Dadurch werden alle Edges, die von einer ungewöhnlichen Anzahl Faces geteilt werden, angezeigt. Dies beinhaltet Edges an den Rändern von Meshes, und Edges die von drei Faces geteilt werden. Eine Kante sollte niemals mit drei Faces verbunden sein. Wenn nur die offenen Ränder des Meshes und sonst nichts ausgewählt wurde, ist alles in Ordnung. Wenn nicht haben sie eine Störung im Mesh. Die Ränder des Meshes sollten mit Shift-E geschärft werden, sonst würden sie durch einen Subsurf-Modifier nach innen gezogen werden.

1e) Fügen Sie einen Subsurf-Modifier hinzu und schauen Sie ob das Modell noch gut aussieht. Wenn nicht, fehlen Creases.

1f) Zuguterletzt Optimieren. Halten Sie nach Geometrie oder Schnitten/Loops Ausschau, die überflüssig sind oder keinen Nutzen haben, und entfernen Sie sie. Achten Sie auf Artefakte, zum Beispiel Vierecke, die nicht flach sind. Außerdem sollten sich Faces nicht überschneiden oder durch andere verdeckt werden (Overdraw), da dies beträchtliche Performanceeinbrüche verursacht. Die GPU hat nämlich keine Möglichkeit verdeckte Stellen einfach wegzulassen, und muss für jedes Pixel, das sie zeichnet, überprüfen ob es von einem anderen verdeckt wird, das sich näher an der Kamera befindet (Z-Testing). Am besten ist es, wenn das Modell aus einem einzelnen geschlossenen Mesh besteht.

1g) Gehen Sie zurück zu 1a) und wiederholen Sie alle Schritte, da ein behobenes Problem manchmal ein neues hervorruft. Dies ist der beste Zeitpunkt um jemand anderen hinzu zuziehen; vier Augen sehen mehr als zwei.

1h) Im Objektmodus alle Objekte auswählen, Shift-C um den Cursor auf den Ursprung zu legen, F9 und den "Center Cursor"-Button betätigen. Dadurch werden die Zentren der Objekte auf den Ursprung des Koordinatensystems gelegt.

1i) Skalieren Sie ihr Objekt auf die gewünschte Größe.

1j) Strg-A: Macht alle Transformationen, die im Objektmodus durchgeführt wurden, permanent. Dies ist sehr wichtig, da anisotropische Transformationen und Objektrotationen die Vertexnormalen durcheinander bringen.

Vorbereitung

[Bearbeiten]

2a) Vereinigen Sie alle Objeke indem Sie sie auswählen und Strg-J drücken. Man muss das zuerst machen, weil Blender sonst separate Materiallisten für jedes Object anlegt.

2b) Separieren sie alle transparenten Teile wie z. B. Fenster, da diese einen separaten Shader benutzen werden. Im Edit-Mode auswählen und P drücken zum separieren.

2c) Stellen Sie sicher, dass Double Sided und Auto Smooth ausgeschaltet sind und das die Variable unter Auto Smooth auf 80 gestellt ist (Maximum); ansonsten würde Blenders Renderer, sogar wenn Auto Smooth ausgeschaltet ist, kein Smooth Shading auf Flächen mit größerem Winkel als dem dort eingestellten benutzen.

Anmerkung: Mit einem einzelnen Objekt zu arbeiten unterscheidet sich etwas vom Arbeiten mit multiplen Objekten, aber Materialien auf mehreren Objekten zu verwalten kann recht schwierig werden, und man kann immerhin jederzeit mit H Teile des Meshes aus- und mit Alt-H einblenden.

Materialien

[Bearbeiten]

3a) Wählen Sie Sektionen eines Meshes aus, die ein gemeinsames Material teilen sollen, erzeugen Sie auf dem Link and Materials-Panel ein neues Material und klicken "Assign". Wiederholen Sie dies, bis alle Sektionen mit unterschiedlichen Oberflächeneigenschaften oder Farben, ihr eigenes Material besitzen. Warum tun wir dies? Weil, nachdem wir die Materialien auf eine Textur gebacken haben, wir eine solide Basis für die Texturierungsarbeiten haben. Die Wichtigkeit Ihre Materialien richtig hin zu bekommen kann nicht überschätzt werden. Beginnen Sie mit dem hellsten Material und nehmen Sie am besten Referenzbilder oder Fotos zu Hilfe. Stellen Sie den Farbton und die Sättigung so genau wie möglich ein. Im Gimp oder einem anderen Grafikprogramm, kann man die Pipette auf dem hellsten Fleck benutzen um den Hexadezimalcode der Farbe zu ermitteln, und diesen dann in Blender im Materialpanel eingeben. Bauen Sie die Lichter und die Kamera so auf, dass das Renderergebnis möglichst genau an das Referenzmaterial herankommt. Belassen Sie die Lichter so; spielen Sie nur noch mit den verschiedenen Materialien bis diese im Renderergebnis richtig aussehen.

3b) Unglücklicherweise ist diese Farbe die Albedo, also die Summe von diffuser und Specular-Farbe. Wie viel von jedem, hängt von den Lichtbedingungen auf dem Referenzbild ab. Ich habe keine wissenschaftliche Methode hierfür, sondern gehe nach Gefühl vor. Bei Metallen z. B. sind die Glanzfarben viel heller und satter als die diffusen. Anstrichfarben oder Haut haben eine hellere diffuse Farbe als Glanzfarbe. Keramik, Gummi und andere matte Materialien haben praktisch keinen Glanz (specular auf schwarz), und ihre ganze Albedo kommt von der diffusen Farbe. Sie wären gut beraten damit, eine Environment-Map einzusetzen, die dem Hintergrund Ihres Referenzbildes ähnelt. Spielen Sie so lange mit den Materialien und machen dabei Testrender, bis Sie mit dem Ergebnis glücklich sind.

Spiegelung anwenden

[Bearbeiten]

Wenn ihr Mesh gespiegelt ist (wie die meisten), werfen Sie einen letzten Blick auf das Mesh um sicher zu gehen, dass Sie bereit sind. Dann...

4a) ...wählen Sie alle Edges aus, die rund um die Spiegelebene verlaufen (Alt-Rechtsklick ein oder zweimal sollte reichen, wenn es nicht zuviele Dreiecke gibt), Shift-C um den Cursor im Ursprung zu platzieren, pressen Sie "." (Punkt) um den Cursor als Pivotpunkt zu wählen, S zum skalieren, X zum beschränken auf die X-Achse und 0 (Null), dann mit Enter bestätigen. Somit liegen alle Vertices auf einer Ebene.

4b) Tab um in den Objekmodus zu wechseln, mit F9 in die Editing-Buttons und auf dem Mirror-Modifier Apply drücken.

4c) Tab zurück zum Edit-Modus, A um alles auszuwählen, W -> Remove Doubles. Alles auf Smooth Shading einstellen.

4d) Tab um das Objekt zu betrachten. Es könnte sein, dass Ihr Objekt eine scharfe Mittellinie benötigt. Wenn ja, markieren Sie sie als scharf. Scharfe Kanten sollten auch gecreased werden. Testen Sie die Creases indem Sie einen Subsurf-Modifier anwenden, wenn alles gut aussieht, können Sie ihn wieder entfernen.

Zeit zum Unwrappen

[Bearbeiten]

... [Abschnitt muss nochmal überarbeitet werden. Diese Liste einfügen: http://vegastrike.sourceforge.net/mediawiki/index.php?title=HowTo:FullUnwrap5Think Und für das Layout Bilder anfertigen: http://vegastrike.sourceforge.net/mediawiki/index.php?title=HowTo:FullUnwrapStarkOp] ...

Aus Performancegründen wollen wir die Vertexduplikation in der GPU minimieren. Vertices werden aus einer Reihe von Gründen dupliziert. Sie werden dupliziert entlang Linien, die als scharf markiert sind, an Texturseams, an Materialgrenzen, das bedeutet in diesem Fall, dass verschiedene Texturen und/oder Shader aufgerufen werden. Aus diesem Grund verwenden Computerspielmodelle eine einzelne Textur. Und sie werden dupliziert an allen Dreiecken, die als Flat Shaded markiert sind. Darum benutzen wir für alle Faces Smooth Shading und nutzen den Edge Split-Modifier um Kanten zu schärfen, statt Flat-Shading einzusetzen. Außerdem benutzen wir nur einen Shader für alles außer Transparenzen; weshalb wir Fenster u.Ä. vom Objekt abgespaltet haben. Alles was jetzt noch zu tun ist, damit unsere Optimierung optimal wird, ist die Minimierung von Seams. Sharfe Kanten implizieren schon Seams, aber wir benötigen wahrscheinlich noch zusätzliche...

5a) Zylinder, Rohre und ähnliche Objekte brauchen einen Seam, der das Objekt längs teilt, so dass wir es abwickeln können. Platzieren Sie den Seam entlang der am wenigsten sichtbaren Kante.

5b) Die Mittellinie z. B. am Boden eines Raumschiffes auftrennen. Wir beginnen im Geiste mit der Abwicklung, mit dem Festnageln der Mittellinie des Schiffes auf einer Seite der Textur und rollen das Schiff dann über diese. ... [Layout und mehr Infos einfügen] ... Möglicherweise gibt es viele Löcher, welche wir später mit anderen Dingen füllen können. Das Wichtigste ist, die größten Oberflächen zuerst abzuwickeln.

5c) Für den Rest kann man nach Materialien vorgehen (also der Farbe). Sie können durch die Materialliste auf dem Link and Material-Panel scrollen (F9), dann auf Select drücken und alle Polygone die dieses Material tragen, werden ausgewählt. Sie können eine Gruppe selektieren und Project From View wählen. Sie werden Dinge mit denselben Materialien bündeln wollen. Dies wird Ihnen erlauben sie näher beieinander zu platzieren, ohne sich viel um Color Bleed zwischen UV-Inseln sorgen zu müssen, das durch Mip-Mapping und Run-Time Anisotropic Filtering verursacht wird.

5d) Eine gute Idee ist es Blender zuerst automatisch unwrappen zu lassen, alles von der Textur herunter zu schieben und dann manuell erneut abzuwickeln. So bekommt man wenigstens eine ungefähre Vorstellung von der Größe, die die Inseln haben sollten. Damit man nicht aus Versehen etwas übereinander platziert, kann man Shadow Meshes anschalten. Snap To Pixel ist für Raumschiffe schon fast Pflicht. Für Pflanzen, Tiere und natürliche Dinge ist Snap To Pixel nicht notwendig; aber mechanische Dinge wie Raumschiffe oder Stationen profitieren davon.

5e) Zum jetzigen Zeitpunk, stellen die Vega Strike-Shader Vermutungen über die Rotation von Inseln auf der UV-Map an. Sie nehmen an, dass jede Insel von der Außenseite des Schiffes betrachtet wird, und dass die Front des Schiffes auf der Textur nach oben (Norden) und das Heck nach unten (Süden) zeigt. Hoffentlich wird diese Vermutung bald korrigiert, aber in jedem Fall ist es eine gute Idee diesem Standard zu folgen, auch wenn die Engine es nicht mehr bemerkt. Warum? Weil Sie z. B. Kratzer, Schlieren oder Dreckspuren, die vom Bug zum Heck verlaufen, einfacher auftragen können. Wenn der Unwrap nicht diesem Standard folgt, müsste man für jedes Teil der Textur einen unterschiedlichen Winkel für die Schlieren benutzen. Wenn der Unwrap diesen Standard benutzt, muss man nur eine Ebene für Flecken und dergleichen anlegen, und kann diese dann einfach von oben nach unten runterschmieren.

5f) Zuguterletzt hat Blender jetzt ein Werkzeug um die Skalierung von UV-Unwraps zu verifizieren. Benutzen Sie es. Die Skalierung des Unwraps sollte so gleichmäßig wie menschenmöglich sein. Kleine Dinge sollten nicht in große Inseln mit riesiger Auflösung ausgebreitet werden; genausowenig sollten große Teile nicht klein skaliert werden. Wir benötigen perfekte Gleichmäßigkeit. Die einzige Ausnahme sind Dinge, die komplett schwarz sind, sowohl diffus als auch specular. Alle schwarzen Teile (oder mit reinen leuchtenden oder emittierenden Farben) können übereinander gestapelt und auf ein paar wenige Pixel reduziert werden. Wenn Sie wollen, dass Ihre "From View"-Unwraps mit einer konstanten Skalierung abgewickelt werden, sollten Sie ihren Bildschirm in drei Fenster unterteilen. Eines für die Auswahl, ein zweites in dem Sie die Distanz zum Objekt immer gleich halten für den Unwrap und ein drittes für den UV-Editor.

Material Bakes

[Bearbeiten]

Im Moment gibt es in Blender keine Funktion zum backen von Specular- oder Spiegelfarben. Zumindest Ambient Occlusion und die Textur (also die diffuse Farbe) lassen sich backen. Vielleicht gibt es eine bessere Möglichkeit, aber ein Weg um die Spec-Farbe zu backen ist, nachdem man die Diffusemap fertiggestellt hat, die RGB-Werte von specular zu diffuse zu übertragen, und erneut zu backen.

6a) Um eine Textur backen zu können, muss zuerst eine geladen werden. Dies ist nicht besonders intuitiv, aber das ist man von Blender ja gewöhnt. Und der schnellste Weg eine Textur zu laden, ist eine zu erstellen. Baking erstellt selbst keine Textur, es gibt z. B. keinen Dialog um die Größe einzustellen. Darum einfach auf Image -> New klicken. Welche Größe soll die Textur haben? Sie sollte viermal größer als die benötigte Endgröße sein.

6b) Die Bedeutung der Größe: Jedermann will die Auflösung für seine Schiffe maximieren. Das ist jedoch nicht möglich. Für Jäger/Bomber sollte die Texturgröße 512 Pixel betragen. Warum? Damit wir für Korvetten, Zerstörer und Fregatten höher aufgelöste Texturen benutzen können (1024), und für Träger, Kreuzer, Schlachtschiffe und Stationen noch höher aufgelöste (2048). 2048 px Texturen bringen selbst neue Grafikkarten an ihre Grenzen, und sollten sehr sparsam eingesetzt werden. Ein Träger oder eine Station in einer Szene sollte genügen. 1024 px Texturen tragen auch sehr schnell zu einer Überlastung bei. 512 bleibt die ideale Größe für Schiffe im Maßstab von Jägern, und geringe Auflösungen auf kleinen Schiffen, mittlere auf mittelgroßen und hohe auf großen zu haben, hilft den Augen die relative Größe von Objekten zu erkennen. Wenn ein kleiner Jäger die selbe Auflösung wie eine Raffinerie hätte, würde diese eher klein wirken. Andere Spiele mögen 1024 px Texturen für kleine Jäger benutzen, aber wir sollten uns nicht darum kümmern was alle anderen machen. Blinde führen die Blinden... Aber viele andere Spiele benutzen dafür nicht so viele Texturen pro Einheit wie Vega Strike unterstützt. Jede Einheit in VS kann 7 Texturen tragen: Diffus-, Specular- und Normalmaps sind die Norm, aber es gibt auch Glow/Emit-Maps, Gloss(Glanz)-, Schaden- und Detailtexturen. Eventuell wird es auch PRT-P und PRT-N, für Global Illumination (GI) und Height-Maps (für Parallax) geben. Die Qualität die diese Texturen beitragen, macht die niedrige Auflösung mehr als wett. Außerdem haben wir noch ein paar nette Tricks im Ärmel... Einer dieser Tricks kommt vom Farbfernsehen: In Farbfernseh-Signalen, anders als RGB, wird das Signal zwischen Chroma und Luma aufgespalten. Chroma hat eine helligkeitsabhängige Coloricity (Farbe), wie Y/U im YUV-Farbmodell, während Luma die allgemeine Helligkeit liefert, wie ein Schwarz-Weiß-Signal. Luma wird mit großer Bandbreite übertragen, Chroma mit geringer. Das bedeutet, dass die Farbe auf einem Fernsehbild ziemlich verschwommen ist, während das Schwarz-Weiß-Signal scharf ist. Für unsere Augen ist das gut genug. Die Anzahl der Zapfen (für farbiges Sehen) in der Retina ist sehr viel geringer als die der Stäbchen (Helligkeit), weshalb das Gehirn daran gewöhnt ist, die einkommenden Farbinformationen anhand der höher aufgelösten Helligkeitsinformationen zu ermitteln. In unserem Fall machen wir etwas ähnliches: Unsere Standardjägertextur hat eine Größe von 512 px, aber wir benutzen die doppelte Auflösung für unsere Normalmap, so dass die Oberflächenveränderungen, wie Fugen, Kratzer oder Nietenköpfe, scharf aussehen. In anderen Worten, für einen Jäger oder ein kleines Schiff benutzen wir 512-Texturen und 1024-Normalmaps, aber für die Originale benutzen wir 2048-Texturen und reduzieren die finalen Bilder nur für den Export in das Spiel, ganz am Ende vor der DDS-Kompression. Also backen wir ein UV-Layout und geben 2048 als Größe für einen Jäger ein (4096 für eine Korvette oder Zerstörer / 8192 für einen Träger oder eine Raumstation).

6c) Um diese Textur zu laden, gehen Sie zuerst sicher, dass Ihr (einzelnes) Objekt aus dem Ihr Schiff besteht ausgewählt ist, dann im Image-Menü des UV-Editors Open drücken und Ihre Textur laden. Wenn Sie im Edit-Modus alle Faces auswählen, erscheint das UV-Layout über Bake-Layout. Wenn es eine leichte Verschiebung zwischen den Beiden gibt, liegt das an einem Bug im Script, das die Layouts erstellt; ignorieren Sie es einfach.

6d) Im Rendering-Panel (F10), stellen Sie fest ob die Ebene auf der sich Ihr Schiff befindet aktiv ist. Im Bake-Panel sollte Margin auf 2 gestellt sein. Außerdem sollte der Hintergrund in den World-Buttons (Ho und Ze) eine Farbe haben, die nicht von einem Ihrer Materialien benutzt wird ( z. B. 1,0,1 (fuchsia), da wir so den Hintergrund später einfacher im Gimp auswählen können.

6e) In den Render-Buttons, im Bake-Panel wählen Sie Textures. Damit wird die diffuse Farbe auf eine 2048-Textur gebacken. Speichern Sie diese als "diffuse_bake" oder "color_bake". Ändern sie nun Margin auf 0, backen erneut und speichern als "diffuse_mask".

6f) Vor dem nächsten Schritt speichern Sie Ihre Blenddatei, da wir Änderungen vornehmen, die wir später wieder verwerfen indem wir Blender beenden. Wechseln Sie in die Shading-Buttons F5, gehen alle Materialien durch und übertragen Sie alle Specular-Farben auf die diffusen Farben, indem Sie den Hexcode kopieren. Wenn Sie damit fertig sind, backen Sie erneut und speichern das Resultat als "specular_mask". Nun setzen Sie Margin wieder auf 2 und speichern das Ergebnis als "specular_bake". Schließen Sie Blender ohne zu speichern.

6g) Starten Sie Blender wieder und laden die Datei. Überprüfen Sie Ihre Texturen indem Sie sie nacheinander laden und dabei Ihr Modell im Textured-View betrachten. Falls irgendetwas nicht stimmt, müssen Sie zurückgehen und die Fehler korrigieren indem Sie den Prozess wiederholen. Deshalb ist es so wichtig alles auf Fehler zu überprüfen bevor Sie mit der Arbeit beginnen. Die "Mask-Bakes" weisen wahrscheinlich dünne schwarze Linien entlang den Kanten auf; das ist in Ordnung. Die "Bake-Bakes" sollten keine solchen Artefakte aufweisen.

Ambient Occlusion Bakes

[Bearbeiten]

Zuerst einmal, was ist eigentlich Ambient Occlusion? Nehmen wir an Ihr Modell wäre mattweiß und von einer Sphäre aus fast unendlich vielen Lichtquellen umgeben, die gleichmäßig verteilt sind. Wie würde das Modell aussehen? Ziemlich hell, aber einige Stellen würden durch Selbstbeschattung abgedunkelt werden. Ambient Occlusion "zählt" im Grunde wieviele Lichtstrahlen auf die verschiedenen Punkte der Oberfläche fallen. Maximal exponierte Stellen wären rein weiß, komplett verdeckte Stellen hingegen rein schwarz. Teilweise verdeckte Gegenden werden in Graustufen dargestellt. Wofür können wir das gebrauchen? Drei Dinge: Ambient Light wird durch multiplizieren der "Diffuse Base" mit der Ambient Occlusion-Textur simuliert. Das Resultat lässt sich zur Glow-Map hinzufügen. Die Diffus-Textur selbst wird erzeugt durch Modulation der "Diffuse Base" mit dem Ambient Occlusion, jedoch nur leicht. Wir nehmen die Quadratwurzel des Ambient Occlusion bevor wir es mit der "Diffuse Base" multiplizieren. (Oder 0,5 Gamma.) Warum? Es ist ein Kompromiss. Technisch sollte die diffuse Farbe nicht mit dem Ambient Occlusion moduliert werden, weil die Gleichung für diffuses Licht mit direktem Licht arbeitet, und nicht mit Ambient Light. Da die Vega Strike-Engine aber noch keine Schatten hat, kann eine teilweise Modulation die Schatten faken; jedoch würde eine volle Modulation durch Ambient Occlusion, das Schiff in Einbuchtungen neblig erscheinen lassen. Drittens können wir auch die Specular-Farbe durch Ambient Occlusion modulieren. Aber hier müssen wir statt der Quadratwurzel des AO zu nehmen, quadrieren. Warum? Weil Specular-Reflexionen durch Environment-Mapping erzeugt werden, was eine einfache Möglichkeit ist eine Skybox oder Spheremap-Textur durch reflektierte Vektoren zu mappen. Die Haupteinschränkung dieser Methode ist, das Objekte keine anderen Objekte in der Nähe oder eigene Teile reflektieren können, sondern nur die Skybox. Und diese Beschränkung wird sehr offensichtlich, wenn ein Teil eines Schiffs etwas reflektieren sollte, aber stattdessen nur gespiegelter Himmel zu sehen ist. Um dies zu verbessern, versuchen wir nur die exponiertesten Stellen reflektieren zu lassen, und die Reflektivität für Gegenden zu verringern, die weniger exponiert sind. Das erreichen wir durch die Quadrierung des AO. Wir benötigen drei AO-Bakings. Sie werden sehr ähnlich aussehen, aber sie werden sich in ihren Noise Levels und der Farbe unterscheiden. Wir nennen sie real_ao, diff_ao und spec_ao. Der Grund für drei Bakes ist die Reduzierung von Precision Loss abhängigen Artefakten und die Erhöhung der Präzision allgemein. "Real_ao" wird für die Ambientkomponente der Glowmap benutzt.

Static Lightmap Bake

[Bearbeiten]

Was ist ein Lightmap Bake? Es sind die Lichter, die durch Lichtquellen an festen Positionen des Schiffs verursacht werden, wie Positionslichter, Triebwerksglühen und Licht, das von Fenstern auf die Hülle fällt. Um eine statische Lightmap zu backen benötigen wir Blenders gutes altes Radiosity-Werkzeug, da die neuen Bake-Rendering-Tools, keine Lichter oder strahlende Flächen backen können. ...

Frontal Bake

[Bearbeiten]

Was ist ein Frontal-Bake? Ein Frontal-Bake ist das Backen des Lichts einer verschwommenen Lichtquelle vor dem Schiff auf eine Textur. Wofür? Wir können den Frontal-Bake als Maske für verschiedene Dinge benutzen. Beispielsweise für Rost oder Einschläge, Kratzer und Schäden, die in der Frontregion häufiger auftreten. Also können wir diese Effekte erzeugen, und dann mit dem Frontal-Bake modulieren. Warum jetzt? Weil der Frontal-Bake uns dabei behilflich ist ein Durcheinander im UV-Layout so früh wie möglich zu erkennen, wie z. B. UV-Inseln, die nicht nach oben (Norden) ausgerichtet sind. Um ein Frontal-Bake durchzuführen benötigen wir ebenfalls Blenders Radiosity-Werkzeug, wie für die statische Lightmap. ...

10) MULTI-RES AND LOD'S

11) NORMALMAP BAKES

12) EXPORTS TO OBJ

13) BUILDING A BASIC BFXM FOR TEXTURE TESTING

14)

15) BASIC UNITS.CSV (FOR TEXTURE TESTING)

16) BASIC TEXTURE TESTS

17) FINAL BFXM (FINAL TOUCHES TO XMESH) AND UNITS.CSV

[Bearbeiten]

Die englischsprachige Vorlage dieses Textes