PBR-texturen

*Deze inhoud is vertaald met behulp van AI (bèta) en kan fouten bevatten. Klik hier om deze pagina in het Engels te bekijken.

Fysiek-gebaseerde weergave (PBR) texturen stellen je in staat om realistische schaduwen en verlichting weer te geven door meerdere soorten textuurafbeeldingen, of kaarten, op een enkel object te gebruiken. Het combineren van meerdere textuurkaarten kan kleur, ruwheid en reflectiviteit nauwkeuriger simuleren in elke verlichtingsomgeving en kan de visuele elementen van je activa en omgeving verbeteren.

Een humanoïde avatar met dreadlocks, een glanzende jas, jeans met decals en laarzen.
Een humanoïde avatar met een kort kapsel, leren jas, capri-broek en oranje schoenen.

Er zijn verschillende toepassingen en workflows beschikbaar voor het maken van PBR-texturen. Je kunt deze gebruiken tijdens de modellering en texturering van aangepaste 3D-objecten, op voorwaarde dat Roblox Studio de specifieke textuurkaarten ondersteunt die je gebruikt.

Deze gids biedt instructies over het instellen van je mesh-objecten om PBR-textuurkaarten te gebruiken en beschrijft veelvoorkomende gebruikssituaties en best practices voor de door Roblox ondersteunde PBR textuurkaarten. Wanneer je je eigen oppervlakken maakt, zie materiaalreferenties voor veelvoorkomende materiaalwaarden, afbeeldingsvergelijkingen en kledingvoorbeelden.

Surface appearance inschakelen

Je kunt PBR-texturen toevoegen aan elke MeshPart door een SurfaceAppearance object toe te voegen dat de oorspronkelijk toegewezen textuur overschrijft. In het algemeen kun je SurfaceAppearance-eigenschappen niet wijzigen via scripts tijdens een spel, omdat de engine enige preprocessing vereist om deze graphics weer te geven. Net als bij het toevoegen van een basis textuur, moet elke textuurafbeeldingskaart naar de juiste geüploade afbeeldingsasset-ID verwijzen.

Om de surface appearance voor een MeshPart in te schakelen:

  1. In het Explorer-venster, beweeg de muis over de MeshPart en klik op de ⊕ knop.

  2. Voeg een SurfaceAppearance toe vanuit het contextmenu.

    Een SurfaceAppearance-object dat binnen een MeshPart in het Explorer-venster van Studio is geplaatst.

    Wanneer je klaar bent om textuurkaarten aan het SurfaceAppearance-object toe te voegen, kun je op elke kaart-eigenschap in het Eigenschappen-venster klikken en een asset-ID invoeren.

Textuurkaarten

Studio ondersteunt momenteel 5 soorten PBR-textuurkaarten: kleur, normaal, ruwheid, metaalheid en emissief. Elke van deze kaarten komt overeen met een belangrijk aspect van het uiterlijk van het objectoppervlak. Textuurkaarten veranderen alleen het visuele uiterlijk en hebben geen invloed op de geometrie van het MeshPart-object.

Zie de volgende voorbeelden voor een overzicht van de door Roblox ondersteunde textuurkaarten en aanvullende bronnen:

De ColorMap eigenschap stelt de kleurgegevens van het oppervlak in, inclusief eventuele transparantie die in de kaart aanwezig is. Zie kleur (albedo) voor aanvullende informatie.

Een volledig gevulde afbeelding, voornamelijk rood met verschillende zwarte vlekken en witte krassen.
Voorbeeldkaart
Een lege witte bol met een donkere achtergrond.
Voorbeeldmesh
Een rode bol met zwarte vlekken en witte krassen met een donkere achtergrond.
Mesh en textuur

Kleur (albedo)

De kleur, of albedo, kaart bepaalt de kleur van je textuur en bestaat voornamelijk uit kleurinformatie met weinig tot geen verlichting of textuurinformatie. Voor aanvullende aanpassing kun je ook transparantie aan je albedo-textuur toevoegen door opaciteit aan je afbeeldingskaart toe te voegen.

Alpha-modi

Voor objecten die gedeeltelijke of volledige transparante secties vereisen, zoals gras, bladeren, kant of decals zoals vuil of grunge, kun je verschillende alpha-modi gebruiken om transparantie op je kleurkaart toe te passen. Als je afbeeldingsformaat voor de kleurkaart alpha-kanalen ondersteunt, kun je een grijswaarden alpha-kaart toepassen waarbij 0.0 transparant is en 1.0 ondoorzichtig. Evenzo, wanneer je een afbeeldingsformaat zoals een .png gebruikt, wordt elke opaciteit op de kleurkaart toegepast als transparantie op het asset.

