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) pozwala na reprezentowanie realistycznego cieniowania i oświetlenia za pomocą różnych typów obrazów tekstur, zwanych mapami, na jednym obiekcie. Łączenie wielu map tekstur może dokładniej symulować kolor, chropowatość i refleksyjność w dowolnym otoczeniu oświetleniowym i może wzbogacić wizualne elementy twoich zasobów i środowiska.

Awatar ludzki z dreadami, błyszczącą kurtką, dżinsami z nadrukami i butami.
Awatar ludzki z krótkim włosami, skórzaną kurtką, spodniami 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, pod warunkiem, że Roblox Studio obsługuje konkretne mapy tekstur, których używasz.

Ten podręcznik 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 PBR map tekstur. Tworząc własne powierzchnie, zapoznaj się z odniesieniami materiałowymi dotyczącymi 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 dowolnej 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 doświadczenia, ponieważ silnik wymaga pewnego przetwarzania wstępnego, 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 obiekcie MeshPart w oknie Eksploratora Studio.

    Kiedy 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 typy map tekstur PBR: kolor, normalną, chropowatość oraz metaliczność. 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ść obecnie w mapie. Zobacz kolor (albedo) w celu uzyskania dodatkowych informacji.

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

Kolor (albedo)

Mapa koloru, lub albedo, określa kolor twojej tekstury i składa się głównie z informacji o kolorze z niewielką lub żadną informacją o oświetleniu czy teksturze. Dla dodatkowej personalizacji, możesz również dodać przezroczystość do swojej tekstury 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 czy naklejki jak brud czy grunge, możesz używać różnych trybów alfa, aby zastosować przezroczystość do swojej mapy kolorów. Jeśli format obrazu twojej mapy kolorowej obsługuje kanały alfa, możesz zastosować mapę alfa w skali szarości, gdzie 0.0 jest przezroczysty, a 1.0 jest nieprzezroczysty. Podobnie, używając formatu obrazu takiego jak .png, każda przezroczystość na mapie kolorów będzie zastosowana 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 właściwość MeshPart.Color znajdującą się poniżej. Mapy kolorów stosujące tryb nakładki ujawniają podstawowy kolor siatki tam, gdzie obecna jest przezroczystość. To jest domyślne ustawienie.
  • Przezroczystość — Usuwa widoczną siatkę na podstawie przezroczystości w ColorMap. To renderuje siatkę przezroczystą i nie ujawnia oryginalnego koloru siatki, gdy obecna jest przezroczystość.
  • Maskowanie Koloru — Miesza przefiltrowaną ColorMap nad nieprzefiltrowaną ColorMap.
Nieprzezroczysty

Możesz użyć trybu Enum.AlphaMode.Opaque, aby całkowicie zignorować kanał alfa ColorMap. W tym przypadku zakłada się, że wartość alfa wynosi 1 (całkowicie nieprzezroczysty).

Poniższy przykład demonstruje, jak działa tryb Opaque przy użyciu białego obiektu jako odniesienia:

Tekstura w kropki z przezroczystością. Tło jest całkowicie przezroczyste.
Przykładowa mapa koloru/albedo z przezroczystością
Biały torus na powierzchni.
Przykładowy obiekt siatki (biały)
Torus ma wzory kropkowane rozprzestrzenione po jego powierzchni. Wartość przezroczystości jest ignorowana.
AlphaMode ustawione na Opaque przy użyciu mapy odniesienia i materiału
Nakładka

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

Poniższy przykład demonstruje, jak działa tryb Overlay przy użyciu odniesienia do białej kuli:

Obraz całkowicie wypełniony semi-powtarzającym się wzorem ze 8 na 8 małymi jasnoniebieskimi kwadratami. 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 kwadratami rozprzestrzenionymi po powierzchni.
AlphaMode ustawione na Overlay przy użyciu mapy odniesienia i materiału

Poniższy przykład pokazuje użycie trybu Overlay dla niestandardowych postaci, ujawniając oryginalny kolor skóry postaci:

Obraz całkowicie wypełniony teksturą 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 ujawnić oryginalny kolor siatki
Cztery takie same modele humanoidalne z różnymi odcieniami skóry: jasnobrązowy, czarny, biały, ciemnozielony.
Różne wariacje postaci z jedną mapą kolorów stosującą tryb Overlay

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

Przezroczystość

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

Poniższy przykład pokazuje, jak częściowa i całkowita przezroczystość w tym trybie wizualnie eliminuje sekcje siatki:

Kula z powierzchnią podobną do koszyka.
Brak przezroczystości
Kula z regularnymi trójkątnymi wzorami na powierzchni częściowo niewidzialna.
Połowa przezroczystości w sekcjach
Kula z regularnymi trójkątnymi wzorami na powierzchni całkowicie niewidoczna.
Całkowita przezroczystość w sekcjach

Zachowanie trybu Transparency zależy od tego, czy MeshPart.Transparency jest ustawiony na 0 czy co najmniej 0.02, chociaż dokładność numeryczna może spowodować, że małe wartości takie jak 0.01 spowodują wydanie przezroczystości.

  • Gdy alfa jest używana do wycinania kształtu w większości nieprzezroczystych obiektów z ostrymi krawędziami, takich jak roślinność, koronkowa tkanina i siateczki, ustaw MeshPart.Transparency na 0. Gdy części powierzchni są całkowicie nieprzezroczne, silnik Roblox może je renderować z odpowiednią głębokością opartą na przesłonięciu. Powierzchnie nieprzezroczne zazwyczaj działają lepiej z efektami zależnymi od głębokości, takimi jak DepthOfFieldEffect, refrakcja szkła i woda oraz odbicia 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 co najmniej 0.02. To poprawia jakość mieszania dla takich obiektów jak brudne okna i pióra o miękkich krawędziach, ale nie zadziała przy wszystkich efektach.
