Poradnik

Jak zrobić paczkę tekstur PBR do Vibrant Visuals i shaderów

Paczka tekstur PBR daje blokom coś więcej niż kolory: jak mocno błyszczą, które części są z metalu, które świecą i jak nierówne wydają się w świetle. Vibrant Visuals w Minecraft Bedrock czyta te mapy z zestawów tekstur, a w Javie czytają je shadery PBR do Irisa i OptiFine w formacie labPBR. Edytor paczek tekstur robi jedno i drugie w przeglądarce z twoich tekstur, z szybkimi materiałami takimi jak metal, szkło i świecące kropki rudy.

Zaktualizowano

Co robią mapy

Każdy piksel tekstury dostaje kilka dodatkowych liczb. Zakładka „Materiał” nazywa je według tego, co widać; tabela pokazuje, gdzie trafiają w plikach:

W edytorzeCo robiJava (labPBR)Bedrock (zestaw tekstur)
PołyskGładkie powierzchnie pokazują ostre odblaski i odbicia, szorstkie wyglądają matowo._s czerwony: gładkośćMER niebieski: szorstkość
MetalMetal odbija niebo we własnym kolorze, jak żelazo albo złoto._s zielony: 230–255MER czerwony: metaliczność
ŚwiecenieDaje światło, także w nocy, jak jasnogłaz albo klejnoty w złożach._s alfa: 0–254MER zielony: świecenie
PrześwitPrzez cienkie części przechodzi światło, jak przez liście._s niebieski: 65–255MERS alfa (tylko Vibrant Visuals)
WypukłośćŚwiatło i cień pokazują wypukłości i wgłębienia na płaskiej ścianie._n czerwony i zielony, wysokość w alfieMapa normalnych

Bez materiału tekstura wygląda jak zawsze. W Javie tekstura z kolorami zostaje tam, gdzie jest; mapy leżą obok niej.

Krok po kroku

  1. Otwórz edytor paczek tekstur i zrób paczkę do Javy albo Bedrocka albo otwórz paczkę, którą już masz.
  2. Wybierz teksturę bloku albo przedmiotu, na przykład złoże diamentu, i otwórz zakładkę „Materiał” obok „Podgląd”.
  3. Wybierz szybki materiał, taki jak Metal, Szkło albo Świecące kropki. Oświetlony blok 3D pokazuje go pod wędrującym słońcem.
  4. Ustaw Połysk, Metal, Świecenie i Prześwit dla całej tekstury albo dodaj część (kolorowe, jasne albo ciemne piksele, wybrane kolory albo zaznaczony obszar) z własnymi wartościami.
  5. Włącz Wypukłość z kolorów i ustaw siłę, a potem przyciskiem Zastosuj do podobnych tekstur daj ten sam materiał każdemu złożu, każdym deskom albo pniowi.
  6. Kliknij Eksportuj. Java dostaje _n.png i _s.png obok każdej tekstury, a Bedrock zestawy tekstur i możliwość pbr.

Świecące kropki rudy i inne części

Część daje niektórym pikselom własne wartości. Kolorowe piksele znajdują klejnoty złoża w szarym kamieniu, Jasne piksele światło lampy, Piksele wybranych kolorów dokładnie te kolory, które klikniesz, a Zaznaczony obszar prostokąt, który zaznaczysz narzędziem zaznaczania. Mały obrazek pokazuje, które piksele obejmuje część.

Zastosuj do podobnych tekstur kopiuje materiał na inne ściany tego samego bloku i na każdą teksturę, której nazwa kończy się albo zaczyna tym samym słowem: wszystkie tekstury *_ore, wszystkie oak_* i tak dalej. Każda zachowuje własne kolory, więc części i wypukłość idą za jej pikselami.

Java: mapy labPBR do shaderów

