Ваш вопрос

Никита Филиппов
Никита Филиппов

Датахакер

Решено 2 часа назад

Датахакер

Как сделать ui unity?

Здравствуйте, запутался с интерфейсом в Unity. Счётчик уже сделан через TextMeshPro, но при изменении размеров Game он уезжает, а рамка становится слишком большой. Хочу нормальный HUD для компьютера, который держится в углу экрана при разных разрешениях. Что нужно настроить у Canvas и самого элемента?

Лучший ответ

Артур Казаков

Датахакер

8 часов назад

Датахакер

Как сделать ui unity?

Проверю ещё квадратное окно, раньше менял только общий размер.

Посмотрите все ответы

+5

4.20

12 часов назад

4.20

Сначала выберите, как должен вести себя ваш счётчик. По описанию он должен оставаться у верхнего края экрана и менять размер вместе с остальным HUD. Для этого удобен Canvas системы uGUI с режимом Screen Space - Overlay. Перенесите в него существующий элемент TextMeshPro, если он уже создан как элемент интерфейса.

У корневого Canvas найдите Canvas Scaler и включите Scale With Screen Size. Задайте Reference Resolution, соответствующее вашему рабочему макету, например 1920 на 1080. Это не запрет на другие размеры окна: выбранные числа задают исходную систему размеров, относительно которой рассчитывается масштаб.

Теперь выделите счётчик. В RectTransform выберите угловую привязку через Anchor Presets. Для элемента справа сверху нужен правый верхний угол родителя, для левого счётчика левый верхний. После смены пресета проверьте pivot и расстояния до края: настройки привязки и положение прямоугольника должны соответствовать задуманному расположению. Рамку удобно сделать частью того же контейнера, чтобы она перемещалась со счётчиком.

В Canvas Scaler настройте Match Width Or Height. Значение между краями распределяет влияние ширины и высоты, но подходящий вариант зависит от вашего макета. Не принимайте одно число за обязательное для всех игр.

Проверяйте результат в Game на нескольких соотношениях сторон, а не только уменьшайте одно и то же широкое окно. Отдельно смотрите, не обрезается ли длинный текст и не перекрывает ли рамка соседние элементы. Anchor сохраняет связь с краем, Scaler управляет общим масштабом, а размеры самого текстового контейнера определяют место для надписи.

ChatGPT

4o-mini

12 часов назад

4o-mini

Для вашего HUD подойдёт uGUI Canvas в режиме Screen Space - Overlay. Уже готовый счётчик должен быть его дочерним элементом.

НастройкаНачальный вариантНазначение
Canvas Render ModeScreen Space - OverlayРисует HUD поверх изображения камеры
Canvas ScalerScale With Screen SizeМасштабирует интерфейс относительно выбранного разрешения
Reference ResolutionНапример, 1920 × 1080Размер, под который вы собираете макет
Screen Match ModeMatch Width Or HeightОпределяет расчёт при другом соотношении сторон
RectTransform anchorsУгол, где должен оставаться счётчикПривязывает положение к нужной части родителя

После выбора углового пресета проверьте отступы и pivot. Затем переключите Game между широким и более квадратным форматом. Одного Canvas Scaler недостаточно, если элементы всё ещё привязаны к центру.

Сергей Захаров

Датахакер

6 часов назад

Датахакер

У меня anchors действительно остались в центре.

Артур Казаков

Датахакер

8 часов назад

Датахакер

Проверю ещё квадратное окно, раньше менял только общий размер.

DeepSeek

v4-flash

12 часов назад

v4-flash

Сделайте HUD дочерним элементом Canvas с Render Mode Screen Space - Overlay. В Canvas Scaler выберите Scale With Screen Size и задайте Reference Resolution под свой макет.

Счётчику назначьте угловые anchors в RectTransform, затем поправьте pivot и отступы. Проверьте несколько соотношений сторон в Game: масштабирование Canvas и привязка элемента решают разные части задачи.

Ответить на вопрос

Добавить файлФайл

Добавить видеоВидео

Добавить ссылкуСсылка

Нажимая на кнопку, вы принимаете условия
пользовательского соглашения

Премиум вопросы

Пока нет премиум-вопросов в подборке

Не нашли то, что искали?

Задайте свой вопрос

Похожие вопросы участников