Zastanawiam się nad prototypowaniem gry w Unity, która składałaby się z kwadratowych duszków / płytek. Myślę, że mogę reprezentować różne typy obiektów o różnych kolorach dla każdego z kafelków w grze.
Myślę, że mogę zaimportować pojedynczy kwadratowy duszek i odpowiednio go odcień w Unity, w przeciwieństwie do importowanych kwadratów o wielu różnych kolorach.
Moje doświadczenia z dostosowaniem odcienia i nasycenia w Photoshopie pokazują, że biel nie jest łatwa do zmiany, ponieważ białe rzeczy często pozostają białe. Moje testy w Unity pokazują, że mogę zmienić „kolor” duszka na cokolwiek innego niż biały, a duszek wydaje się być odpowiednio zacieniony, pomimo tego, co bym pomyślał, biorąc pod uwagę moje doświadczenie z Photoshopem.
Ponieważ białe obiekty wydają się przyjmować odpowiednie cieniowanie po zmianie w Unity, mój żołądek mówi mi, że jest to najlepszy kolor podstawowy na początek, co oznacza, że mogę zaimportować pojedynczy biały kwadratowy duszek i po prostu dopasować kolor, aby reprezentował różne obiekty i stany obiektów.
Czy biały duszek jest właściwie najlepszym duchem na początek i dlaczego coś takiego działa w Unity, a nie dostosowuje odcień i nasycenie w Photoshopie?
Odpowiedzi:
Biały jest najlepszym kolorem podstawowym dla prawdziwej reprezentacji. Również utrzymywanie skala szarości duszka może ułatwić dostosowanie drużyn itp.
Unity stosuje
Multiply
tryb mieszania do tekstury i koloru duszka.Kolor koloru Unity wynosi od 0 do 1 włącznie.
Kolor. Biały jest równy
(1, 1, 1, 1)
.Wiedząc, że
1
czasy wszystko jest sobą.Jeśli skala szarości
texture
jest mieszana zColor
polem renderowania sprite , każdy piksel jest sam. Zmiana tego pola po prostu pomnoży każdą jednolitą wartość skali szarości przez każdy składnik koloru.Możesz grać w trybie mieszania Multiply w swoim ulubionym edytorze obrazów, takim jak Photoshop lub GIMP.
źródło
Sprites-Additive.shader - GitHub Gist
Kolory Unity mają 4 wartości zmiennoprzecinkowe typowe dla wielu formatów kolorów RGBA, odpowiadające poszczególnym procentowym wartościom kolorów: czerwony, zielony, niebieski i kanał przezroczystości alfa.
Jak wspomniano powyżej, domyślny „Odcień” stosowany przez Unity to multiplikator cieniujący Photoshop nazywa ten efekt „Pomnóż”, a proces dosłownie zwielokrotnia wartości kolorów w pikselach twojego duszka z wybraną wartością koloru.
Problem polega na tym, że multiplikatywny moduł cieniujący matematyki ZAWSZE wytwarza ten sam odcień (jeśli „pomnożysz” przez biały) lub ciemniejszy kolor, jeśli pomnożysz przez cokolwiek innego. Natknąłem się na sytuację, w której chciałem dokładnie odwrotnego efektu w sytuacji typu kowalskiego. Podgrzanego metalu nie należy pomnożyć przez żółty, aby uzyskać ciemniejszy odcień:
Zamiast tego przepisałem domyślny multiplikatywny moduł cieniujący Unity na addytywny. Wyniki były bardziej zgodne z tym, czego szukałem:
Jeśli ktoś jest zainteresowany, przedstawię treść przepisanego Sprites-Additive.shader .
Oto dobre odniesienie do terminologii i trybów kolorów: http://www.northlite.net/ps/blend.htm
źródło