PBR-Texturen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Physically-Based Rendering (PBR) Texturen ermöglichen es Ihnen, realistische Schattierungen und Beleuchtungen darzustellen, indem Sie mehrere Arten von Texturbildern oder Karten auf einem einzigen Objekt verwenden. Die Kombination mehrerer Texturkarten kann Farbe, Rauheit und Reflexion in jeder Beleuchtungsumgebung genauer simulieren und die visuellen Elemente Ihrer Assets und Umgebung verbessern.

Ein humanoider Avatar mit Dreadlocks, einer glänzenden Jacke, Jeans mit Aufdrucken und Stiefeln.
Ein humanoider Avatar mit einem kurzen Haarschnitt, einer Lederjacke, Caprihosen und orangefarbenen Schuhen.

Es gibt verschiedene Anwendungen und Workflows zur Erstellung von PBR-Texturen. Sie können diese während der Modellierungs- und Texturierungsphasen der Erstellung benutzerdefinierter 3D-Objekte verwenden, vorausgesetzt, dass Roblox Studio die spezifischen Texturkarten unterstützt, die Sie verwenden.

Dieser Leitfaden bietet Anweisungen zum Einrichten Ihrer Mesh-Objekte zur Verwendung von PBR-Texturkarten und beschreibt gängige Anwendungsfälle und bewährte Verfahren für die von Roblox unterstützten PBR Texturkarten. Wenn Sie Ihre eigenen Oberflächen erstellen, siehe Materialreferenzen für gängige Materialwerte, Bildvergleiche und Kleidung Beispiele.

Aktivieren des Oberflächen-Erscheinungsbilds

Sie können PBR-Texturen zu jedem MeshPart hinzufügen, indem Sie ein SurfaceAppearance-Objekt hinzufügen, das die ursprünglich zugewiesene Textur überschreibt. Im Allgemeinen können Sie die Eigenschaften von SurfaceAppearance während eines Spiels nicht durch Skripte ändern, da die Engine eine Vorverarbeitung benötigt, um diese Grafiken anzuzeigen. Ähnlich wie beim Hinzufügen einer grundlegenden Textur muss jede Texturbildkarte auf die entsprechende hochgeladene Bild-Asset-ID verweisen.

Um das Oberflächen-Erscheinungsbild für ein MeshPart zu aktivieren:

  1. Bewegen Sie im Explorer-Fenster den Mauszeiger über das MeshPart und klicken Sie auf die ⊕-Schaltfläche.

  2. Fügen Sie ein SurfaceAppearance aus dem Kontextmenü ein.

    Ein SurfaceAppearance-Objekt, das innerhalb eines MeshPart im Explorer-Fenster von Studio angeordnet ist.

    Wenn Sie bereit sind, Texturkarten zum SurfaceAppearance-Objekt hinzuzufügen, können Sie auf jede Karten-Eigenschaft im Eigenschaften-Fenster klicken und eine Asset-ID eingeben.

Texturkarten

Studio unterstützt derzeit 5 Arten von PBR-Texturkarten: Farbe, Normal, Rauheit, Metallizität und emissiv. Jede dieser Karten entspricht einem wichtigen Aspekt des Oberflächen-Erscheinungsbilds des Objekts. Texturkarten ändern nur das visuelle Erscheinungsbild und beeinflussen nicht die Geometrie des MeshPart-Objekts.

Siehe die folgenden Beispiele für einen Überblick über die von Roblox unterstützten Texturkarten und zusätzliche Ressourcen:

Die ColorMap-Eigenschaft legt die Farbdaten der Oberfläche fest, einschließlich aller Transparenz, die in der Karte vorhanden ist. Siehe Farbe (Albedo) für zusätzliche Informationen.

Ein vollständig gefülltes Bild, hauptsächlich rot mit verschiedenen schwarzen Flecken und weißen Kratzern.
Beispielkarte
Eine leere weiße Kugel mit einem dunklen Hintergrund.
Beispiel-Mesh
Eine rote Kugel mit schwarzen Flecken und weißen Kratzern auf einem dunklen Hintergrund.
Mesh und Textur

