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 fizyczne (PBR) tekstury pozwalają na reprezentację realistycznego cieniowania i oświetlenia, wykorzystując wiele rodzajów obrazów tekstur, czyli map, na jednym obiekcie. Łączenie wielu map tekstur może dokładniej symulować kolor, chropowatość i odbicie w dowolnym środowisku oświetleniowym, a także poprawić elementy wizualne twoich zasobów i środowiska.

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

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

Ten przewodnik zawiera instrukcje dotyczące konfigurowania obiektów siatki do korzystania z map tekstur PBR oraz opisuje typowe zastosowania i najlepsze praktyki dla obsługiwanych przez Roblox PBR map tekstur. Tworząc własne powierzchnie, zapoznaj się z odniesieniami do materiałów, aby zobaczyć typowe wartości materiałowe, porównania obrazów i przykłady odzieży.

Włącz wygląd powierzchni

Możesz dodać tekstury PBR do dowolnego MeshPart, dodając obiekt SurfaceAppearance, który zastępuje pierwotnie przypisaną teksturę. Ogólnie rzecz biorąc, nie możesz zmieniać właściwości SurfaceAppearance za pomocą skryptów podczas gry, ponieważ silnik wymaga wstępnego przetwarzania, aby wyświetlić te grafiki. Podobnie jak w przypadku dodawania podstawowej tekstury, każda mapa obrazu tekstury musi wskazywać na odpowiedni załadowany 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 z rodzicem w MeshPart w oknie Eksploratora Studio.

    Gdy będziesz gotowy do dodania map 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 4 rodzaje map tekstur PBR: kolor, normalna, chropowatość i metaliczność. Każda z tych map odpowiada ważnemu aspektowi powierzchni obiektu. Mapy tekstur zmieniają tylko wizualny wygląd 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ść obecnie w mapie. Zobacz kolor (albedo) dla dodatkowych informacji.

Obraz całkowicie wypełniony, w przeważającej części 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 kolorystycznych z minimalną ilością informacji dotyczących oświetlenia lub tekstury. 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, koronkowe tkaniny lub naklejki, możesz używać 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 przezroczysty, a 1.0 jest nieprzezroczysty. Podobnie, korzystając z formatu obrazu takiego jak .png, wszelka przezroczystość na mapie kolorów działa 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 bezpośrednio korzysta z wartości koloru z mapy kolorów.
  • Nakładka — Nakłada ColorMap na kolor MeshPart.Color podłożonej siatki. Mapy kolorów używające trybu nakładki ujawniają podstawowy kolor siatki wszędzie tam, gdzie obecna jest przezroczystość. Jest to ustawienie domyślne.
  • Przezroczystość — Usuwa widoczną siatkę w oparciu o przezroczystość w ColorMap. To renderuje siatkę jako przezroczystą i nie ujawnia oryginalnego koloru siatki, gdy tylko obecna jest przezroczystość.
  • Maska koloru — Miesza nałożoną ColorMap na nie-nałożoną ColorMap.
Nieprzezroczysty

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

Poniższy przykład ilustruje, jak działa Opaque, wykorzystując biały obiekt jako odniesienie:

Tekstura w kropki z przezroczystością. Tło jest całkowicie przezroczyste.
Przykładowa mapa koloru/albedo z przezroczystością
Białe torus na płaszczyźnie.
Przykładowy obiekt siatki (biały)
Torus ma wzory w kropki rozmieszczone po całej powierzchni. Wartość przezroczystości jest ignorowana.
AlphaMode ustawione na Opaque używając mapy odniesienia i materiału
Nakładka

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

Poniższy przykład ilustruje, jak działa Overlay, używając białej kuli jako odniesienia:

Obraz całkowicie wypełniony wzorem semi-powtarzającym się z 8 na 8 małych jasnoniebieskich kwadracików. Tło jest w kratkę, aby wskazać przezroczystość.
Przykładowa mapa koloru/albedo z przezroczystością
Pusta biała kula na ciemnym tle.
Przykładowy obiekt siatki (biały)
Biała kula z małymi niebieskimi kwadracikami rozmieszczonymi po całej powierzchni.
AlphaMode ustawione na Overlay używając mapy odniesienia i materiału

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

Obraz całkowicie wypełniony mapą 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 koloru zawierająca przezroczystość w sekcjach, aby odsłonić oryginalny kolor siatki
Cztery takie same modele humanoidalne z różnymi kolorami skóry: jasnobrązowy, czarny, biały, ciemnozielony.
Wiele wariantów postaci z jednym mapą kolorów używającą Overlay

Zobacz niestandardowy odcień skóry po dodatkowe szczegóły dotyczące optymalizacji nałożenia dla skóry i podobnych aplikacji.

Przezroczystość

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

Poniższy przykład ilustruje, 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 niewidocznymi.
Półprzezroczystość w sekcjach
Kula z regularnymi trójkątnymi wzorami na swojej powierzchni całkowicie niewidoczna.
Pełna przezroczystość w sekcjach

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

  • Gdy alfa jest używane do wycinania 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 je renderować z odpowiednią głębokością opartą na przesłanianiu. Powierzchnie nieprzezroczyste generalnie lepiej działają z efektami opartymi na głębokości, takimi jak DepthOfFieldEffect, załamanie szkła i odbicie wody.
  • Gdy alfa jest używane do dodawania detali do półprzezroczystych obiektów lub obiektów z gładkimi gradientami przezroczystości, ustaw MeshPart.Transparency na co najmniej 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ć we wszystkich efektach.
Maska kolorów

Możesz użyć trybu Enum.AlphaMode.TintMask, aby zastosować tynkowanie SurfaceAppearance.Color w selektywnych obszarach powierzchni. Tynkowanie jest najsilniejsze tam, gdzie kanał alfa jest całkowicie widoczny i nie jest stosowane, gdzie kanał alfa jest przezroczysty.

Ciepła, jasna tekstura cegłowa z ciemniejszą szarością teksturą fugi między cegłami.
Przykładowa tekstura cegły, pokazująca szczegóły koloru na powierzchni cegieł, jak i 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 także możesz zaoszczędzić pamięć, ponownie wykorzystując jedną mapę kolorów z różnymi tynkami. Używaj tynkowania koloru, aby tworzyć dodatkowe tanie wariacje między teksturami PBR twojego MeshPart lub aby programowo modyfikować kolory powierzchni PBR w czasie rzeczywistym.

Posąg z domyślnym żółtym zabarwieniem i refleksyjnymi, jadeitowymi właściwościami.
Siatka posągu z Zagadki Duvall Drive bez zabarwienia.
Posąg z czerwonym zabarwieniem, który nadal ma błyszczące refleksy z innych map tekstur.
Siatka posągu z Color ustawionym na czerwony.
Posąg z zielonym zabarwieniem, który nadal ma błyszczące refleksy 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 twojej oryginalnej SurfaceAppearance.ColorMap w prawie białych 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, ujawniany jest podstawowy kolor MeshPart.Color, a zabarwienie SurfaceAppearance.Color aplikuje się tylko do widocznej mapy kolorowej 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.

Latająca płachta kwadratowa z teksturą cyjanową, która stopniowo zmienia się z w pełni przezroczystej po lewej do w pełni nieprzezroczystej po prawej. Cienki poziomy pasek poniżej latającej płaszczyzny ma gradient z czernią po lewej i bielą po prawej.
AlphaMode ustawione na Transparency. Szaro-skala gradientowy pasek na dole wskazuje wartość alfa. MeshPart.Color ustawione na czerwony, a SurfaceAppearance.Color ustawione na cyjanowy.

Normalna

Normalna, lub powierzchniowa, mapa dodaje głębokość tekstury do twojej powierzchni i zachowuje się podobnie jak mapa wysokości. W rezultacie efekt może zanikać lub intensyfikować się w zależności od kąta widzenia i środowiska oświetleniowego. Gdy mapa normalna nie jest obecna, wartość jest ustawiana na 0.0.

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

