Poradniki / Budowanie i zasoby
Dopasowanie koloru do bloku w Minecraft jest trudniejsze, niż się wydaje
Dwa bloki mogą wyglądać identycznie w RGB i zupełnie inaczej na ścianie, bo gra cieniuje każdą renderowaną ścianę.
Wybierz blok, którego średni kolor jest najbliższy twojemu celowi, a zwykle wybierzesz źle. Minecraft nie rysuje bloku jako średniego koloru jego tekstury — mnoży tę teksturę przez jasność danej ściany, a następnie przez poziom światła w tym miejscu. Kolor, który pobrałeś ze zrzutu ekranu, jest już wynikiem tego cieniowania, więc podanie go bezpośrednio do wyszukiwania najbliższego koloru porównuje go z wartością, której żaden blok faktycznie nie wyświetla.
Dlaczego średnie RGB zawodzi
Średnie RGB traktuje trzy kanały jako równie ważne i zakłada, że zmieniają się liniowo. Ani jedno, ani drugie nie jest prawdą. Ludzki wzrok jest znacznie wrażliwszy na różnice w zieleni niż w błękicie, a różnica koloru o tej samej wartości liczbowej wydaje się znacznie większa w ciemnych tonach niż w jasnych. Dwa bloki mogą znajdować się w tej samej odległości RGB od celu i wyglądać zupełnie inaczej na ścianie.
CIELAB powstał dokładnie po to, by to naprawić: równe odległości liczbowe w Lab odpowiadają w przybliżeniu równym różnicom postrzeganym. Dopasowywanie w Lab sprawia, że narzędzie palety potrafi zaproponować blok, który naprawdę czyta się jako właściwy kolor, a nie taki, który jedynie dzieli ten sam kod hex.
Tekstura to nie jeden kolor
Tekstura bloku to kwadrat pikseli, a większość z nich nie jest jednolita. Tekstura 16×16 zawiera 256 pikseli, a hałaśliwy kamień czy cętkowana tekstura liści rozciąga się na szeroki zakres tonów. Zredukowanie jej do jednej średniej wyrzuca wariancję — czyli tę część, która decyduje o tym, czy mozaika czyta się jako gładka, czy jako nakrapiana. Dopasowywacz palety mierzy względem rzeczywistych plików tekstur, więc raportowana odległość odzwierciedla to, co blok faktycznie zawiera.
Java i Bedrock różnią się tutaj
Oba wydania nie dostarczają identycznych tekstur i nie cieniują identycznie. Java stosuje kierunkową jasność ścian i barwienie biomu przez własny potok; Bedrock obsługuje barwienie i niektóre kolory bloków inaczej. Paleta, która pasuje idealnie w jednym wydaniu, może być widocznie przesunięta w drugim, szczególnie w przypadku trawy, liści i wody. Buduj paletę w tym wydaniu, w którym faktycznie stawiasz bloki.
Od obrazu do mozaiki
Mozaika to siatka, a każda komórka staje się jednym blokiem. Wynikają z tego dwie rzeczy. Po pierwsze, obraz trzeba zmniejszyć do rozmiaru siatki przed dopasowaniem, a nie po — dopasowywanie w pełnej rozdzielczości, a potem pomniejszanie, daje paletę wybraną dla szczegółów, których już nie ma. Po drugie, wynikiem jest .mcfunction, więc cała budowla jest stawiana poleceniem, a nie ręcznie. Liczba poleceń skaluje się z liczbą komórek, a nie z liczbą pikseli obrazu.
Pułapka przezroczystości
Piksele z częściową alfą nie mają jednego odpowiednika blokowego. Zdecyduj z góry, czy staną się powietrzem, wariantem szkła, czy najbliższym nieprzezroczystym dopasowaniem, ponieważ dopasowywacz nie może odgadnąć twoich intencji i w przeciwnym razie wcieli je do najbliższego jednolitego koloru.
Zamień obraz w mozaikę blokową za pomocą gotowego .mcfunction lub znajdź waniliowy blok najbliższy dowolnemu kolorowi w Pixel Art & Block Palette.