Physisch basierte Rendering-Texturen (PBR) ermöglichen es Ihnen, realistische Schattierungen und Beleuchtungen zu verwenden, indem Sie mehrere Arten von Texturen verwenden, oder Karten , auf einem einzigen Objekt. Wenn Sie mehrere Texturenkarten kombinieren, können Sie die visuellen Elemente Ihrer Assets und Umgebung besser simulieren und die visuellen Elemente Ihrer Assets und Umgebung verbessern.
Verschiedene Anwendungen und Workflows sind verfügbar für die Erstellung von PBR-Texturen. Sie können diese während der Modellierungs- und Texturierungsphasen der Benutzerdefinierten Schöpfungverwenden, vorausgesetzt, dass Roblox Studio unterstützt die spezifischen Texturkarten, die Sie verwenden.
Diese Anleitung bietet Anweisungen, wie Sie Ihre Mesh-Objekte auf einstellen Ihre PBR-Texture-Karten, und beschreibt häufige Verwendungsfälle und Best Practices für Roblox's unterstützte PBR-Texture-Karten. Wenn Sie Ihre eigenen Oberflächen erstellen, sehen Sie Materialverweise für häufige Materialwerte, Bildvergleiche und Kleidungsbeispiele.
Aktivieren der Oberflächen-Ansicht
Du kannst PBR-Texturen zu jedem MeshPart hinzufügen, indem du ein SurfaceAppearance -Objekt hinzufügst, das die ursprünglich zugewiesene Textur überschreibt. Im Allgemeinen kannst du SurfaceAppearance -Eigenschaften nicht durch Skripte während einer Erfahrung ändern, da der Engine einige Vorbereitungen zur Anzeige dieser
Um die Oberfläche für ein MeshPart :
In dem Explorer-Fenster, bewegen Sie den Mauszeiger über die MeshPart und klicken Sie auf die Schaltfläche ⊕.
Fügen Sie einen Oberflächen-Speicher aus dem Kontextmenü ein.
Wenn Sie bereit sind, Texturen zu Ihrem SurfaceAppearance -Objekt hinzuzufügen, können Sie auf jede Map-Eigenschaft klicken, um die entsprechende Asset-ID für jedes Bild zu durchsuchen und festzulegen:
Texturkarten
Studio unterstützt derzeit 4 Arten von PBR-Texturen: Farbe , Normal , Metalness , 1> Roughness1> . Jeder dieser Karten entspricht einem wichtigen Aspekt der Oberflächenfarbe des Objekts. Texturkarten ändern nur die visuelle Aussehen und betreffen nicht die Geometrie des Objekts.
Siehe die folgenden Beispiele für eine Übersicht der unterstützten Texturen von Roblox und zusätzlichen Ressourcen:
Die ColorMap-Eigenschaft setzt die Farbdaten der Oberfläche, einschließlich der Transparenz, die in der Karte vorhanden ist. Siehe Farbe (Albedo) für weitere Informationen.
Farbe (Albedo)
Die Farbe oder Albedo , map determiniert die Farbe deiner Textur und besteht hauptsächlich aus Farb-Informationen mit wenig bis keine Beleuchtungs- oder Textur-Informationen. Für eine zusätzliche Anpassung kannst du auch Transparenz in deiner Textur hinzufügen, indem du Opacity zu deiner Bild-Map hinzufügst.
Alpha-Modi
Für Objekte, die teilweise oder vollständige Transparenzbereiche erfordern, wie Gras, Blätter, Schnur oder Aufkleber wie Dirt oder Grunge, kannst du verschiedene Alpha-Modi verwenden, um Transparenz auf deine Farbkarte anzuwenden. Wenn deine Farbkarte-Bildgröße unterstützt Alpha-Kanäle, kannst du
Du kannst Transparenz in zwei verschiedenen Verhaltensweisen anwenden, indem du die folgenden AlphaMode Werte einstellst:
- Overlay — Overlays the ColorMap over the underlying mesh's MeshPart.Color . Color maps using 0> Overlay 0> reveal the base color of the mesh anywhere transparency is present. This is the default Einstellung.
- Transparenz — Entfernt die sichtbare Matrix basierend auf der Transparenz im ColorMap. Dies rendert die Matrix durchsichtig und zeigt die ursprüngliche Matrixfarbe nicht, wenn Transparenz vorhanden ist.
Überschlag
Du kannst Overlay verwenden, um Abschnitte der ursprünglichen Farbe des Netzwerks zu zeigen. Da die transparenten Bereiche der Farbkarte die unterliegende Farbe anzeigen, kannst du eine einzigartige Texturkarte entwerfen, die teilweise oder vollständig die Mesh-Farbe Color zeigt für Benutzer mit einzigartigen Farben oder anderen Situationen.
Das folgende Beispiel zeigt, wie der Overlay-Modus mit einer weißen Kugel-Referenz funktioniert:
Das folgende Beispiel verwendet die Overlay- -Modus für benutzerdefinierte Charaktere, um den Charakter-ursprünglichen Skinton zu zeigen:
Siehe Benutzerdefinierte Hautton-Anpassung für weitere Details zur Optimierung eines Overlays für Skin und ähnliche Anwendungen.
Transparenz
Du kannst den Transparenz-Modus verwenden, um komplexe oder extrem feine Objekte, wie z. B. Schnur oder Netz, zu erstellen, indem du die sichtbaren Teile des Meshes als Alternative zum Modellieren der Meshes-Geometrie entfernst. Da dies nicht das Geheimnis des Meshes-Objekts beeinflusst, kannst du detaillierte Objekte erstellen, ohne die Leistung eines komplexen Meshes-Modells zu beeinflussen.
Das folgende Beispiel zeigt, wie eine teilweise und vollständige Transparenz in diesem Modus visuell Sektionen des Meshentfernt:
Farben-Färbung
Du kannst eine Farbton-Map auf deine Farbkarte anwenden, indem du die Eigenschaft SurfaceAppearance.Color modifizierst. Tinting hat keinen Einfluss auf die Leistung und du kannst auf der Erinnerung sparen, indem du eine einzige Farbton-Map mit verschiedenen Tinten wiederverwendest. Verwende Farbton-Tinting, um zusätzliche niedrige Kosten-Variante zwischen deinen Class.
SurfaceAppearance.Color tinting wird als Multiplikator angewendet, so dass der endgültige Look eine Funktion von Color3 (Textelfarbe) ist, wenn dieses Eigenschaft angewendet wird. Dies bedeutet, dass das Autorieren Ihres ursprünglichen SurfaceAppearance.Color in nahezu weißen Farb
Das Tinting gilt nur für die SurfaceAppearance.ColorMap und nicht für die MeshPart.Color. Du kannst weiterhin Alpha-Kanäle verwenden, wenn du Transparenz
Normal
Die normale oder Oberfläche -Karte fügt Ihrer Oberfläche Textur-Tiefe hinzu und verhält sich ähnlich wie eine Höhenkarte. Ergebniskann der Effekt abblenden oder intensivieren, abhängig vom Ansichtswinkel und der Umgebung. Wenn keine normale Karte vorhanden ist, wird der Wert auf 0.0 gesetzt.
In der folgenden Figur können Sie zwischen der Mesh-Referenz und der Map-Referenz für Vergleiche von normalen Kartenverten umstellen:
Die R, G und B-Kanäle des Bildes entsprechen jeweils den 2>X2>, 5>Y5> und 8>Z8>-Komponenten des lokalen Vektorkraft. Ein einheitliches Bild
Normale Karten wirken sich prominent auf die visuelle Oberfläche eines Meshes aus und können unangenehme Nähte in deiner Textur akzentuieren. Wenn möglich, halte deine Texturseme versteckt, um visuelle Probleme mit deinem Mesh zu vermeiden.
Rauigkeit
Roughness , oder Mikrooberfläche , bestimmen, wie Licht auf der Oberfläche deines Modells verteilt wird. Wenn Roughness 0.0 ist,streut die Oberfläche Allekein Licht ab, was zu einer viel schärferen und helleren Reflexion und Glanz auf deinem Material führt. Bei 1.0, Licht und Reflexionen verstreut sich überhaupt nicht, was eine weniger reflektier
Rasiertheit kann sich auf das Reflektierungsverhalten eines Objekts aus verschiedenen Blickwinkeln auswirken, als Fresnel -Effekt bekannt. Siehe Fresnel für weitere Details und Best Practices zum Erhalt einer konsistenten reflektierenden Verhalten.
Siehe die folgende Figur für Vergleiche von verschiedenen Roughness-Kartenwerten:
Fresnel
Fresnel bezieht sich auf die Menge der Reflexion einer Oberfläche in Bezug auf den aktuellen Ansichtswinkel. Studio's Fresnel-Verarbeitung zielt auf die physische Real-World-Genauigkeit ab, obwohl Sie unerwarteten spektralen Beitrag in bestimmten Winkeln erhalten können, auch mit rauen Oberflächen. In einigen Fällen können Sie kompensieren, indem Sie Ihre Rauigkeitskarte um 0,1 mehr rau machen, um eine konsistente
Obwohl Roblox diesen Beleuchtungseffekt genau rendert, kann die Helligkeit und Reflexion einer Oberfläche möglicherweise nicht konstant zwischen der Textur-Erstellungssoftware, wie Substance Painter, und Studio, reagieren. Siehe Kleidungsbeispiele für Unterschiede in der Darstellung zwischen Anwendungen.
Metallität
Metalness bestimmt die Reflektanz einer Oberfläche. Metalness- Werte reichen zwischen 0,0 und 1,0. Roblox setzt den Standardwert auf 0,0, wenn keine Metalness-Karte vorhanden ist.
Siehe die folgende Figur für Vergleiche von verschiedenen Metaless-Kartenwerten:
Different PBR Renderer verwenden verschiedene Workflows für die Verarbeitung von Reflexionen. Studio verwendet nur den Metall-Workflow, der bestimmt, ob ein Material ein Nichtmetall oder ein Metall ist, manchmal als 2>Isolator2> oder 5>Konduktor5> bekannt.
In den meisten Fällen solltest du diesen Wert entweder auf 0.0 (nichtmetall) oder 1.0 (metall) setzen. Du kannst partiell reflektierende Eigenschaften verwenden, wie z. B. Satin oder Seide, um ungewöhnere Oberflächen mit mäßigen reflektierenden Eigenschaften zu erstellen, z. B. Satin oder Seide. Diese Praktik kann die Reflexionen im Material subtil fälschieren, um die Farbe aus der Farbkarte