Patrzę na nowe funkcje 2D wprowadzone w Unity 4.3 i myślę, że czegoś mi brakuje.
Dla mnie wygląda na to, że są przeznaczone do gier 2D o wysokiej rozdzielczości, w których skalowanie duszków jest w porządku, ale nie nadaje się do gier pikselowych.
Duszek pixel-art został zaprojektowany tak, aby wyświetlać dokładnie 1: 1 piksele na ekranie: skalowanie niszczy go (wyjątek stanowi liniowe skalowanie w górę, tzn. Możesz skalować go 2x, 3x, 4x itd.).
Jednak nie znalazłem sposobu, aby „po prostu wyświetlić go takim, jakim jest”, najwyraźniej Unity nalega na skalowanie go do dowolnej rozdzielczości, jaką uzna za stosowną: mogę kontrolować parametr Camera.size i parametr „pikseli na jednostki” duszka , ale nie udało mi się uzyskać tego wyniku.
Odpowiedzi:
W tym artykule podano kilka przydatnych wyjaśnień, nawet jeśli było to wcześniej niż 4.3:
(dodano pewne podkreślenie)
To oczywiście działa lepiej, jeśli rozdzielczość wysokości jest podzielna przez rozmiar duszka, ale nawet jeśli nie jest, nadal daje dobre przybliżenie przyzwoitego wyniku.
TL; DR :
cameraSelf.orthographicSize = screenH / (float)spriteSize / 2f;
źródło