Je kunt transparantie op twee verschillende manieren toepassen door de volgende AlphaMode waarden in te stellen:

  • Opaque — Negeert het alpha-kanaal van de ColorMap en gebruikt de kleurwaarde rechtstreeks van de kleurkaart.
  • Overlay — Overlayt de ColorMap over de onderliggende kleur van de mesh MeshPart.Color. Kleurkaarten die de overlay-modus gebruiken onthullen de basiskleur van de mesh waar transparantie aanwezig is. Dit is de standaardinstelling.
  • Transparantie — Verwijdert de zichtbare mesh op basis van transparantie in de ColorMap. Dit maakt de mesh doorzichtig en onthult niet de oorspronkelijke kleur van de mesh wanneer transparantie aanwezig is.
  • Tintmasker — Mengt de getinte ColorMap over de ongekleurde ColorMap.
Opaque

Je kunt de Enum.AlphaMode.Opaque modus gebruiken om het alpha-kanaal van de ColorMap volledig te negeren. In dit geval wordt de alpha-waarde verondersteld 1 (volledig ondoorzichtig) te zijn.

Het volgende voorbeeld demonstreert hoe de Opaque modus werkt met een blauwe object als referentie:

Een stippen textuur met transparantie. De achtergrond is volledig transparant.
Kleur/albedo kaart met transparantie
Een blauwe bol op een vlak.
Voorbeeldmesh-object
De bol heeft de stippenpatronen verspreid over zijn oppervlak. De transparantiewaarde wordt genegeerd.
AlphaMode ingesteld op Opaque
Overlay

Je kunt Enum.AlphaMode.Overlay gebruiken om secties van de oorspronkelijke kleur van de mesh te onthullen. Aangezien de transparante gebieden van de kleurkaart de onderliggende kleur blootleggen, kun je een unieke textuurkaart ontwerpen die gedeeltelijk of volledig de Color eigenschap van de mesh onthult voor aangepaste huidskleuren of andere situaties met unieke kleuren.

Het volgende voorbeeld demonstreert hoe de Overlay modus werkt met een lichtblauwe bol als referentie:

Een volledig gevulde afbeelding van een semi-herhalend patroon met kleine lichtblauwe vierkanten. De achtergrond is geblokt om transparantie aan te geven.
Kleur/albedo kaart met transparantie
Een lege cyaan bol op een donkere achtergrond.
Voorbeeldmesh-object
Een witte bol met kleine blauwe vierkanten verspreid over het oppervlak.
AlphaMode ingesteld op Overlay

Het volgende voorbeeld gebruikt de Overlay modus voor aangepaste karakters, waarbij de oorspronkelijke huidskleur van het karakter wordt onthuld:

Een volledig gevulde afbeelding van een textuurkaart voor een 3D-humanoïde model. Verschillende delen van de afbeelding zijn geblokt of gedeeltelijk geblokt om verschillende niveaus van transparantie aan te geven.
Kleurkaart met transparantie in secties om de oorspronkelijke kleur van de mesh bloot te leggen
Vier van dezelfde humanoïde modellen met verschillende huidskleuren: lichtbruin, zwart, wit, donkergroen.
Verschillende variaties van karakters met een enkele kleurkaart die de Overlay modus gebruikt

Zie aangepaste huidskleur voor aanvullende details over het optimaliseren van een overlay voor huid en soortgelijke toepassingen.

Transparantie

Je kunt de Enum.AlphaMode.Transparency modus gebruiken om complexe of extreem fijne objecten, zoals kant of net, te creëren door zichtbare delen van de mesh te verwijderen als alternatief voor het sculpturen van de mesh-geometrie. Aangezien dit geen invloed heeft op de geometrie van het mesh-object, kan dit je in staat stellen om gedetailleerde objecten te creëren zonder de prestatie-impact van een ingewikkeld mesh-model.

Het volgende voorbeeld demonstreert hoe een gedeeltelijke en volledige transparantie in deze modus visueel secties van de mesh verwijdert:

Een bol met een mandachtige oppervlakte.
Geen transparantie
Een bol met reguliere driehoekige patronen op zijn oppervlak gedeeltelijk onzichtbaar.
Half transparantie in secties
Een bol met reguliere driehoekige patronen op zijn oppervlak volledig onzichtbaar.
Volledige transparantie in secties

