Я смотрю на новые 2D-функции, представленные в Unity 4.3, и думаю, что мне чего-то не хватает.
Мне кажется, они предназначены для 2D-игр с высоким разрешением, где масштабирование спрайтов в порядке, но не подходит для игр с пиксельной графикой.
Спрайт в пиксельной графике предназначен для отображения на экране ровно 1: 1 пикселей: масштабирование уничтожает его (линейное увеличение - исключение, т.е. вы можете масштабировать его 2x, 3x, 4x и т. Д.).
Однако я не нашел способа «просто отобразить его как есть», по-видимому, Unity настаивает на том, чтобы масштабировать его до любого разрешения, которое он сочтет нужным: я могу управлять параметром Camera.size и параметром «пикселей в единицах» в спрайте. , но мне не удалось получить этот результат.
Ответы:
Эта статья дает некоторые полезные объяснения, даже если это было до выхода 4.3:
(некоторый акцент добавлен)
Это, очевидно, работает лучше, если разрешение по высоте делится на размер спрайта, но даже если это не так, оно все равно дает хорошее приближение к приличному результату.
TL; DR :
cameraSelf.orthographicSize = screenH / (float)spriteSize / 2f;
источник