Material Atlas (bez pluginu)
Ten tutorial wyjaśnia, jak robić atlasy materiałów ręcznie. Bez żadnych pluginów.
Zanim zaczniesz, jest inny poradnik na ten temat, który robi to samo i szybciej za pomocą pluginu tutaj. Na wypadek gdybyś go przeoczył.
Ale jeśli:
- Plugin się zepsuł albo ma problemy
- Jesteś zbyt leniwy, żeby zaktualizować Blender do wersji 5.xxx (mój przypadek lol)
- Nie znosisz pluginów.
To jedziemy dalej.
Zacznijmy od podstaw, czym jest atlas materiałów? W skrócie chcemy mieć tekstury modelu 3D spakowane w jeden obraz, żeby dało się je zaimportować do League. Czasem, gdy pobierasz model, jego widok materiałów wygląda tak:

Jak widać, jest tu długa lista materiałów i każdy z nich jest powiązany z obrazem zawierającym fragment tekstur modelu. Zawęzimy to do zaledwie 1.
Żeby to zrobić, musimy wykonać te kroki:
- Rozłóż UV modelu na nowy pusty obraz używając nowej mapy UV.
- Ustaw baking
- Wypal tekstury na naszym pustym obrazie.
- Ostatni szlif i porządki
Krok 1
To pewnie najtrudniejsza część całego procesu, więc gdy ją skończysz, będziesz w 80% gotowy.
Na potrzeby tego tutoriala pominiemy część o "dobrych UV" i pozwolimy Blenderowi zrobić wszystko automatycznie za nas. Miej jednak na uwadze, że zawsze będzie lepiej, jeśli ręcznie utworzysz szwy (seams) dla modelu i rozłożysz je porządnie.
Na początek utwórz nową mapę UV, która przechowa nasze nowe zmiany. Żeby to zrobić, przejdź do panelu po prawej stronie w Blenderze i kliknij w zielony trójkąt, jak pokazano tutaj:

Nową mapę UV możesz nazwać, jak chcesz. Powinieneś teraz mieć coś takiego

Zwróć uwagę, że mamy ją podświetloną na niebiesko, ale ikona kamery jest wyłączona, w przeciwieństwie do domyślnej mapy UV, która ma ją włączoną, to jest ważne. To mówi Blenderowi: "Pokaż UV z UVMap w renderze, ale każda akcja albo modyfikacja jest zapisywana na tej niebieskiej".
Następnie przechodzimy do zakładki UV Editing

Lewy panel to miejsce, gdzie edytujesz UV. Domyślnie zaznaczony będzie losowy obraz z jednego z materiałów modelu, ale my chcemy utworzyć nowy obraz od zera. Zwykle ustawiam obrazy na 2K → 2048 x 2048.

Gdy obraz jest już utworzony, upewnij się, że faktycznie edytujesz właśnie ten obraz oraz że używasz swojej nowo utworzonej mapy UV:

Teraz musimy poukładać UV, żeby były ładne i schludne. W tej chwili, jeśli zaznaczysz część modelu, zobaczysz bałagan:

Spokojnie, proces jest w większości automatyczny.
Zaznacz cały model 3D klawiszem "a", potem naciśnij "u" i wybierz "Smart UV Project", skopiuj moje ustawienia albo pobaw się nimi wedle uznania, jeśli trzeba.

Powinieneś teraz mieć coś takiego

To może wyglądać "dobrze", ale musisz być ostrożny, bo automatyczne rozkładanie UV nie jest idealne i mogą pojawić się nakładki.
Na przykład, jeśli przybliżymy lewy dolny róg, zobaczymy, że nie został rozłożony zbyt ładnie

Jak to naprawić? Prosto. Najpierw zaznacz problematyczną część. Żeby to zrobić, musisz włączyć małą ikonę w lewym górnym rogu obrazka poniżej. Upewnij się też, że jesteś na "face selection" (podkreślona ikona)

