Version: 2020.1
Создание элементов интерфейса с подгонкой их размеров под их контент
Создание элементов интерфейса путём скриптинга

Создание интерфейса на основе мировых координат (World Space UI)

Система создания интерфейсов позволяет легко создавать интерфейсы, которые позиционируются в мире среди других 2D или 3D объектов сцены.

Начните с создания элемента интерфейса (такого как изображение-Image), если в вашей сцене всё ещё нет такового, благодаря использованию пункта меню GameObject > UI > Image. Таким образом вы одновременно создадите и компонент Canvas.

Установите Canvas как World Space

Выберите ваш Canvas и измените режим его рендеринга на World Space.

Теперь ваш Canvas позиционирован в мире и может быть виден всеми камерами, если те нацелены на него, хотя скорее всего он может быть больше остальных объектов в вашей сцене. Мы ещё вернёмся к этому.

Принятие решения о разрешении

Сперва вам нужно будет решить какое разрешение должен будет иметь ваш Canvas. Если это было изображение, то каким разрешением в пикселях оно должно было бы обладать? Что-то вроде 800x600 смотрелось бы для начала весьма неплохо. Вы вводите значения ширины (Width) и высоты (Height) Rect Transform вашего Canvas-а. И будет довольно неплохо если вы сразу установите его позицию в значение координат 0,0.

Укажите размер Canvas-а в сцене

Теперь вы должны решить насколько крупным в трёхмерном пространстве должен быть ваш Canvas. Увеличить его до необходимого вам размера вы сможете либо путём масштабирования с помощью соответствующего инструмента масштаб (scale), либо задав нужные размеры в метрах.

Если вам необходимо указать какое-то конкретное значение в метрах, вы можете подсчитать нужный масштаб используя команду meter_size / canvas_width. Например, если вам нужно, чтобы он был 2 метра в ширину, а Canvas имеет сейчас ширину в 800 пикселей, тогда вам нужно будет 2 разделить на 800 и вы получите нужный вам масштаб: 2 / 800 = 0.0025. Затем вы устанавливаете свойство Scale Rect Transform на Canvas-е равное 0.0025 как для X,Y, так и для Z, чтобы убедиться в его равномерном масштабировании.

Другим способ представить всё это заключается в том, что вы контролируете размер каждого пикселя на своём Canvas-е. Если Canvas был масштабирован до 0.0025, тогда соответственно этим размером будет обладать и каждый пиксель на вашем Canvas-е.

Расположите Canvas

В отличие от Canvas установленного как ориентированного на Screen Space, Canvas ориентированный на World Space можно свободно располагать и вращать в сцене (Scene). В пространстве Canvas-а вы можете расположить любую стену, пол, потолок или наклонную поверхность (или например парящую в воздухе). Просто используйте инструменты обычного перемещение (Translate) и вращения (Rotate), расположенных на панели инструментов.

Создайте пользовательский интерфейс

Теперь вы можете начать настраивать ваши элементы интерфейса и компоновки таким же образом, как вы это сделали ранее со Screen Space Canvas-ом.

Создание элементов интерфейса с подгонкой их размеров под их контент
Создание элементов интерфейса путём скриптинга