Автоматическое масштабирование Canvas для разных разрешений экранов на Unity3d

Unity3d

Разработчики игр, в частности начинающие, могут испытывать проблемы при подгонке своих творений под разные размеры экранов. Как сделать интерфейс адаптивным мы как раз и разберем в данном посте.

Для создания адаптивного интерфейса необходимо настроить компонент CanvasScaler. Для автоматического масштабирования элементов на хосте (на Canvas'e) переключите параметр "UI Scale Mode" в режим "Scale With Screen Size".

После этого набор настроек компонента изменится. Выставите появившиеся настройки как на скриншете ниже:

  • Reference Resolution - разрешение на которое изначально рассчитан холст, его желательно указывать 1080x1920, так как оно одно из "самых стандартных";
  • Screen Match Mode - режим масштабирования холста;
  • Match - значение при котором происходит масштабирование.

Наш холст теперь настроен и готов выдавать требуемую картинку. Осталось подготовить сами элементы интерфейса, которые располагаются внутри хоста. Для этого выставим якоря для каждого объекта и Unity будет автоматически подгонять размеры этих объектов под текущее разрешение экрана.

Под "якорями" понимаются вот эти прозрачные треугольники. Из них вы создаёте прямоугольник, края которого должны совпадать с краями объекта (на скрине они для примера оттянуты вправо и вниз).

Просмотр игры на разных разрешениях осуществляется в окне "Game":

В настройках компиляции есть возможность указать ориентацию экрана в меню "File"-"Build Settings"-"Player Settings":

Таким образом вы сможете полностью проконтролировать отображение интерфейса.


Комментарии (0)

Войдите, чтобы оставить комментарий.