Tekstury PBR

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Renderowanie oparte na fizyce (PBR) pozwala na realistyczne odwzorowanie cieni i oświetlenia poprzez użycie wielu typów obrazów tekstur, zwanych mapami, na jednym obiekcie. Łączenie wielu map tekstur może dokładniej symulować kolor, chropowatość i odbicie w dowolnym środowisku oświetleniowym oraz może poprawić wizualne elementy twoich zasobów i otoczenia.

Ludzki awatar z dredami, błyszczącą kurtką, dżinsami z naklejkami i butami.
Ludzki awatar z krótkimi włosami, skórzaną kurtką, spodniami capri i pomarańczowymi butami.

Istnieje wiele aplikacji i przepływów pracy dostępnych do tworzenia tekstur PBR. Możesz ich używać podczas modelowania i teksturowania niestandardowych obiektów 3D, pod warunkiem, że Roblox Studio obsługuje konkretne mapy tekstur, których używasz.

Ten przewodnik zawiera instrukcje dotyczące konfigurowania obiektów siatki do używania map tekstur PBR oraz opisuje typowe przypadki użycia i najlepsze praktyki dla obsługiwanych przez Roblox map tekstur PBR map tekstur. Tworząc własne powierzchnie, zapoznaj się z odniesieniami materiałowymi w celu uzyskania wspólnych wartości materiałów, porównań obrazów i przykładów odzieży.

Włącz wygląd powierzchni

Możesz dodać tekstury PBR do dowolnego MeshPart, dodając obiekt SurfaceAppearance, który nadpisuje oryginalnie przypisaną teksturę. Ogólnie rzecz biorąc, nie możesz modyfikować właściwości SurfaceAppearance za pomocą skryptów podczas gry, ponieważ silnik wymaga pewnego wstępnego przetwarzania, aby wyświetlić te grafiki. Podobnie jak w przypadku dodawania podstawowej tekstury, każda mapa obrazu tekstury musi wskazywać na odpowiedni przesłany identyfikator zasobu obrazu.

Aby włączyć wygląd powierzchni dla MeshPart:

  1. W oknie Eksploratora najedź na MeshPart i kliknij przycisk ⊕.

  2. Wstaw SurfaceAppearance z menu kontekstowego.

    Obiekt SurfaceAppearance umieszczony w MeshPart w oknie Eksploratora Studio.

    Gdy będziesz gotowy, aby dodać mapy tekstur do obiektu SurfaceAppearance, możesz kliknąć każdą właściwość mapy w oknie Właściwości i wprowadzić identyfikator zasobu.

Mapy tekstur

Studio obecnie obsługuje 5 typów map tekstur PBR: kolor, normalna, chropowatość, metaliczność i emisyjna. Każda z tych map odpowiada ważnemu aspektowi wyglądu powierzchni obiektu. Mapy tekstur zmieniają tylko wygląd wizualny i nie wpływają na geometrię obiektu MeshPart.

Zobacz poniższe przykłady, aby uzyskać przegląd obsługiwanych przez Roblox map tekstur i dodatkowych zasobów:

Właściwość ColorMap ustawia dane kolorów powierzchni, w tym wszelką przezroczystość obecną w mapie. Zobacz kolor (albedo) w celu uzyskania dodatkowych informacji.

Całkowicie wypełniony obraz, głównie czerwony z różnymi czarnymi plamami i białymi zarysowaniami.
Przykładowa mapa
Pusta biała kula na ciemnym tle.
Przykładowa siatka
Czerwona kula z czarnymi plamami i białymi zarysowaniami na ciemnym tle.
Siatka i tekstura

Kolor (albedo)

Kolor, lub albedo, mapa określa kolor twojej tekstury i składa się głównie z informacji o kolorze z niewielką ilością informacji o oświetleniu lub teksturze. Dla dodatkowej personalizacji możesz również dodać przezroczystość w swojej teksturze albedo, dodając przezroczystość do swojej mapy obrazu.

Tryby alfa

Dla obiektów, które wymagają częściowych lub całkowitych sekcji przezroczystości, takich jak trawa, liście, koronki lub naklejki, takie jak brud lub grunge, możesz użyć różnych trybów alfa, aby zastosować przezroczystość do swojej mapy kolorów. Jeśli format obrazu twojej mapy kolorów obsługuje kanały alfa, możesz zastosować mapę alfa w odcieniach szarości, gdzie 0.0 jest przezroczyste, a 1.0 jest nieprzezroczyste. Podobnie, gdy używasz formatu obrazu takiego jak .png, wszelka przezroczystość na mapie kolorów stosuje się jako przezroczystość na zasobie.