Farbe (Albedo)

Die Farbe oder Albedo-Karte bestimmt die Farbe Ihrer Textur und besteht hauptsächlich aus Farbinformationen mit wenig bis keinen Licht- oder Texturinformationen. Für zusätzliche Anpassungen können Sie auch Transparenz in Ihrer Albedo-Textur hinzufügen, indem Sie Opazität zu Ihrer Bildkarte hinzufügen.

Alpha-Modi

Für Objekte, die teilweise oder vollständig transparente Abschnitte erfordern, wie Gras, Blätter, Spitze oder Aufkleber wie Schmutz oder Grunge, können Sie verschiedene Alpha-Modi verwenden, um Transparenz auf Ihre Farbkarte anzuwenden. Wenn Ihr Farbkarte-Bildformat Alpha-Kanäle unterstützt, können Sie eine Graustufen-Alpha-Karte anwenden, bei der 0.0 transparent und 1.0 undurchsichtig ist. Ebenso gilt, wenn Sie ein Bildformat wie .png verwenden, wird jede Opazität auf der Farbkarte als Transparenz auf dem Asset angewendet.

Sie können Transparenz auf zwei verschiedene Arten anwenden, indem Sie die folgenden AlphaMode-Werte festlegen:

  • Undurchsichtig — Ignoriert den Alpha-Kanal der ColorMap und verwendet den Farbwert direkt aus der Farbkarte.
  • Überlagerung — Überlagert die ColorMap über die darunter liegende Farbe des Meshs MeshPart.Color. Farbkarten, die den Überlagerungsmodus verwenden, zeigen die Basisfarbe des Meshs überall dort, wo Transparenz vorhanden ist. Dies ist die Standardeinstellung.
  • Transparenz — Entfernt das sichtbare Mesh basierend auf der Transparenz in der ColorMap. Dies macht das Mesh durchsichtig und zeigt nicht die ursprüngliche Meshfarbe, wann immer Transparenz vorhanden ist.
  • Tintmaske — Mischt die getönte ColorMap über die ungetönte ColorMap.
Undurchsichtig

Sie können den Enum.AlphaMode.Opaque-Modus verwenden, um den Alpha-Kanal der ColorMap vollständig zu ignorieren. In diesem Fall wird der Alpha-Wert als 1 (vollständig undurchsichtig) angenommen.

Das folgende Beispiel zeigt, wie der Opaque-Modus funktioniert, wobei ein blauer Gegenstand als Referenz verwendet wird:

Eine gepunktete Textur mit Transparenz. Der Hintergrund ist vollständig transparent.
Farbe/Albedo-Karte mit Transparenz
Eine blaue Kugel auf einer Fläche.
Beispiel-Mesh-Objekt
Die Kugel hat die gepunkteten Muster über ihrer Oberfläche verstreut. Der Transparenzwert wird ignoriert.
AlphaMode auf Opaque gesetzt
Überlagerung

Sie können Enum.AlphaMode.Overlay verwenden, um Abschnitte der ursprünglichen Farbe des Meshs sichtbar zu machen. Da die transparenten Bereiche der Farbkarte die darunter liegende Farbe freilegen, können Sie eine einzigartige Texturkarte entwerfen, die teilweise oder vollständig die Color-Eigenschaft des Meshs für benutzerdefinierte Hauttöne oder andere Situationen mit einzigartigen Farben offenbart.

Das folgende Beispiel zeigt, wie der Overlay-Modus funktioniert, wobei eine hellblaue Kugel als Referenz verwendet wird:

Ein vollständig gefülltes Bild eines halb-wiederholenden Musters mit kleinen hellblauen Quadraten. Der Hintergrund ist schachbrettartig, um Transparenz anzuzeigen.
Farbe/Albedo-Karte mit Transparenz
Eine leere cyanfarbene Kugel über einem dunklen Hintergrund.
Beispiel-Mesh-Objekt
Eine weiße Kugel mit kleinen blauen Quadraten, die über die Oberfläche verstreut sind.
AlphaMode auf Overlay gesetzt

