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.

Fizycznie Poprawne Renderowanie (PBR) pozwala na realistyczne odwzorowanie cieni i oświetlenia za pomocą 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 wzbogacić wizualne elementy twoich zasobów i otoczenia.

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

Dostępne są różne aplikacje i w przepływach pracy do tworzenia tekstur PBR. Możesz z nich skorzystać w fazach modelowania i teksturowania podczas tworzenia niestandardowych obiektów 3D, pod warunkiem, że Roblox Studio obsługuje konkretne mapy tekstur, które używasz.

Ten przewodnik zawiera instrukcje dotyczące konfigurowania obiektów siatkowych w celu używania map tekstur PBR oraz opisuje typowe przypadki użycia i najlepsze praktyki dla wspieranych przez Roblox map tekstur PBR map tekstur. Gdy tworzysz własne powierzchnie, zapoznaj się z odniesieniami materiałowymi zawierającymi wspólne wartości materiałów, 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 nadpisuje oryginalnie przypisaną teksturę. Zazwyczaj nie możesz zmieniać właściwości SurfaceAppearance za pomocą skryptów w trakcie gry, ponieważ silnik wymaga pewnych wstępnych przetworzeń, aby wyświetlić te grafiki. Podobnie jak w przypadku dodawania podstawowej tekstury, każda mapa obrazu tekstury musi wskazywać na odpowiedni przesłany identyfikator aktywów obrazu.

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

  1. W oknie Eksplorator najedź myszką na MeshPart i kliknij przycisk ⊕.

  2. Wstaw SurfaceAppearance z menu kontekstowego.

    Obiekt SurfaceAppearance zaprezentowany w oknie Eksplorator w Studio jako element dziecka w MeshPart.

    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 aktywów.

Mapy tekstur

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

Zobacz następujące przykłady, aby uzyskać przegląd wspieranych przez Roblox map tekstur i dodatkowych zasobów:

Właściwość ColorMap ustawia dane kolorystyczne powierzchni, w tym przejrzystość 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 zadrapaniami.
Przykładowa mapa
Pusta biała kula na ciemnym tle.
Przykład siatki
Czerwona kula z czarnymi plamami i białymi zadrapaniami 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 o oświetleniu lub fakturze. Dla dodatkowej personalizacji możesz także dodać przezroczystość do swojej tekstury albedo, dodając przezroczystość do mapy obrazu.

Tryby alfa

Dla obiektów wymagających częściowych lub całkowitych sekcji przezroczystości, takich jak trawa, liście, koronki czy dekory, takie jak brud czy zniszczone, możesz użyć różnych trybów alfa, aby zastosować przezroczystość do swojej mapy kolorystycznej. Jeśli format obrazu mapy kolorowej obsługuje kanały alfa, możesz zastosować mapę alfa w odcieniach szarości, gdzie 0.0 jest przezroczyste, a 1.0 nieprzezroczyste. Podobnie, korzystając z formatu obrazu, takiego jak .png, każda przezroczystość na mapie kolorów będzie stosowana jako przezroczystość na aktywie.

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 odsłaniają podstawowy kolor siatki wszędzie, gdzie występuje przezroczystość. Jest to domyślne ustawienie.
  • Przezroczystość — Usuwa widoczną siatkę na podstawie przezroczystości w ColorMap. To renderuje siatkę jako przezroczystą i nie odsłania oryginalnego koloru siatki, gdy występuje przezroczystość.
  • Maska koloru — Miesza tzw. ColorMap z zamaskowanym ColorMap.
Nieprzezroczysty

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

Następujący 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ład obiektu siatki
Kula ma wzory w kropeczki porozrzucane po jej powierzchni. Wartość przezroczystości jest ignorowana.
AlphaMode ustawione na Opaque
Nakładka

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

Następujący przykład demonstruje, jak działa tryb Overlay, używając niebieskiej kuli jako odniesienia:

Całkowicie wypełniony obraz z półprzezroczystym wzorem 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ład obiektu siatki
Biała kula z małymi niebieskimi kwadratami porozrzucanymi po powierzchni.
AlphaMode ustawione na Overlay