Możesz zastosować przezroczystość w dwóch różnych zachowaniach, ustawiając następujące wartości AlphaMode:

  • Nieprzezroczysty — Ignoruje kanał alfa ColorMap i używa wartości koloru bezpośrednio z mapy kolorów.
  • Nakładka — Nakłada ColorMap na kolor MeshPart.Color pod spodem. Mapy kolorów używające trybu nakładki ujawniają podstawowy kolor siatki wszędzie tam, gdzie obecna jest przezroczystość. To jest ustawienie domyślne.
  • Przezroczystość — Usuwa widoczną siatkę na podstawie przezroczystości w ColorMap. To renderuje siatkę przezroczystą i nie ujawnia oryginalnego koloru siatki, gdy obecna jest przezroczystość.
  • Maska koloru — Miesza zabarwioną ColorMap z niezabarwioną ColorMap.
Nieprzezroczysty

Możesz użyć trybu Enum.AlphaMode.Opaque, aby całkowicie zignorować kanał alfa ColorMap. W takim przypadku wartość alfa jest przyjmowana jako 1 (całkowicie nieprzezroczysta).

Poniższy przykład demonstruje, jak działa tryb Opaque, używając niebieskiego obiektu jako odniesienia:

Tekstura w kropki z przezroczystością. Tło jest całkowicie przezroczyste.
Mapa kolorów/albedo z przezroczystością
Niebieska kula na płaszczyźnie.
Przykładowy obiekt siatki
Kula ma wzory w kropki rozrzucone po jej powierzchni. Wartość przezroczystości jest ignorowana.
AlphaMode ustawione na Opaque
Nakładka

Możesz użyć Enum.AlphaMode.Overlay, aby ujawnić sekcje oryginalnego koloru siatki. Ponieważ przezroczyste obszary mapy kolorów odsłaniają kolor pod spodem, możesz zaprojektować unikalną mapę tekstur, która częściowo lub całkowicie ujawnia właściwość koloru Color dla niestandardowych odcieni skóry lub innych sytuacji z unikalnymi kolorami.

Poniższy przykład demonstruje, jak działa tryb Overlay, używając odniesienia do jasnoniebieskiej kuli:

Całkowicie wypełniony obraz półpowtarzającego się wzoru z małymi jasnoniebieskimi kwadratami. Tło jest w kratkę, aby wskazać przezroczystość.
Mapa kolorów/albedo z przezroczystością
Pusta cyjanowa kula na ciemnym tle.
Przykładowy obiekt siatki
Biała kula z małymi niebieskimi kwadratami rozrzuconymi po powierzchni.
AlphaMode ustawione na Overlay

Poniższy przykład używa trybu Overlay dla niestandardowych postaci, ujawniając oryginalny odcień skóry postaci:

Całkowicie wypełniony obraz mapy tekstury dla modelu humanoidalnego 3D. Różne części obrazu są w kratkę lub częściowo w kratkę, aby wskazać różne poziomy przezroczystości.
Mapa kolorów zawierająca przezroczystość w sekcjach, aby odsłonić oryginalny kolor siatki
Cztery takie same modele humanoidalne z różnymi odcieniami skóry: jasnobrązowy, czarny, biały, ciemnozielony.
Kilka wariantów postaci z jedną mapą kolorów używającą trybu Overlay

Zobacz niestandardowy odcień skóry w celu uzyskania dodatkowych informacji na temat optymalizacji nakładki dla skóry i podobnych zastosowań.

Przezroczystość

Możesz użyć trybu Enum.AlphaMode.Transparency, aby stworzyć złożone lub niezwykle drobne obiekty, takie jak koronki lub siatki, usuwając widoczne części siatki jako alternatywę dla rzeźbienia geometrii siatki. Ponieważ to nie wpływa na geometrię obiektu siatki, pozwala to na tworzenie szczegółowych obiektów bez wpływu na wydajność złożonego modelu siatki.

Poniższy przykład demonstruje, jak częściowa i pełna przezroczystość w tym trybie wizualnie usuwa sekcje siatki:

Kula z powierzchnią przypominającą koszyk.
Brak przezroczystości
Kula z regularnymi trójkątnymi wzorami na swojej powierzchni częściowo niewidoczna.
Półprzezroczystość w sekcjach
Kula z regularnymi trójkątnymi wzorami na swojej powierzchni całkowicie niewidoczna.
Pełna przezroczystość w sekcjach