Er zijn twee uitkomsten van de Transparency modus, afhankelijk van of de MeshPart.Transparency is ingesteld op 0 of minimaal 0.02, hoewel numerieke precisie kan resulteren in kleine waarden zoals 0.01 die de ondoorzichtige transparantie activeren.

  • Wanneer alpha wordt gebruikt om de vorm van voornamelijk ondoorzichtige objecten met scherpe randen zoals loof, kantstof en netten uit te snijden, stel je de MeshPart.Transparency in op 0. Wanneer delen van het oppervlak volledig ondoorzichtig zijn, kan de Roblox-engine ze renderen met de juiste diepte-gebaseerde occlusie. Ondoorzichtige oppervlakken werken ook over het algemeen beter met diepte-gebaseerde effecten zoals DepthOfFieldEffect, glas- en waterbreking, en waterreflectie.
  • Wanneer alpha wordt gebruikt om detail toe te voegen aan semi-transparante objecten of objecten met gladde overgangen van transparantie, stel je de MeshPart.Transparency in op minimaal 0.02. Dit verbetert de kwaliteit van de menging voor objecten zoals vuile ramen en zachtgezoomde veren, maar het werkt mogelijk niet met alle effecten.
Tintmasker

Je kunt de Enum.AlphaMode.TintMask modus gebruiken om SurfaceAppearance.Color tinting toe te passen op selectieve gebieden van een oppervlak. De tinting is het sterkst waar het alpha-kanaal volledig zichtbaar is en niet toegepast waar het alpha-kanaal transparant is.

Een warme, lichtgekleurde baksteen textuur met donkergrijze textuurvoegen tussen de stenen.
Voorbeeld baksteen textuur, die de kleurdetails op de bakstenen gezichten toont evenals in de voegen tussen de stenen.

Kleur tinting

Je kunt een tint aan je kleurkaart toepassen door de SurfaceAppearance.Color eigenschap te wijzigen. Tinting heeft geen invloed op de prestaties en je kunt geheugen besparen door een enkele kleurkaart met verschillende tinten opnieuw te gebruiken. Gebruik kleur tinting om extra goedkope variatie te creëren tussen je MeshPart PBR-texturen of om je PBR-oppervlaktekleuren in realtime programmatisch te wijzigen.

Een standbeeld met een standaard gele tint en reflecterende jade-achtige eigenschappen.
Standbeeld mesh van The Mystery of Duvall Drive zonder tinting.
Een standbeeld met een rode tint en blijft glanzende reflecterende eigenschappen behouden van zijn andere textuurkaarten.
Standbeeld mesh met Color ingesteld op rood.
Een standbeeld met een groene tint en blijft glanzende reflecterende eigenschappen behouden van zijn andere textuurkaarten.
Standbeeld mesh met Color ingesteld op groen.

SurfaceAppearance.Color tinting wordt toegepast als een vermenigvuldiger, dus het uiteindelijke uiterlijk is een functie van Color3 (texel kleur) keer SurfaceAppearance.Color. Dit betekent dat het maken van je oorspronkelijke SurfaceAppearance.ColorMap in bijna-witte grijswaarden kleuren het sterkste tintingseffect creëert wanneer deze eigenschap wordt toegepast.

Tinting geldt alleen voor de SurfaceAppearance.ColorMap en niet voor de MeshPart.Color. Je kunt alpha-kanalen blijven gebruiken bij het toepassen van transparantie.

Wanneer SurfaceAppearance.AlphaMode is ingesteld op Overlay en een alpha-kanaal aanwezig is, wordt de onderliggende MeshPart.Color onthuld en geldt de SurfaceAppearance.Color tinting alleen voor de zichtbare SurfaceAppearance kleurkaart.

Wanneer SurfaceAppearance.AlphaMode is ingesteld op TintMask en een alpha-kanaal aanwezig is, controleert het alpha-kanaal de hoeveelheid SurfaceAppearance.Color tinting. De tinting is het sterkst waar het alpha-kanaal volledig zichtbaar is en niet toegepast waar het alpha-kanaal transparant is.

Een zwevende vierkante plaat met een cyaan leisteen textuur, die geleidelijk verandert van volledig transparant aan de linkerkant naar volledig ondoorzichtig aan de rechterkant. Een dunne horizontale balk onder de zwevende plaat heeft een verloop met zwart aan de linkerkant en wit aan de rechterkant.
AlphaMode ingesteld op Transparency. De grijswaarden verloopbalk onderaan geeft de alpha-waarde aan. MeshPart.Color is ingesteld op rood en SurfaceAppearance.Color is ingesteld op cyaan.

Normaal

De normaal, of oppervlak, kaart voegt textuurdiepte toe aan je oppervlak en gedraagt zich vergelijkbaar met een hoogtekaart. Als gevolg hiervan kan het effect vervagen of intensiveren, afhankelijk van de kijkhoek en verlichtingsomgeving.

