TGViewer
Red Atom Red Atom @unitygamelab · 204 subscribers
Post #50 70
ScriptableObjects: Создание глоссария - часть 2

В этом посте мы наконец разберём вёрстку глоссария, иными словами реализация макета, на котором будет выводиться информация о наших противниках.

🛠Подготовка
Для начала нужно настроить холст. Нам понадобится лишь установить Scale With Screen Size, чтобы объекты Canvas масштабировались вместе с изменением размеров экрана, после чего нужно выставить эталонное разрешение - то, которое установлено у вас во вкладке Game. У меня, как вы видите, это 1920х1080.

Далее требуется разбить глоссарий на нижнюю и верхнюю область. Обратите внимание, что это сделано с использованием так называемых “якорей”(Anchors). Если говорить по простому, то якорь, это точка, к которой привинчивается объект на макете(Canvas). Это может быть середина холста, его нижний левый край или произвольная, выбранная вами точка. Также каждый якорь может быть прикручен к разным точкам, и тогда вместо указания позиции для объекта мы будем указывать отступы от якорей. Использование якорей это навык очень важный для вёрстки. Тема использования якорей достаточно важна, поэтому её нельзя игнорировать, но также эта тема не настолько велика, чтобы писать отдельный пост. Накидайте бананов, если хотите подробно разобрать позиционирование UI элементов на Canvas

Что нужно отображать?
После того, как мы установили базовый макет, нужно определиться с тем, что мы будем выводить на этом макете? В случае с нашими ScriptableObject`ами – это имя, здоровье и урон, то есть те самые параметры, которые мы определили для них в прошлом посте.

Чтобы выводить эту информацию нам понадобится объект с компонентом TextMeshPro – этот элемент вы сможете найти во вкладке UI во всплывающем окошке при попытке создать объект. Я создаю пары Label-Value, то есть объект, указывающий на тип значения и само значение, чтобы пользователь по подписи мог понять, что является здоровьем, а что уроном. Затем нужно лишь расставить эти элементы на холсте

🧐Кого нужно отображать?
Создав макет и добавив поля для вывода информации нам остаётся лишь добавить интерфейс для выбора противников, информацию о которых пользователь сможет узнать. Для этого в нижней части экрана я создаю кнопки – объекты Button, подписывая их так, чтобы пользователь понимал, какого противника он выберет для рассмотрения при нажатии.

✍🏻Итог
Теперь у нас есть набор конфигов, каждый из которых хранит информацию о конкретном противнике и макет глоссария, через который пользователь сможет рассмотреть информацию о каждом из противников. В следующем посте мы наконец добавим скрипты для управления этим макетом и установления связи между ним и конфигами, чем, наконец, закроем тему ScriptableObject. Ждите совсем скоро!
More from @unitygamelab
  1. Sep 19, 2026Эксперименты Начал экспериментировать с постпроцессингом в URP и написал свой первый шейде…
  2. Sep 12, 2026Закончил все комнаты Закончил, конечно, громко сказано, но по локации уже можно пройтись о…
  3. Sep 5, 2026Добавил ещё две новых комнаты и и осталось всего 6 В главном хабе пришлось потратить много…
  4. Aug 29, 2026ЕЩЁ две комнаты Теперь есть ещё и склад с комнатой управления складом. Расставил свет от б…
  5. Aug 22, 2026Ещё две комнаты Добавил на локацию помещение охраны(небольшая комнатка) и распределительны…
  6. Aug 15, 2026Комната с лифтом Закончил комнату с лифтом - теперь в локации есть два помещения. Очень хо…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →