MC Toolkit

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 dopasowuje go do 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. Żadne z tych założeń nie jest prawdziwe. 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ą, z grubsza, równym różnicom postrzeganym. Dopasowywanie w Lab sprawia, że narzędzie do palet może zaproponować blok, który naprawdę czyta się jako właściwy kolor, zamiast takiego, 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 palet mierzy średni kolor każdego bloku z rzeczywistych plików tekstur i porównuje go w CIELAB. To naprawia problem RGB, ale nie ten, więc sprawdź hałaśliwy blok okiem, zanim przeznaczysz na niego duży obszar.

Java i Bedrock różnią się tutaj

Oba wydania nie dostarczają identycznych tekstur i nie cieniują identycznie. Java stosuje kierunkową jasność ścian i barwienie biomów 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 niepasująca 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 detali, które już nie istnieją. 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ą odpowiednika w postaci jednego bloku, a dopasowywacz dzieli je na połowie alfy. Poniżej niej piksel jest pomijany (pozostawiony jako powietrze) lub, jeśli wybierzesz wypełnienie, staje się najciemniejszym blokiem palety; na niej lub powyżej piksel jest dopasowywany tak, jakby był nieprzezroczysty. Szkło nie jest oferowane, więc zdecyduj, którego z tych dwóch chcesz, przed eksportem.

Zamień obraz w mozaikę z bloków za pomocą gotowego .mcfunction lub znajdź waniliowy blok najbliższy dowolnemu kolorowi w Pixel Art & Block Palette.

Pixel art i paleta bloków →

Więcej poradników

Zobacz wszystkie →