В этой статье я опишу процесс настройки графики и самой Unity под пиксельную графику.
Выбор размера персонажа
Для начала выберите размер персонажа в единицах измерения Unity(юнитах). Самый оптимальный вариант соотношение 1 метр = 1 юнит. Поэтому можно взять размер персонажа в 2 юнита. Это соотношение можно нарушать, но нужно помнить, что у координат в Unity есть ограничение по количеству знаков(чем больше знаков до запятой, тем меньше знаков после), из этого следует, что нужно найти золотую середину для вашего проекта, иначе при больших координатах персонаж начнет дергаться в пространстве из-за обнуления координат.
Выбор размера экрана в высоту
По стандарту, при изменении соотношении сторон приложения, высота проекции камеры не меняется, а меняется только ширина. Выбор высоты камеры повлияет на создание всей графики в проекте, потому что все элементы должны совпадать по плотности пикселей, иначе все будет выглядеть не так гармонично.
Лучший способ, просто отталкиваться от высоты персонажа. Просто подумайте, сколько персонажей поместятся по высоте экрана. После чего умножайте количество на высоту персонажа и получите вашу высоту экрана.
Настройка камеры
Нам потребуется два поля: projection и size. Поле projection отвечает за тип проекции камеры, нам потребуется orthographic. После выбора типа проекции у вас появится параметр size, ему даете значение в половину размера вашего экрана в высоту. Size - это половина высоты проекции в юнитах.
Высчитывание плотности пикселей(pixel per unity)
Выберите необходимую высоту персонажа в пикселях и разделите ее на высоту персонажа в юнитах. Это и будет ваше значение плотности пикселей. Желательно, чтобы это значение было целым числом для удобства работы с ним дальше. Потом просто умножайте это значение на высоту экрана в юнитах и получите значение высоты в пикселях и будете знать сколько пикселей занимает один экран в высоту. Теперь у вас все будет готово для того, чтобы создавать и импортировать пиксельную графику.
Импорт графики в Unity
У каждого файла в Unity есть параметры импорта. Нас интересует настройка импорта файлов изображений. Просто выделите файл и в инспекторе появятся эти настройки.
Сразу меняйте значение pixel per unit на вычисленное нами ранее.
И не забудьте поменять поле filter mode на point, так как иначе, unity размоет границы пикселей и получится мыло. И нажимайте кнопку apply(можно выделить сразу несколько файлов и менять им свойства одновременно, это поможет сэкономить время).
Pixel perfect
Pixel perfect - это эффект, когда позиция пикселей графики соответствует с позиции пикселя на экране. Так как объекты в Unity движутся не по пикселям, а по юнитам, возможен такой случай, когда пиксель допустим нашего персонажа(объекта и т.п.) попадет между пикселей экрана. И тогда этот пиксель будет размытым и повлияет на другие пиксели вокруг. Картинка в движении будет рябить и в целом некоторые элементы потеряют четкость, а может даже и их форму.
В Unity есть стандартный компонент для того, чтобы отображать графику нормально. Но для этого нужно сначала установить в проект package. Для этого зайдите в окно Package Manager(Window>Package Manager). Найдите в списке слева 2D Pixel Perfect, выделите его, а затем нажмите install справа.
Дальше на объект с компонентом Camera набросьте компонент Pixel Perfect Camera и введите значение pixel per unit которое вы вычислили ранее.
Заключение
Порядок всего выше перечисленного можно менять, я просто попытался объяснить что за что отвечает и рассказал как этим пользоваться. Надеюсь этот материал был полезен, буду рад вашим вопросам и отзывам.