Są dwa wyniki trybu Transparency, w zależności od tego, czy MeshPart.Transparency jest ustawione na 0 lub przynajmniej 0.02, chociaż precyzja numeryczna może spowodować, że małe wartości, takie jak 0.01, wyzwolą przezroczystość nieprzezroczystą.

  • Gdy alfa jest używana do wycięcia kształtu głównie nieprzezroczystych obiektów z ostrymi krawędziami, takich jak roślinność, koronki i siatki, ustaw MeshPart.Transparency na 0. Gdy części powierzchni są całkowicie nieprzezroczyste, silnik Roblox może renderować je z odpowiednią głębokością. Powierzchnie nieprzezroczyste również zazwyczaj lepiej działają z efektami opartymi na głębokości, takimi jak DepthOfFieldEffect, refrakcja szkła i wody oraz odbicie wody.
  • Gdy alfa jest używana do dodawania detali do półprzezroczystych obiektów lub obiektów z gładkimi gradientami przezroczystości, ustaw MeshPart.Transparency na przynajmniej 0.02. To poprawia jakość mieszania dla obiektów takich jak brudne okna i pióra z miękkimi krawędziami, ale nie będzie działać ze wszystkimi efektami.
Maska koloru

Możesz użyć trybu Enum.AlphaMode.TintMask, aby zastosować zabarwienie SurfaceAppearance.Color do wybranych obszarów powierzchni. Zabarwienie jest najsilniejsze tam, gdzie kanał alfa jest całkowicie widoczny i nie jest stosowane tam, gdzie kanał alfa jest przezroczysty.

Ciepła, jasna tekstura cegły z ciemniejszym szarym teksturowanym fugą między cegłami.
Przykładowa tekstura cegły, pokazująca szczegóły koloru na powierzchniach cegieł oraz w fugach między cegłami.

Zabarwienie koloru

Możesz zastosować zabarwienie do swojej mapy kolorów, modyfikując właściwość SurfaceAppearance.Color. Zabarwienie nie wpływa na wydajność, a możesz zaoszczędzić pamięć, ponownie używając jednej mapy kolorów z różnymi zabarwieniami. Użyj zabarwienia koloru, aby stworzyć dodatkowe niskokosztowe wariacje między teksturami PBR MeshPart lub aby programowo modyfikować kolory powierzchni PBR w czasie rzeczywistym.

Posąg z domyślnym żółtym zabarwieniem i refleksyjnymi właściwościami przypominającymi jadeit.
Siatka posągu z Tajemnicy Duvall Drive bez zabarwienia.
Posąg z czerwonym zabarwieniem i nadal ma błyszczące refleksyjne właściwości z innych map tekstur.
Siatka posągu z Color ustawionym na czerwony.
Posąg z zielonym zabarwieniem i nadal ma błyszczące refleksyjne właściwości z innych map tekstur.
Siatka posągu z Color ustawionym na zielony.

Zabarwienie SurfaceAppearance.Color działa jako mnożnik, więc ostateczny wygląd jest funkcją Color3 (kolor texela) razy SurfaceAppearance.Color. Oznacza to, że tworzenie oryginalnej SurfaceAppearance.ColorMap w prawie białych kolorach w odcieniach szarości tworzy najsilniejszy efekt zabarwienia, gdy ta właściwość jest stosowana.

Zabarwienie stosuje się tylko do SurfaceAppearance.ColorMap, a nie do MeshPart.Color. Możesz nadal używać kanałów alfa podczas stosowania przezroczystości.

Gdy SurfaceAppearance.AlphaMode jest ustawione na Overlay i obecny jest kanał alfa, ujawnia się podstawowy MeshPart.Color, a zabarwienie SurfaceAppearance.Color stosuje się tylko do widocznej mapy kolorów SurfaceAppearance.

Gdy SurfaceAppearance.AlphaMode jest ustawione na TintMask i obecny jest kanał alfa, kanał alfa kontroluje ilość zabarwienia SurfaceAppearance.Color. Zabarwienie jest najsilniejsze tam, gdzie kanał alfa jest całkowicie widoczny i nie jest stosowane tam, gdzie kanał alfa jest przezroczysty.

Płyta kwadratowa unosząca się z teksturą cyjanową, która stopniowo zmienia się z całkowicie przezroczystej po lewej stronie do całkowicie nieprzezroczystej po prawej. Cienki poziomy pasek poniżej unoszącej się płyty ma gradient z czernią po lewej i bielą po prawej.
AlphaMode ustawione na Transparency. Pasek gradientowy w odcieniach szarości na dole wskazuje wartość alfa. MeshPart.Color ustawione na czerwony, a SurfaceAppearance.Color ustawione na cyjan.

Normalna