Następujący przykład korzysta z trybu Overlay dla niestandardowych postaci, odsłaniając oryginalny odcień skóry postaci:

Całkowicie wypełniony obraz 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.
Różne wersje postaci z jednolitą mapą kolorów korzystających z trybu Overlay

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

Przezroczystość

Możesz użyć trybu Enum.AlphaMode.Transparency, aby tworzyć złożone lub bardzo drobne obiekty, takie jak koronki czy siatki, poprzez usuwanie widocznych części siatki jako alternatywy dla modelowania geometrii siatki. Ponieważ nie wpływa to na geometrię obiektu siatki, można tworzyć szczegółowe obiekty bez wpływu wydajności złożonego modelu siatki.

Następujący przykład demonstruje, jak częściowa i pełna przezroczystość w tym trybie wizualnie usuwa sekcje siatki:

Kula z powierzchnią jak kosz.
Brak przezroczystości
Kula z regularnymi trójkątnymi wzorami na powierzchni częściowo niewidoczna.
Połowiczna przezroczystość w sekcjach
Kula z regularnymi trójkątnymi wzorami na powierzchni całkowicie niewidoczna.
Pełna przezroczystość w sekcjach

Są dwa rezultaty trybu Transparency, w zależności od tego, czy MeshPart.Transparency jest ustawiony na 0 czy przynajmniej 0.02, chociaż precyzja numeryczna może spowodować, że małe wartości, takie jak 0.01, uruchomią nieprzezroczystość.

  • Kiedy alfa jest używane do wycinania kształtu głównie nieprzezroczystych obiektów z ostrymi krawędziami, takich jak roślinność, koronka i siatka, ustaw MeshPart.Transparency na 0. Gdy części powierzchni są całkowicie nieprzezroczyste, silnik Roblox może je renderować z odpowiednią głębokościową okluzją. Powierzchnie nieprzezroczyste zazwyczaj lepiej działają również z efektami opartymi na głębokości, takimi jak DepthOfFieldEffect, refrakcją szkła i wody oraz refleksją wody.
  • Kiedy 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 przynajmniej 0.02. To poprawia jakość mieszania dla obiektów, takich jak brudne okna i pióra z miękkimi krawędziami, ale nie zadział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, gdy kanał alfa jest w pełni widoczny i nie jest 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 kolorystyczne 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ść i możesz zaoszczędzić pamięć, ponownie używając jednej mapy kolorów z różnymi zabarwieniami. Użyj zabarwienia kolorów, aby stworzyć dodatkowe niskokosztowe wariacje między twoimi teksturami PBR MeshPart lub aby programowo modyfikować kolory powierzchni PBR w czasie rzeczywistym.

Posąg z domyślnym żółtym zabarwieniem i odzwierciedlającymi właściwości przypominającymi jadeit.
Siatka posągu z Zagadka Duvall Drive bez zabarwienia.
Posąg z czerwonym zabarwieniem, który nadal ma lśniące właściwości odzwierciedlających z innych map tekstur.
Siatka posągu z Color ustawioną na czerwono.
Posąg z zielonym zabarwieniem, który nadal ma lśniące właściwości odzwierciedlających z innych map tekstur.
Siatka posągu z Color ustawioną na zielono.

Zabarwienie SurfaceAppearance.Color działa jako mnożnik, więc ostateczny wygląd jest funkcją Color3 (kolor texela) pomnożoną przez SurfaceAppearance.Color. Oznacza to, że tworzenie twojej oryginalnej SurfaceAppearance.ColorMap w kolorach bliskich białemu w szarości może stworzyć najsilniejszy efekt zabarwienia, gdy ta właściwość zostanie zastosowana.

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

Gdy SurfaceAppearance.AlphaMode jest ustawione na Overlay i obecny jest kanał alfa, odsłonięty zostaje odcień 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, gdy kanał alfa jest w pełni widoczny i nie jest stosowane tam, gdzie kanał alfa jest przezroczysty.