Teraz wszystkie wyspy UV będą widoczne po lewej stronie. Możesz teraz przejść do problematycznego obszaru, najechać myszą na jedną ze ścian i nacisnąć L, aby zaznaczyć tylko tę wyspę. Zobaczysz, że podświetli się też na modelu 3D. Rozłóżmy tę jedną osobno. Po jej zaznaczeniu naciśnij U, ale tym razem wybierz "Unwrap minimum stretch".

Obraz 12. Wynik unwrap minimum stretch zaznaczonego obszaru
Możesz zmienić jej rozmiar ręcznie, aż zmieści się w pustych miejscach naszego obrazu, albo pozwolić Blenderowi zrobić to za ciebie! W tym drugim przypadku naciśnij "A" jeszcze raz, żeby ponownie zaznaczyć wszystko. Potem przejdź do menu UV i wybierz pack islands

Spróbuj użyć tej samej wartości odstępu co na obrazie 8

Twoje UV są teraz gotowe. Zajmijmy się teraz bakingiem.
Krok 2
Baking mówi Blenderowi, żeby przeniósł pewne aspekty tego, jak wygląda teraz model 3D, w inne miejsce, zwykle na obraz tekstury.
Na potrzeby tego kroku użyjemy zakładki shading z menu zakładek na górze okna Blendera.
Po lewej stronie otwórz nasz wcześniej utworzony obraz "one_texture", który powinien być jeszcze czarny.

Teraz nudna część. Przejdź do panelu po prawej stronie, do widoku materiałów, i zaznacz pierwszy. Potem w panelu węzłów (te boksy tuż pod naszym modelem 3D) naciśnij F3 i wpisz "Image texture"

Teraz wybierz nasz obraz "one_texture" z ikony "picture". Powinieneś mieć coś takiego

Przy okazji, lubię zmieniać przestrzeń kolorów na sRGB, resztę zostaw bez zmian.
Widzisz białe podświetlenie wokół krawędzi boksa? To znaczy, że jest zaznaczony, to też jest ważne dla bakingu.
Gdy skończysz, naciśnij ctrl+c, żeby skopiować węzeł, i przejdź przez każdy z pozostałych materiałów na liście po prawej, naciskając ctrl+v, żeby go wkleić.
Jeśli zrobiłeś to poprawnie, będziesz miał teraz jeden boks jak na Obrazie 17 na każdy materiał, upewnij się, że wszystkie są zaznaczone.
Krok 3
Przejdź do zakładki render w panelu po prawej stronie

Zmień silnik renderujący z EEVEE na Cycles, bo EEVEE nie obsługuje bakingu.
Wejdź tam w podmenu "Bake" i wybierz te ustawienia:

Diffuse map wypala kolor tekstury, wyłączamy direct i indirect, bo nie chcemy, żeby jakiekolwiek światło się wtrącało.
Zanim naciśniesz przycisk "Bake", upewnij się co do tego- Zaznaczona mapa UV to ta, którą utworzyłeś od nowa.
- Jest nowy zaznaczony węzeł image texture dla każdego materiału.
- Twój model 3D jest też zaznaczony

Gdy będziesz gotowy, naciśnij bake.
Jeśli poszedłeś za tutorialem poprawnie, będziesz miał teraz coś takiego

Zapisz obraz lokalnie, bo inaczej go stracisz.

Krok 4
Czas na porządki i przetestowanie wyniku.
Wróć do widoku layout (na górnym pasku menu), twój model 3D powinien już wyglądać dobrze, więc namieszajmy trochę. Najpierw utwórzmy nowy materiał, który przechowa naszą nową teksturę.

Nadaj mu nazwę, np. "one_texture", i przełącz się na layout shading, potem ustaw węzły jak na poniższym obrazie.

Wróć do zakładki layout i usuń wszystkie materiały poza tym, który utworzyliśmy. Skończysz z bałaganem jak ten

Pamiętasz menu mapy UV z obrazu 2? Przełącz ikonę kamery tak, żeby twoja nowa mapa UV miała ją aktywną, i patrz, jak dzieje się magia.
Teraz ostatni szlif, usuń starą "UVMap" i zmień nazwę nowej na tę samą, czyli "UVMap". Nie jestem pewien, ale gdzieś czytałem, że nazwa UVMap jest ważna, żeby skiny działały w League.