Java nie ma własnego PBR: rysuje je paczka shaderów w Irisie albo OptiFine. Edytor zapisuje obie mapy labPBR obok każdej tekstury, na przykład assets/minecraft/textures/block/stone_n.png i stone_s.png (przed 1.13 textures/blocks/), w rozmiarze, w jakim eksportowana jest tekstura. Gładkość jest percepcyjna (1 minus szorstkość), niemetale dostają F0 około 4%, a piksel bez świecenia ma alfę 255, żeby obrazki bez alfy nigdy nie świeciły.

Włącz shader, który czyta mapy labPBR; w jego ustawieniach nazywa się to często labPBR albo obsługą paczek zasobów, a to shader decyduje, jak mocne są odbicia i świecenie. Shadery z kreatora shaderów na tej stronie jeszcze nie używają tych map.

Bedrock: zestawy tekstur do Vibrant Visuals

Bedrock czyta zestaw tekstur obok tekstury z kolorami. Świecące kropki i wypukłość to obrazki:

{
  "format_version": "1.16.100",
  "minecraft:texture_set": {
    "color": "diamond_ore",
    "metalness_emissive_roughness": "diamond_ore_mer",
    "normal": "diamond_ore_normal"
  }
}

Wartość dla całej tekstury nie potrzebuje obrazka:

{
  "format_version": "1.16.100",
  "minecraft:texture_set": {
    "color": "iron_block",
    "metalness_emissive_roughness": [255, 0, 70]
  }
}

Prześwit to czwarty kanał metalness_emissive_roughness_subsurface (format 1.21.30, tylko Vibrant Visuals) i jest zapisywany jako TGA, żeby jego alfa została taka, jaka jest. Zestaw tekstur może wskazywać tylko obrazki z tej samej paczki, dlatego edytor dokłada też teksturę z kolorami, nawet jeśli jej nie malujesz. Paczka zgłasza możliwość pbr, bez której Vibrant Visuals zostaje wyłączone:

{
  "format_version": 2,
  "header": {
    "min_engine_version": [1, 21, 120],
    …
  },
  "modules": [ … ],
  "capabilities": ["pbr"]
}

Gra ma własne zestawy tekstur dla większości bloków. Przy Vibrant Visuals zestaw z gry pokazałby jej teksturę z kolorami zamiast twojej, dlatego każda tekstura, którą zmienisz bez materiału, dostaje w twojej paczce kopię zestawu z gry. Ustawienia Vibrant Visuals wyjaśnione.

Otwieranie paczki z mapami PBR

Otwórz paczkę do Javy z mapami labPBR albo paczkę do Bedrocka z zestawami tekstur, a jej mapy pojawią się w zakładce „Materiał” swoich tekstur. Są eksportowane dokładnie takie, jakie były, dopóki nie zmienisz materiału.

Częste pytania

Potrzebuję karty graficznej RTX?

Nie. Vibrant Visuals działa na wielu komputerach, konsolach i nowszych telefonach, a shadery labPBR działają na większości kart graficznych, które obsługują shadery. Starszy tryb ray tracingu w Bedrocku czyta te same zestawy tekstur, oprócz materiałów, które przepuszczają światło: te używają warstwy, którą czyta tylko Vibrant Visuals.

Dlaczego moja paczka wygląda w grze tak samo?

Bedrock: ustaw tryb grafiki na „Odświeżona szata graficzna” (Vibrant Visuals) i przesuń paczkę na samą górę w zasobach globalnych. Java: włącz shader z obsługą labPBR i sprawdź jego ustawienie materiałów albo paczek zasobów. Bez jednego z nich Minecraft pokazuje tylko kolory.

Czy materiały działają na przedmiotach i mobach?

Tak, w Vibrant Visuals i w większości shaderów labPBR. Edytor zawsze zapisuje mapy normalnych, nigdy mapy wysokości, bo Vibrant Visuals nie umie używać map wysokości na przedmiotach.

Dlaczego metal powinien mieć 0 albo 100?

Prawdziwe rzeczy są z metalu albo nie, a labPBR i Vibrant Visuals traktują piksel jako jedno albo drugie. Wartości pośrednie wyglądają szaro i matowo. Żeby kamień błyszczał, podnieś połysk, a metal zostaw na 0.