Das folgende Beispiel verwendet den Overlay-Modus für benutzerdefinierte Charaktere und zeigt den ursprünglichen Hautton des Charakters:

Ein vollständig gefülltes Bild einer Texturkarte für ein 3D-humanoides Modell. Verschiedene Teile des Bildes sind schachbrettartig oder teilweise schachbrettartig, um unterschiedliche Transparenzgrade anzuzeigen.
Farbkarte mit Transparenz in Abschnitten, um die ursprüngliche Meshfarbe freizulegen
Vier der gleichen humanoiden Modelle mit unterschiedlichen Hauttönen: hellbraun, schwarz, weiß, dunkelgrün.
Mehrere Variationen von Charakteren mit einer einzigen Farbkarte, die den Overlay-Modus verwendet

Siehe benutzerdefinierte Hauttöne für zusätzliche Details zur Optimierung einer Überlagerung für Haut und ähnliche Anwendungen.

Transparenz

Sie können den Enum.AlphaMode.Transparency-Modus verwenden, um komplexe oder extrem feine Objekte wie Spitze oder Netz zu erstellen, indem Sie sichtbare Teile des Meshs entfernen, als Alternative zum Modellieren der Mesh-Geometrie. Da dies die Geometrie des Mesh-Objekts nicht beeinflusst, können Sie detaillierte Objekte erstellen, ohne die Leistungseinbußen eines komplizierten Mesh-Modells.

Das folgende Beispiel zeigt, wie teilweise und vollständige Transparenz in diesem Modus visuell Abschnitte des Meshs entfernt:

Eine Kugel mit einer korbartigen Oberfläche.
Keine Transparenz
Eine Kugel mit regelmäßigen dreieckigen Mustern auf ihrer Oberfläche, die teilweise unsichtbar sind.
Halbtransparenz in Abschnitten
Eine Kugel mit regelmäßigen dreieckigen Mustern auf ihrer Oberfläche, die vollständig unsichtbar sind.
Vollständige Transparenz in Abschnitten

Es gibt zwei Ergebnisse des Transparency-Modus, abhängig davon, ob MeshPart.Transparency auf 0 oder mindestens 0.02 gesetzt ist, obwohl numerische Präzision zu kleinen Werten wie 0.01 führen kann, die die undurchsichtige Transparenz auslösen.

  • Wenn Alpha verwendet wird, um die Form von überwiegend undurchsichtigen Objekten mit harten Kanten wie Laub, Spitzenstoff und Netz auszuschneiden, setzen Sie MeshPart.Transparency auf 0. Wenn Teile der Oberfläche vollständig undurchsichtig sind, kann die Roblox-Engine sie mit ordnungsgemäßer tiefenbasierter Okklusion rendern. Undurchsichtige Oberflächen funktionieren auch im Allgemeinen besser mit tiefenbasierten Effekten wie DepthOfFieldEffect, Glas- und Wasserbrechung sowie Wasserreflexion.
  • Wenn Alpha verwendet wird, um Details zu halbtransparenten Objekten oder Objekten mit sanften Transparenzverläufen hinzuzufügen, setzen Sie MeshPart.Transparency auf mindestens 0.02. Dies verbessert die Qualität des Mischens für Objekte wie schmutzige Fenster und weichkantige Federn, funktioniert jedoch nicht mit allen Effekten.
Tintmaske

Sie können den Enum.AlphaMode.TintMask-Modus verwenden, um SurfaceAppearance.Color-Tönung auf selektive Bereiche einer Oberfläche anzuwenden. Die Tönung ist am stärksten, wo der Alpha-Kanal vollständig sichtbar ist, und wird nicht angewendet, wo der Alpha-Kanal transparent ist.

Eine warme, hellfarbige Ziegeltextur mit dunklerem grauem strukturiertem Fugenmörtel zwischen den Ziegeln.
Beispiel-Ziegeltextur, die die Farbdetaillierung auf den Ziegelflächen sowie im Fugenmörtel zwischen den Ziegeln zeigt.

Farbtonung