In de volgende figuur kun je schakelen tussen de mesh-referentie en de kaartreferentie voor vergelijkingen van normaal kaartwaarden:

Een kleikleurige gladde bol.
Een kleikleurige bol met een gematigd rotsachtig oppervlak.
Een kleikleurige bol met een extreem rotsachtig oppervlak

De R, G en B kanalen van de afbeelding komen respectievelijk overeen met de X, Y en Z componenten van de lokale oppervlakvector. Een uniforme afbeelding van kleur [127, 127, 255] vertaalt naar een volledig vlakke normaal kaart. Roblox ondersteunt alleen OpenGL-formaat - Tangent Space normaal kaarten.

Normaal kaarten beïnvloeden prominent het visuele oppervlak van een mesh en kunnen ongemakkelijke naden in je textuur accentueren. Wanneer mogelijk, houd je textuurnaden verborgen om visuele problemen met je mesh te voorkomen.

Ruwheid

Ruwheid, of microsurface, kaarten bepalen hoe licht over het oppervlak van je model wordt verspreid. Wanneer de ruwheid op 0% staat, verspreidt het oppervlak helemaal geen licht, wat resulteert in een veel scherpere en helderdere reflectie en glans op je materiaal. Bij 100% verspreidt licht en reflecties zich gelijkmatig over het model, wat resulteert in een minder reflectief matachtig oppervlak.

De volgende figuur toont vergelijkingen van verschillende ruwheid kaartwaarden:

Een blauwe glanzende bol.
0%
Een blauwe semi-glanzende bol.
50%
Een blauwe matte bol.
100%

Ruwheid kan van invloed zijn op hoe reflectief een object is vanuit verschillende hoeken, wat de Fresnel-effect wordt genoemd. De fresnelverwerking van Studio streeft naar fysieke nauwkeurigheid in de echte wereld, hoewel je mogelijk onverwachte speculaire bijdragen kunt krijgen onder bepaalde hoeken, zelfs met ruwe oppervlakken. In sommige gevallen kun je compenseren door je ruwheid kaartwaarde met ongeveer 0.1 ruwer te verhogen om een consistente lichtrespons met je materialen te bereiken.

Hoewel Roblox dit lichteffect nauwkeurig weergeeft, reageert de helderheid en reflectiviteit van een oppervlak mogelijk niet consistent tussen je textuurinhoudcreatiesoftware, zoals Substance Painter, en Studio. Zie kledingvoorbeelden voor verschillen in rendering tussen toepassingen.

Metaalheid

Metaalheid bepaalt de reflectiviteit van een oppervlak. In de meeste gevallen moet je deze waarde instellen op ofwel 0% (niet-metaal) of 100% (metaal), hoewel je gedeeltelijke metaalheidwaarden kunt gebruiken bij het creëren van oppervlakken met gematigde reflectieve eigenschappen zoals satijn of zijde. Deze praktijk kan subtiel de reflecties in het materiaal faken om de kleur van de kleur/albedo kaart te benadrukken boven kleuren die in de omgeving worden gereflecteerd.

Zie de volgende figuur voor vergelijkingen van verschillende metaalheid kaartwaarden:

Een bruine bol met lichte vlekken.
0%
Een bruine bol met lichte vlekken en enige reflectiviteit.
50%
Een bruine bol met gematigde vlekken en veel reflectiviteit.
100%

Verschillende PBR-renderers gebruiken verschillende workflows voor het verwerken van reflectiviteit. Studio gebruikt alleen de metaalheid workflow die bepaalt of een materiaal een niet-metaal of een metaal is, soms aangeduid als een isolator of geleider.

Emissief masker

Een grijswaarden EmissiveMaskContent inhoudtextuur past een emissief masker toe over het oppervlak. Dit stelt je in staat om een textuur te gebruiken om emissiviteit te regelen voor meer artistieke controle dan het alles-of-niets Neon materiaal en stelt je in staat om gedetailleerde gloeiende effecten te creëren zoals verlichte tekst, futuristische harnassen of bioluminescente wezens.

De bijbehorende EmissiveTint eigenschap bepaalt de tintkleur voor emissieve bijdrage, en EmissiveStrength bepaalt de sterkte van de emissieve bijdrage.

Een oranje bol met een pompoen emissief masker getint naar magenta.
EmissiveTint = [255, 0, 255]
©2026 Roblox Corporation. Roblox, het Roblox-logo en Powering Imagination behoren tot onze geregistreerde en niet-geregistreerde handelsmerken in de VS en andere landen.