Płyta kwadratowa unosząca się z teksturą niebieską, przechodzącą od całkowicie przezroczystej z lewej strony, do całkowicie nieprzezroczystej z prawej. Cienki poziomy pasek poniżej unoszącej się płyty o gradientzie z czarnym na lewym końcu i białym na prawym.
AlphaMode ustawione na Transparency. Szary gradient na dole wskazuje wartość alfa. MeshPart.Color ustawiony na czerwono, a SurfaceAppearance.Color ustawiony na cyjan.

Normalny

Normalny, lub powierzchniowy, mapa dodaje głębię tekstury do twojej powierzchni i działa podobnie do mapy wysokości. W rezultacie efekt może zanikać lub wzrastać w zależności od kąta widzenia i otoczenia oświetleniowego.

W następującym przykładzie możesz przełączać się między odniesieniem do siatki a odniesieniem do mapy w celu porównania wartości mapy normalnej:

Gładka kula w kolorze gliny.
Kula w kolorze gliny z moderatną chropowatością.
Kula w kolorze gliny z ekstremalnie chropowatą 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 normalne mapy OpenGL format - Tangent Space.

Mapy normalne wyraźnie wpływają na wizualną powierzchnię siatki i mogą uwydatniać niechciane szwy w twojej teksturze. Zawsze, gdy to możliwe, chroń szwy tekstury, aby uniknąć problemów wizualnych z siatką.

Chropowatość

Chropowatość, lub mikropowierzchnia, mapy określają, jak światło jest rozprzestrzeniane 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 błyskiem na twoim materiale. Przy 100% światło i odbicia równomiernie rozpraszają się po modelu, skutkując mniej odbijającą, matową powierzchnią.

Następujący przykład 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, nazywanym efektem Fresnela. Przetwarzanie fresnel w Studio dąży do fizyczniej dokładność w świecie rzeczywistym, chociaż możesz spodziewać się nieoczekiwanych wkładów spekulacyjnych pod pewnymi kątami, nawet w przypadku chropowatych powierzchni. W niektórych przypadkach możesz to skompensować, zwiększając wartość mapy chropowatości o około 0.1, aby osiągnąć spójną odpowiedź świetlną z twoimi materiałami.

Mimo że Roblox dokładnie renderuje ten efekt oświetleniowy, jasność i odbijalność powierzchni mogą nie reagować konsekwentnie w porównaniu z twoim oprogramowaniem do tworzenia zawartości tekstur, takim jak Substance Painter, i Studio. Zobacz przykłady odzieży dla 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% (niematerialny) lub 100% (metal), chociaż możesz używać wartości częściowej metaliczności podczas tworzenia powierzchni ze umiarkowanymi właściwościami odbijającymi, takimi jak satyna czy jedwab. Ta praktyka może subtelnie imituje odbicia w materiale, aby uwydatnić kolor z mapy kolorów/albedo nad kolorami odbitymi w otoczeniu.

Zobacz poniższy przykład dla porównań różnych wartości map metaliczności:

Brązowa kula z jasnymi plamami.
0%
Brązowa kula z jasnymi plamami i pewnym odbiciem.
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 metaliczności przepływ, który określa, czy materiał jest niematerialny czy metalizowany, czasami nazywany izolatorem lub przewodnikiem.

Maska emisyjna

Tekstura EmissiveMaskContent w odcieniach szarości stosuje maskę emisyjną na powierzchni. Dzięki temu możesz użyć tekstury do kontrolowania emisyjności, oferując większą kontrolę artystyczną niż materiał Neon w trybie wszystko lub nic i pozwalając na tworzenie szczegółowych efektów świecących, takich jak oświetlony tekst, futurystyczna zbroja czy 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 ustawioną na 50% siły.
EmissiveStrength ustawione na 50%
Pomarańczowa kula z maską emisyjną dyni ustawioną na 100% siły.
EmissiveStrength ustawione na 100%
Pomarańczowa kula z maską emisyjną dyni zabarwioną na magenta.
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.