Sie können eine Tönung auf Ihre Farbkarte anwenden, indem Sie die SurfaceAppearance.Color-Eigenschaft ändern. Tönung hat keinen Einfluss auf die Leistung, und Sie können Speicher sparen, indem Sie eine einzelne Farbkarte mit unterschiedlichen Tönungen wiederverwenden. Verwenden Sie die Farbtonung, um zusätzliche kostengünstige Variationen zwischen Ihren MeshPart PBR-Texturen zu erstellen oder um Ihre PBR-Oberflächenfarben in Echtzeit programmatisch zu ändern.

Eine Statue mit einer standardmäßigen gelben Tönung und reflektierenden jadeähnlichen Eigenschaften.
Statue-Mesh aus The Mystery of Duvall Drive ohne Tönung.
Eine Statue mit roter Tönung, die weiterhin glänzende reflektierende Eigenschaften von ihren anderen Texturkarten hat.
Statue-Mesh mit Color auf rot gesetzt.
Eine Statue mit grüner Tönung, die weiterhin glänzende reflektierende Eigenschaften von ihren anderen Texturkarten hat.
Statue-Mesh mit Color auf grün gesetzt.

Die SurfaceAppearance.Color-Tönung wird als Multiplikator angewendet, sodass das endgültige Erscheinungsbild eine Funktion von Color3 (Texel-Farbe) mal SurfaceAppearance.Color ist. Das bedeutet, dass das Erstellen Ihrer ursprünglichen SurfaceAppearance.ColorMap in nahezu weißen Graustufenfarben den stärksten Tönungseffekt erzeugt, wenn diese Eigenschaft angewendet wird.

Die Tönung gilt nur für die SurfaceAppearance.ColorMap und nicht für die MeshPart.Color. Sie können weiterhin Alpha-Kanäle verwenden, wenn Sie Transparenz anwenden.

Wenn SurfaceAppearance.AlphaMode auf Overlay gesetzt ist und ein Alpha-Kanal vorhanden ist, wird die zugrunde liegende MeshPart.Color sichtbar, und die SurfaceAppearance.Color-Tönung gilt nur für die sichtbare SurfaceAppearance-Farbkarte.

Wenn SurfaceAppearance.AlphaMode auf TintMask gesetzt ist und ein Alpha-Kanal vorhanden ist, steuert der Alpha-Kanal die Menge der SurfaceAppearance.Color-Tönung. Die Tönung ist am stärksten, wo der Alpha-Kanal vollständig sichtbar ist, und wird nicht angewendet, wo der Alpha-Kanal transparent ist.

Eine schwebende quadratische Fläche mit einer cyanfarbenen Schiefertextur, die allmählich von vollständig transparent links zu vollständig undurchsichtig rechts wechselt. Eine dünne horizontale Leiste unter der schwebenden Fläche hat einen Verlauf mit Schwarz links und Weiß rechts.
AlphaMode auf Transparency gesetzt. Die Graustufenverlauf-Leiste unten zeigt den Alpha-Wert an. MeshPart.Color ist auf rot gesetzt und SurfaceAppearance.Color ist auf cyan gesetzt.

Normal

Die Normal- oder Oberflächen-Karte fügt Ihrer Oberfläche Texturtiefe hinzu und verhält sich ähnlich wie eine Höhenkarte. Infolgedessen kann der Effekt je nach Betrachtungswinkel und Beleuchtungsumgebung verblassen oder intensiver werden.

In der folgenden Abbildung können Sie zwischen der Mesh-Referenz und der Kartenreferenz wechseln, um die Normalwertkarten zu vergleichen:

Eine tonfarbene glatte Kugel.
Eine tonfarbene Kugel mit einer mäßig felsigen Oberfläche.
Eine tonfarbene Kugel mit einer extrem felsigen Oberfläche

Die R, G und B Kanäle des Bildes entsprechen jeweils den X, Y und Z Komponenten des lokalen Oberflächenvektors. Ein einheitliches Bild mit der Farbe [127, 127, 255] übersetzt sich in eine vollständig flache Normalmap. Roblox unterstützt nur OpenGL-Format - Tangent Space Normalmaps.