Maskowanie Koloru

Możesz użyć trybu Enum.AlphaMode.TintMask, aby zastosować barwienie SurfaceAppearance.Color do wybranych obszarów powierzchni. Barwienie jest najsilniejsze tam, gdzie kanał alfa jest w pełni widoczny, a nie stosowane tam, gdzie kanał alfa jest przezroczysty.

Ciepła, jasna tekstura cegły z ciemnoszarym teksturowanym fugą między cegłami.
Przykładowa tekstura cegły, pokazująca szczegóły kolorów na powierzchniach cegieł, jak i w fugach między cegłami.

Barwienie koloru

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

Posąg z domyślną żółtą barwą i odzwierciedlającymi właściwościami przypominającymi jadeit.
Siatka posągu z Zagadki Duvall Drive bez barwienia.
Posąg z czerwoną barwą, który nadal ma błyszczące właściwości odzwierciedlające z innych map tekstur.
Siatka posągu z Color ustawioną na czerwono.
Posąg z zieloną barwą, który nadal ma błyszczące właściwości odzwierciedlające z innych map tekstur.
Siatka posągu z Color ustawioną na zielono.

Barwienie SurfaceAppearance.Color działa jako mnożnik, więc ostateczny wygląd jest funkcją Color3 (kolor texela) pomnożonego przez SurfaceAppearance.Color. Oznacza to, że tworzenie oryginalnej SurfaceAppearance.ColorMap w kolorach bliskich bieli w odcieniach szarości tworzy najsilniejszy efekt barwienia, gdy ta właściwość jest stosowana.

Barwienie 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 kanał alfa jest obecny, ujawnia się podstawowy MeshPart.Color, a barwienie SurfaceAppearance.Color stosowane jest tylko do widocznej mapy kolorów SurfaceAppearance.

Gdy SurfaceAppearance.AlphaMode jest ustawione na TintMask i kanał alfa jest obecny, kanał alfa kontroluje ilość barwienia SurfaceAppearance.Color. Barwienie jest najsilniejsze tam, gdzie kanał alfa jest w pełni widoczny, a nie stosowane tam, gdzie kanał alfa jest przezroczysty.

Płyta kwadratowa unosząca się z teksturą łupka cyjanowego, która stopniowo zmienia się z całkowicie przezroczystej po lewej stronie na całkowicie nieprzezroczystą po prawej stronie. Wąski poziomy pasek poniżej unoszącej się płyty ma gradient z czarnym po lewej stronie i białym po prawej stronie.
AlphaMode ustawione na Transparency. Szara gradientowa belka na dole wskazuje wartość alfa. MeshPart.Color ustawione na czerwono, a SurfaceAppearance.Color ustawione na cyjan.

Normalna

Mapa normalna, lub powierzchniowa, dodaje głębokość tekstury do twojej powierzchni i działa podobnie do mapy wysokości. W wyniku tego efekt może zanikać lub intensyfikować się w zależności od kąta widzenia i otoczenia oświetleniowego. Gdy mapa normalna nie jest obecna, wartość ustawiana jest na 0.0.

W poniższej figurze możesz przełączać się między odniesieniem siatki a odniesieniem mapy, aby porównać wartości mapy normalnej:

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

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 mapy normalne formatu OpenGL - Tangent Space.

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

Chropowatość

Mapy chropowatości, lub mikropowierzchni, określają, jak światło jest rozprzestrzeniane po powierzchni twojego modelu. Gdy chropowatość wynosi 0.0, powierzchnia w ogóle nie rozprasza światła, co skutkuje ostrzejszym i jaśniejszym odbiciem oraz blaskiem na twoim materiale. Przy 1.0 światło i odbicia równomiernie rozpraszają się po modelu, co skutkuje mniej odbijającą matową powierzchnią.

Chropowatość może wpłynąć na to, jak odbijający jest obiekt pod różnymi kątami, co nazywa się efektem Fresnela. Zobacz fresnel dla więcej informacji oraz najlepszych praktyk, aby utrzymać spójne odzwierciedlenie światła.

Poniższa figura 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 aktualnego kąta widzenia. Przetwarzanie Fresnela w Studio dąży do fizycznej precyzji w rzeczywistym świecie, chociaż możesz uzyskać niespodziewany wkład spekularny pod pewnymi kątami, nawet na chropowatych powierzchniach. W niektórych przypadkach możesz skompensować to, sprawiając, że twoja mapa chropowatości będzie o około 0.1 bardziej chropowata, aby uzyskać spójne odpowiedzi na oświetlenie z twoimi materiałami.

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

Metaliczność

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

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

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

Różne rendery PBR wykorzystują różne przepływy pracy do przetwarzania odbijalności. Studio używa tylko przepływu metalicznego, który określa, czy materiał jest niemataliczny, czy metaliczny, czasami nazywane izolatorem lub przewodnikiem.

W większości przypadków powinieneś ustawić tę wartość na 0.0 (niemataliczne) lub 1.0 (metaliczne). Możesz używać częściowych wartości metaliczności, gdy tworzysz bardziej nietypowe powierzchnie o umiarkowanych właściwościach odbijających, jak satyna lub jedwab. Ta praktyka może subtelnie sfałszować odbicia w materiale, aby uwydatnić kolor z mapy koloru/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.