Войти
ПрограммированиеФорум2D графика и изометрия

Unity. Камера и Canvas, положение UI элементов при разном разрешении.

#0
10:33, 13 фев. 2020

Здравствуйте!

Я начал работать с Unity. И возникла такая проблема, что при сборке проекта, когда я меняю разрешение (растягиваю окно), элементы холста(Canvas) не сохраняют своё положение. Я бы хотел, чтобы они были строго привязаны к игровому пространству 4 на 3, а они двигаются за размером окна и становились обрезанными.

Я много игрался с разными настройками, брал UI Scale Mode на Scale with Screen Size, пытался настраивать якоря, но удавалось добиться желаемого результата лишь в окне самой программы (Unity), но не после сборки.

Вопрос: Есть ли легкий и быстрый способ всё настроить? Или это придется писать хитрые скрипты? Это что действительно все разработчики сталкиваются с такой сложной проблемой, чтобы игра правильно выглядела в любом разрешении?

P.S. Была раньше проблема с тем, что камера показывает лишнее, но я установил скрипт на затемнение (Экранное каше/letterboxing). И вроде пока всем доволен.

Правильное положение
нормальное положение | Unity. Камера и Canvas, положение UI элементов при разном разрешении.
Смещенное положение
Смещенное положение | Unity. Камера и Canvas, положение UI элементов при разном разрешении.


#1
13:06, 13 фев. 2020

Судя по всему у Вас неправильная установка "якорей" (Anchor) объектов интерфейса. Рискну предположить, что настройки остались "по умолчанию" - относительна центра экрана.

В Вашем случае спидометр следуем "закрепить" за правым нижним углом экрана.

#2
14:29, 13 фев. 2020

alex.dllsky Спасибо за ответ, но я уже разобрался сам. Там нужно было холст привязать к камере, а не экрану.

ПрограммированиеФорум2D графика и изометрия