Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Physically Based Rendering oder PBR simuliert die Reaktion von Werkstoffen auf realistisches Lichtverhalten. Bestimmte metallische Eigenschaften führen zu Reflexionen und das Licht wird durch verschiedene Arten von Glas gebeugt und gebrochen.
In dieser Anleitung wirst du einige der grundlegenden Arbeitsabläufe bei der Entwicklung von PBR-Texturen in Minecraft: Bedrock Edition kennenlernen. Du wirst eine Reihe von Texturen erstellen, die die einzelnen neuen Arten von Texturkarten präsentieren.
Am Ende dieser Anleitung wirst du Folgendes wissen:
- Welche neuen Texturkarten für Texturen in Minecraft verfügbar sind
- Wie mithilfe von Rauheits- und Metallkarten ein Spiegeltexturset erstellt werden kann
Voraussetzungen
Du musst die folgenden Tutorials abschließen:
- Einführung in das Thema Ressourcenpakete
- Ein Ressourcenpaket mit eingerichteter Ordnerstruktur
textures/blocks.
Es werden zwar Texturen zur Verfügung gestellt, doch du benötigst Software für digitale Malerei mit Ebenen zum Erstellen deiner Texturen.
Was macht eine PBR-Textur aus?
Texturen verwenden eine gängige Rendering-Methode mit dem Namen Texture Mapping. Mithilfe von Texturkarten können Ersteller mehrere Bilder übereinanderlegen, um hoch detaillierte 3D-Objekte zu erstellen. Vanilla Minecraft-Texturen verwenden eine einzelne Karte mit der Bezeichnung color. Farbkarten setzen sich aus vier Farbkanälen zusammen: Rot, Blau, Grün und Alpha (gemeinsam als RGBA bezeichnet). Die ersten drei Kanäle steuern das Rendering der Textur, während der Alphakanal die Transparenz der Textur steuert.
Mit der Einführung von PBR in Minecraft können für Texturen jetzt fünf zusätzliche Karten genutzt werden, um die Erstellung realistischer Werkstoffe zu erleichtern.
Jede Karte wird Teil des Textursets für den Block sein. Dabei werden die einzelnen Karten überlagert, um verschiedene Werte in der Textur festzulegen. Dieser Prozess ermöglicht dem Ersteller eine starke Kontrolle über das Rendering eines Blocks, wenn dieser in der Welt platziert wird.
Wichtig
Nicht für alle PBR-Textursets werden alle Karten benötigt. Wenn Karten leer gelassen werden, verwendet das Texturset den Standardwert.
Metallkarte
Eine Metallkarte ist eine Graustufentextur, die bestimmt, welche Bereiche einer Texturkarte wie Metall aussehen.
- Wenn ein Pixel auf schwarz gesetzt ist, gilt dies als Wert
0und das Pixel ist nicht metallisch. Gras, Erde oder Baumrinde sind Beispiele für nicht metallische Objekte. - Wenn ein Pixel auf weiß gesetzt ist, gilt dies als Wert
1und das Pixel wird als zu 100% metallisch behandelt. Eisen, Gold oder Kupfer sind Beispiele für metallische Gegenstände.
In dem Bild oben wird die folgende MER-Textur verwendet:
Emissionskarte
Eine Emissionskarte ist eine Graustufentextur, die bestimmt, welche Bereiche einer Texturkarte Licht abgeben.
- Wenn ein Pixel auf schwarz gesetzt ist, gilt dies als Wert
0und das Pixel leuchtet nicht. - Wenn ein Pixel auf weiß gesetzt ist, gilt dies als Wert
1und das Pixel leuchtet sehr hell. - Da es sich um eine Graustufenkarte handelt, kannst du Werte zwischen
0und1festlegen.
In dem Bild oben wird die folgende MER-Textur verwendet:
Rauheitskarte
Eine Rauheitskarte ist eine Graustufentextur, die bestimmt, welche Bereiche einer Texturkarte Licht abgeben.
- Wenn ein Pixel auf schwarz gesetzt ist, gilt dies als Wert
0und das Pixel wird als sehr glatt behandelt. Objekte wie glatter Marmor, Glas oder glatter Kunststoff sind sehr glatt. - Wenn ein Pixel auf weiß gesetzt ist, gilt dies als Wert
1und das Pixel wird als sehr rau behandelt. Ziegel, Baumrinde oder Steine sind sehr rau. - Da es sich um eine Graustufenkarte handelt, kannst du Werte zwischen
0und1festlegen.
In dem Bild oben wird die folgende MER-Textur verwendet:
Normalkarte
Eine Normalkarte ist eine RGB-Textur, die die Tiefe und das Verhaltens des Lichts beim Auftreffen eines Lichtstrahls auf die Textur steuert.
- Da Normalkarten RGB verwenden, kannst du Oberflächendetails erstellen, die der Textur das Aussehen eines plastischen 3D-Objekts verleihen.
- Wenn die RGB-Werte auf
128,128bzw.255gesetzt werden, führt dies zu einem flachen Erscheinungsbild des Pixels.
Achtung
Wenn du noch keine Erfahrung mit dem Erstellen von Normalkarten hast, solltest du keine Normalkarten manuell erstellen. Es gibt Software von Drittanbietern, die dir beim Erstellen von Normalkarten helfen kann.
Höhenkarte
Eine Höhenkarte ist eine Graustufentextur, die die Tiefe einer Textur steuert. Höhenkarten sind eine Alternative zu Normalkarten. Sie sind jedoch nicht so effizient und können nicht so viele Texturen darstellen.
- Wenn ein Pixel auf schwarz gesetzt ist, gilt dies als Wert
0und führt dazu, dass das Pixel nach innen extrudiert wird. - Wenn ein Pixel auf weiß gesetzt ist, gilt dies als Wert
1und führt dazu, dass das Pixel nach außen extrudiert wird. - Wenn ein Pixel auf
0.5gesetzt ist, wird dies als Standardhöhe angesehen und es erfolgt weder eine Extrusion nach innen noch nach außen.
Im Bild oben wird die folgende Höhenkarte verwendet:
Spiegel herstellen
Wir werden nun eine Spiegeltextur für einen bestehenden Vanilla-Glasblock erstellen, indem wir eine Texturset-JSON-Datei erstellen und eine bereitgestellte Texturdatei verwenden.
Texturset-JSON-Datei erstellen
Damit das Texturset ordnungsgemäß funktioniert, musst du eine JSON-Datei zum Laden der Texturen definieren. In diesem Tutorial verwenden wir ein Spiegelbeispiel, bei dem der Block iron_block verwendet wird.
Tipp
Wenn du mehr über Textursets erfahren möchtest, besuche bitte die Dokumentation zu Textursets– Einführung in Textursets.
- Navigiere in deinem Verhaltenspaket zum Ordner
textures/blocks. - Erstelle eine neue JSON-Datei und nenne diese
iron_block.texture_set.json. - Doppelklicke auf
iron_block.texture_set.json, um die Inhalte zu bearbeiten. - Kopiere das folgende Beispiel.
iron_block.texture_set.json
{
"format_version": "1.16.100",
"minecraft:texture_set": {
"color": "iron_block",
"metalness_emissive_roughness": "iron_block_mer",
}
- Speichere und schließe die Datei.
Nachdem die JSON-Datei eingerichtet ist, kannst du jetzt die Texturen für den Wert color und den Wert metalness_emissive_roughness konfigurieren.
Raytraced-Fähigkeit hinzufügen
Die Datei manifest.json für das Paket verlangt, dass der Wert "raytraced" in einem Abschnitt capabilities unter den bestehenden Abschnitten header und modules hinzugefügt wird.
{
"format_version": 1,
"header": {
"name": "RTX Sample Resources",
"description": "",
"uuid": "58d4560c-106d-4b0c-9847-eee47417fb05",
"min_engine_version": [1, 12, 0],
"version": [1, 0, 0]
},
"modules": [
{
"description": "",
"type": "resources",
"uuid": "2d3df25b-856a-406d-9a57-c87b9a4d7af8",
"version": [0, 0, 1]
}
],
"capabilities" : [
"raytraced"
]
}
Texturen hinzufügen
Um einen Spiegel in einem PBR-Arbeitsablauf zu erstellen, benötigst du eine Rauheitskarte und eine Metalkarte.
Eine Rauheitskarte mit dem Wert 0.0 oder schwarz erzeugt eine glatte Oberfläche, an der das Licht reflektiert wird.
Eine Metallkarte, die auf den Wert 1.0 oder weiß eingestellt ist, wird den Block wie reflektierendes Metall rendern.
Wenn dieser Spiegel eingerichtet ist, ist die Render-Dragon-Engine in der Lage, das Raytracing mit weniger Zeitaufwand für Berechnungen für diese Objekte durchzuführen.
Hauptfarbtextur: iron_block.png
PBR-Textur: iron_block_mer.png
- Speichere die Dateien
iron_block.pngundiron_block_mer.png. - Kopiere beide PNG-Dateien und füge sie in den Ordner
textures/blocksein.
Texturpaket ausführen
Wenn die JSON-Datei ordnungsgemäß eingerichtet ist und beide Texturen vorhanden sind, kannst du jetzt dein Texturpaket laden, um es in Minecraft zu testen.
Wie geht es weiter?
Tutorial zu Physically Based Rendering
Du hast einen Spiegel mit Rauheits- und Metallkarte erstellt. Jetzt kannst du dich mit dem nächsten Teil dieser Anleitung befassen, in dem es um das Erstellen von benutzerdefinierten Texturen zum Erstellen deines eigenen Textursets geht.
Nebel in Ressourcen
Neben Raytracing wurde auch der Nebel in Minecraft aktualisiert. Es wird jetzt eine ähnliche JSON-Struktur verwendet, die es dir ermöglicht, Nebel zu erstellen und sein Erscheinungsbild im Spiel zu steuern.