Normalna, lub powierzchniowa, mapa dodaje głębokość tekstury do twojej powierzchni i zachowuje się podobnie do mapy wysokości. W rezultacie efekt może zanikać lub intensyfikować się w zależności od kąta widzenia i środowiska oświetleniowego.

Na poniższej ilustracji możesz przełączać się między odniesieniem siatki a odniesieniem mapy w celu porównania wartości mapy normalnej:

Gładka kula w kolorze gliny.
Kula w kolorze gliny z umiarkowanie skalistą powierzchnią.
Kula w kolorze gliny z ekstremalnie skalistą powierzchnią

Kanały R, G i B obrazu odpowiadają odpowiednio komponentom X, Y i Z lokalnego wektora powierzchni. Jednolity obraz koloru [127, 127, 255] przekłada się na całkowicie płaską mapę normalną. Roblox obsługuje tylko format OpenGL - Tangent Space map normalnych.

Mapy normalne wyraźnie wpływają na wizualną powierzchnię siatki i mogą uwydatniać nieestetyczne szwy w twojej teksturze. Kiedy to możliwe, ukrywaj szwy tekstur, aby uniknąć problemów wizualnych z twoją siatką.

Chropowatość

Chropowatość, lub mikropowierzchnia, mapy określają, jak światło jest rozpraszane na powierzchni twojego modelu. Gdy chropowatość wynosi 0%, powierzchnia w ogóle nie rozprasza światła, co skutkuje znacznie ostrzejszym i jaśniejszym odbiciem oraz połyskiem na twoim materiale. Przy 100% światło i odbicia równomiernie rozpraszają się po modelu, co skutkuje mniej odbijającą matową powierzchnią.

Poniższa ilustracja pokazuje porównania różnych wartości mapy chropowatości:

Niebieska błyszcząca kula.
0%
Niebieska półbłyszcząca kula.
50%
Niebieska matowa kula.
100%

Chropowatość może wpływać na to, jak odbijający jest obiekt pod różnymi kątami, co nazywane jest efektem Fresnela. Przetwarzanie fresnela w Studio dąży do fizycznej dokładności w rzeczywistym świecie, chociaż możesz uzyskać nieoczekiwany wkład spekularny pod pewnymi kątami, nawet przy chropowatych powierzchniach. W niektórych przypadkach możesz skompensować to, zwiększając wartość mapy chropowatości o około 0.1 bardziej chropowate, aby uzyskać spójną reakcję oświetleniową z twoimi materiałami.

Chociaż Roblox dokładnie renderuje ten efekt oświetleniowy, jasność i odbicie powierzchni mogą nie reagować spójnie między twoim oprogramowaniem do tworzenia treści tekstur, takim jak Substance Painter, a Studio. Zobacz przykłady odzieży w celu uzyskania różnic w renderowaniu między aplikacjami.

Metaliczność

Metaliczność określa odbijalność powierzchni. W większości przypadków powinieneś ustawić tę wartość na 0% (niemeta) lub 100% (metal), chociaż możesz używać częściowych wartości metaliczności podczas tworzenia powierzchni o umiarkowanych właściwościach odbijających, takich jak satyna lub jedwab. Ta praktyka może subtelnie oszukiwać odbicia w materiale, aby uwydatnić kolor z mapy kolorów/albedo nad kolorami odbitymi w otoczeniu.

Zobacz poniższą ilustrację, aby porównać różne wartości mapy metaliczności:

Brązowa kula z jasnymi plamami.
0%
Brązowa kula z jasnymi plamami i pewną odbijalnością.
50%
Brązowa kula z umiarkowanymi plamami i dużą odbijalnością.
100%

Różne renderery PBR używają różnych przepływów pracy do przetwarzania odbijalności. Studio używa tylko przepływu metaliczności, który określa, czy materiał jest niemeta czy metal, czasami nazywany izolatorem lub przewodnikiem.

Maska emisyjna

Tekstura w odcieniach szarości EmissiveMaskContent stosuje maskę emisyjną na powierzchni. Pozwala to na użycie tekstury do kontrolowania emisyjności dla większej kontroli artystycznej niż materiał Neon i pozwala na tworzenie szczegółowych efektów świetlnych, takich jak podświetlony tekst, futurystyczna zbroja lub bioluminescencyjne stworzenia.

Powiązana właściwość EmissiveTint określa kolor zabarwienia dla wkładu emisyjnego, a EmissiveStrength określa siłę wkładu emisyjnego.

Pomarańczowa kula z maską emisyjną dyni zabarwioną na magentę.
EmissiveTint = [255, 0, 255]
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.