Normalmaps beeinflussen das visuelle Erscheinungsbild einer Mesh-Oberfläche erheblich und können unangenehme Nähte in Ihrer Textur betonen. Halten Sie, wann immer möglich, Ihre Texturnähte verborgen, um visuelle Probleme mit Ihrem Mesh zu vermeiden.

Rauheit

Rauheit oder Mikrooberfläche-Karten bestimmen, wie Licht über die Oberfläche Ihres Modells verteilt wird. Wenn die Rauheit bei 0 % liegt, streut die Oberfläche kein Licht, was zu einer viel schärferen und helleren Reflexion und Glanz auf Ihrem Material führt. Bei 100 % streuen Licht und Reflexionen gleichmäßig über das Modell, was zu einer weniger reflektierenden, matten Oberfläche führt.

Die folgende Abbildung zeigt Vergleiche verschiedener Rauheitskartenwerte:

Eine blaue glänzende Kugel.
0%
Eine blaue semi-glänzende Kugel.
50%
Eine blaue matte Kugel.
100%

Rauheit kann beeinflussen, wie reflektierend ein Objekt aus verschiedenen Winkeln ist, was als Fresnel-Effekt bezeichnet wird. Das Fresnel-Processing von Studio zielt auf physikalische Genauigkeit in der realen Welt ab, obwohl Sie möglicherweise unerwartete spekuläre Beiträge aus bestimmten Winkeln erhalten, selbst bei rauen Oberflächen. In einigen Fällen können Sie dies kompensieren, indem Sie den Wert Ihrer Rauheitskarte um etwa 0.1 rauer erhöhen, um eine konsistente Lichtreaktion mit Ihren Materialien zu erzielen.

Obwohl Roblox diesen Lichteffekt genau rendert, kann die Helligkeit und Reflexion einer Oberfläche nicht konsistent zwischen Ihrer Texturerstellungssoftware, wie Substance Painter, und Studio reagieren. Siehe Kleidungsbeispiele für Unterschiede in der Darstellung zwischen Anwendungen.

Metallizität

Metallizität bestimmt die Reflexion einer Oberfläche. In den meisten Fällen sollten Sie diesen Wert auf entweder 0 % (nicht metallisch) oder 100 % (metallisch) setzen, obwohl Sie auch teilweise Metallizitätswerte verwenden können, wenn Sie Oberflächen mit moderaten reflektierenden Eigenschaften wie Satin oder Seide erstellen. Diese Praxis kann subtil die Reflexionen im Material fälschen, um die Farbe aus der Farbe/Albedo-Karte über Farben, die in der Umgebung reflektiert werden, hervorzuheben.

Siehe die folgende Abbildung für Vergleiche verschiedener Metallizitätskartenwerte:

Eine braune Kugel mit hellen Flecken.
0%
Eine braune Kugel mit hellen Flecken und etwas Reflexion.
50%
Eine braune Kugel mit moderaten Flecken und viel Reflexion.
100%

Verschiedene PBR-Renderer verwenden verschiedene Workflows zur Verarbeitung der Reflexion. Studio verwendet nur den Metallizitäts-Workflow, der bestimmt, ob ein Material nicht metallisch oder metallisch ist, manchmal auch als Isolator oder Leiter bezeichnet.

Emissive-Maske

Eine Graustufen-EmissiveMaskContent-Inhalts-Textur wendet eine emissive Maske über die Oberfläche an. Dies ermöglicht es Ihnen, eine Textur zu verwenden, um die Emissivität für mehr künstlerische Kontrolle als das alles-oder-nichts Neon-Material zu steuern und ermöglicht es Ihnen, detaillierte leuchtende Effekte wie beleuchteten Text, futuristische Rüstungen oder biolumineszente Kreaturen zu erstellen.

Die zugehörige EmissiveTint-Eigenschaft bestimmt die Tönungsfarbe für den emissiven Beitrag, und EmissiveStrength bestimmt die Stärke des emissiven Beitrags.

Eine orangefarbene Kugel mit einer Kürbis-emissiven Maske, die auf Magenta getönt ist.
EmissiveTint = [255, 0, 255]
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.