Gładka kula w kolorze gliny.
0.0
Kula w kolorze gliny z umiarkowanie skalistą powierzchnią.
0.5
Kula w kolorze gliny z bardzo skalistą powierzchnią
1.0

Kanały R, G i B obrazu odpowiadają kolejno komponentom X, Y i Z lokalnego wektora powierzchni. Jednolity obraz w kolorze [127, 127, 255] przekształca się w całkowicie płaską mapę normalną. Roblox obsługuje tylko OpenGL format - Tangent Space mapy normalne.

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

Chropowatość

Chropowatość, albo mikropowierzchnia, mapy określają, jak światło jest rozpraszane na powierzchni twojego modelu. Gdy chropowatość wynosi 0.0, powierzchnia nie rozprasza światła wcale, co skutkuje znacznie ostrzejszym i jaśniejszym odblaskiem i połyskiem na materiale. Przy wartości 1.0, światło i odblaski równomiernie rozpraszają się po modelu, co skutkuje mniej refleksyjną matową powierzchnią.

Chropowatość może wpływać na to, jak refleksyjny jest obiekt pod różnymi kątami, nazywane to efektem Fresnela. Zobacz fresnel dla więcej szczegółów oraz najlepszych praktyk dotyczących utrzymania spójnego zachowania odblaskowego.

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

Niebieska błyszcząca kula z legendą wskazującą, że mapa chropowatości jest całkowicie czarna.
0.0
Niebieska półbłyszcząca kula z legendą wskazującą, że mapa chropowatości jest dokładnie szara.
0.5
Niebieska matowa kula z legendą wskazującą, że mapa chropowatości jest całkowicie biała.
1.0

Fresnel

Fresnel odnosi się do ilości odbicia powierzchni w odniesieniu do obecnego kąta widzenia. Procesowanie Fresnela w Studio ma na celu fizyczną dokładność rzeczywistego świata, chociaż możesz uzyskać nieoczekiwany wkład spekularny pod pewnymi kątami, nawet przy chropowatych powierzchniach. W niektórych przypadkach możesz skompensować, czyniąc swoją mapę chropowatości mniej więcej 0.1 bardziej chropowatą, aby uzyskać spójną odpowiedź oświetlenia z materiałami.

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

Metaliczność

Metaliczność określa refleksyjność powierzchni. Wartości metaliczności wahają się od 0.0 do 1.0. Roblox ustawia wartość domyślną na 0.0, jeśli mapa metaliczności jest nieobecna.

Zobacz poniższą ilustrację dla porównań różnych wartości mapy metaliczności:

Brązowa kula z jasnymi plamkami. Legenda wskazuje, że mapa metaliczności jest całkowicie czarna.
0.0
Brązowa kula z jasnymi plamkami i pewnym odbiciem. Legenda wskazuje, że mapa metaliczności jest dokładnie szara.
0.5
Brązowa kula z umiarkowanymi plamkami i dużą ilością odbicia. Legenda wskazuje, że mapa metaliczności jest całkowicie biała.
1.0

Różne renderery PBR używają różnych przepływów pracy do przetwarzania refleksyjności. Studio korzysta tylko z przepływu pracy metaliczności, który określa, czy materiał jest niemateriałowy, czy metalowy, czasami określany jako izolator lub przewodnik.

W większości przypadków powinieneś ustawić tę wartość na 0.0 (niemateriałowy) lub 1.0 (metalowy). Możesz używać częściowych wartości metalicznych podczas tworzenia mniej powszechnych powierzchni o umiarkowanych właściwościach refleksyjnych, takich jak satyna czy jedwab. Ta praktyka może subtelnie oszukiwać odbicia w materiale, aby podkreślić kolor z mapy kolorów/albedo nad kolorami odbitymi w otoczeniu.

©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.