Что такое ui в unity
Перейти к содержимому

Что такое ui в unity

  • автор:

Unity UI: Unity User Interface

Unity UI is a UI toolkit for developing user interfaces for games and applications. It is a GameObject-based UI system that uses Components and the Game View to arrange, position, and style user interfaces. ​ You cannot use Unity UI to create or change user interfaces in the Unity Editor.

This documentation describes Unity UI features such as creating a Canvas, positioning and animating elements, defining user interactions, and sizing layouts automatically.

Создание интерфейса (UI) под разные разрешения экрана

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

В данном руководстве о том “как это делается”, мы собираемся использовать простой пример, чтобы взглянуть и сравнить между собой различные инструменты в контексте данного вопроса. В нашем случае как показано ниже, у нас по углам имеется три кнопки и нашей целью является адаптировать данную компоновку под разные разрешения.

Для данного руководства о том “как это делается” мы решили использовать четыре разрешения экрана: Phone HD в портретной ориентации (640 x 960) и альбомной (960 x 640) и Phone SD также в портретной (320 x 480) и альбомной (480 x 320). Изначально компоновка была настроена под Phone HD портретную ориентацию и разрешение.

Using anchors to adapt to different aspect ratios

Элементы интерфейса по-умолчанию привязаны к центру родительского прямоугольника. Данное означает что они сохраняют постоянное смещение относительно центра.

Если с данной настройкой разрешение было изменено под альбомное соотношение сторон, кнопки могут выпасть из своих прямоугольных областей, где они изначально должны были быть расположены.

Одним из способов сохранить расположение кнопок в области экрана является изменение компоновки таким образом, чтобы места их расположения были связаны с их соответствующими углами на экране. Привязка левой верхней кнопки может быть также установлена в левом верхнем углу при использовании в инспекторе выпадающего списка Anchors Preset (наборы привязок), или путём перетаскивания треугольных ручек привязок в видовом окне сцены (Scene View). Лучше сделать это пока текущее разрешение экрана, установленное в игровом режиме (Game View) является тем разрешением, для которого изначально всё и было задумано, где места расположения кнопок были бы подобраны более разумно и как говориться к месту.(Ознакомьтесь со страницей UI Basic Layout для получения более подробной информации по привязкам.). Так же например привязки для левой нижней и правой нижней кнопок могут быть выставлены в левый нижний и правый нижний угол соответственно.

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

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

В данном руководстве о том “как это делается” мы уже знаем о том, что небольшая разрешающая способность портретной и альбомной ориентации Phone HD устройств не соответствует экранам, которые физически обладают меньшим по сравнению с ними размером, в то время как это самое соответствие больше выражается в плотности пикселей на 1 дюйм самого экрана. На этих экранах меньшей плотности кнопки не должны отображаться крупнее чем на экранах устройств с большей плотностью пикселей — они должны быть точно такого же размера, ни больше, не меньше.

Данное означает что кнопки должны становиться меньше настолько же, насколько в процентном соотношении становиться меньше сам экран. Другими словами, масштаб кнопок должен быть привязан к масштабу размеров экрана. Вот где может помочь компонент Reference Resolution

Масштабирование с компонентом Screen Size

Компонент Canvas Scaler может быть добавлен в корень Canvas — игровой объект (Game Object) со встроенным в него компонентом Canvas, все интерфейсные элементы которого являются его потомками. Он также создаётся по-умолчанию во время создания нового компонента Canvas через меню GameObject.

В компоненте Canvas Scaler вы можете установить его UI Scale Mode в Scale With Screen Size. В данном режиме масштабирования вы можете определить какое разрешение использовать в качестве базового. Если текущее разрешение больше или меньше базового, фактор масштабирования компонента Canvas устанавливается соответственно так, чтобы все элементы интерфейса масштабировались в большую или меньшую сторону вместе с разрешением экрана.

In our case, we set the Canvas Scaler to be the Phone HD portrait resolution of 640 x 960. Now, when setting the screen resolution to the Phone SD portrait resolution of 320 x 480, the entire layout is scaled down so it appears proportionally the same as in full resolution. Everything is scaled down: The button sizes, their distances to the edges of the screen, the button graphics, and the text elements. This means that the layout will appear the same in the Phone SD portrait resolution as in Phone HD portrait; only with a lower pixel density.

Чего стоит опасаться: так это того, что после добавления компонента Reference Resolution, важно также проверять как будет выглядеть компоновка с другими соотношениями сторон. Установив разрешение обратно в Phone HD альбомное, можно заметить как кнопки стали больше, чем должны быть (и для чего должны были быть использованы).

Причина, по которой кнопки при альбомном соотношении сторон становятся больше кроется в том, как работают настройки базового разрешения (Reference Resolution). По-умолчанию они сравнивают ширину текущего разрешения с шириной базового и как результат всё на экране масштабируется основываясь на коэффициенте масштабирования, получаемом из этой разницы. Если текущее альбомное разрешение равное 960 x 640 превосходит в 1.5 раза ширину портретного базового разрешения равного 640 x 960, то вся компоновка в целом будет увеличена в 1.5 раза.

Компонент имеет свойство под названием Match, которое может принять значение равное 0 (ширина), 1 (высота) или любое значение лежащее в пределах между 0 и 1. По-умолчанию оно установлено в 0, что означает то, что текущая ширина экрана соответствует базовой ширине базового разрешения, о котором говорилось ранее.

Если свойство Match имеет значение не равное 0.5, оно будет сравнивать текущую ширину с базовой шириной, текущую высоту с базовой высотой, и выберет коэффициент масштаба близкий и к тому и к другому разрешению.

At this point the layout supports all the four screen resolutions using a combination of appropriate anchoring and the Canvas Scaler component on the Canvas.

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

Unity UI Toolkit

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

Просмотреть UI Toolkit версии LTS 2021 можно в Unity Hub или на странице загрузки LTS. Попробовать
Что нового в UI Toolkit

UI Toolkit содержит функции, ресурсы и инструменты для разработки пользовательских интерфейсов и расширений редактора. В версии LTS 2021 этот инструмент поддерживает создание и отладку интерфейса для среды выполнения в играх и приложениях с интуитивно понятным рабочим процессом. Это помогает художникам и дизайнерам быстрее приступать к работе.

UI Toolkit в редакторе

Основные преимущества

Узнайте о функциях и возможностях UI Toolkit.

  • Специальные инструменты для разработки
  • Рендеринг динамического текста
  • Анимация интерфейса
  • Рендеринг без использования текстур
  • Настраивайте интерфейс и редактор

Демонстрация UI Toolkit builder

Начните работу с нашими специальными инструментами для разработки

UI Toolkit включает специальные инструменты для разработки, такие как UI Builder и UI Debugger. Они создавались по примеру аналогичных веб-технологий. Инструмент UI Builder подходит для визуального проектирования и редактирования пользовательских интерфейсов игр и приложений прямо в Unity, а UI Debugger помогает быстро устранять проблемы.

Rendering dynamic text

Рендеринг динамического текста

TextMesh Pro — технология рендеринга шрифтов. Она была интегрирована в UI Toolkit, чтобы разработчики могли выполнять это действие без дополнительных плагинов и пакетов. Вам доступны расширенные возможности стилизации. Вы можете добавлять аккуратный и красивый текст с любым размером и разрешением.

Dragon crashers

Анимация интерфейса с использованием быстрых переходов

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

Textureless UI builder

Выполняйте эффективный рендеринг интерфейса без использования текстур

Настраивайте радиус, цвет, размер и текст границы, создавая элементы интерфейса без использования текстур непосредственно в UI Toolkit. Импортировать изображения из Photoshop больше не нужно. Такой подход значительно сокращает время, затрачиваемое на переключение между инструментами, а также уменьшает общее потребление памяти и размер сборки. Все это способствует более эффективному масштабированию.

UI Builder visual workflows

Разрабатывайте пользовательские интерфейсы и расширения для редактора Unity

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

Другие преимущества

Быстрые итерации

Работайте и выполняйте итерацию быстрее благодаря глобальному управлению стилями и возможности творить в реальном времени.

Знакомые процессы

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

Улучшенная командная работа

Логика в коде C#, структура интерфейса в документах UXML и возможность редактировать стили в таблицах упрощают работу с различными частями интерфейса и позволяют избежать конфликтов.

Эффективность рендеринга

Получите больший контроль над производительностью игры с помощью подсказок по рендерингу и динамического атласа текстур.

Плодотворное сотрудничество

UI Toolkit можно использовать вместе с IMGUI для редактора и UGUI для времени выполнения. Инструмент также совместим с новой системой ввода Unity.

Повторное использование

Делитесь стилями и виджетами внутри одного или нескольких проектов, а также в редакторе и среде выполнения.

Сравните системы Unity для работы с интерфейсом

Хотя Unity рекомендует UI Toolkit для новых проектов по разработке интерфейса, все же есть случаи, когда имеет смысл использовать более старые системы — Unity UI (uGUI) и IMGUI. Сравните разные системы для работы с интерфейсом, чтобы выбрать наиболее подходящую.

Начните использовать UI Toolkit уже сегодня

Получите доступ к UI Toolkit LTS 2021 из Unity Hub или со страницы загрузки LTS, чтобы начать использовать интуитивно понятные инструменты разработки и совместные рабочие процессы в своих проектах.

Ресурсы

Dragon Crashers UI Toolkit sample

Блог

Узнайте, как начать работу с UI Toolkit, из этого пошагового руководства.

QuizU

QuizU

A UI Toolkit sample

QuizU is an official Unity sample demonstrating various design patterns and project architecture including MVP, state pattern, managing menu screens, and much more using UI Toolkit.

Документация Unity

Документация

Ознакомьтесь с руководством от Unity, чтобы узнать больше об UI Toolkit.

Группа людей работает в компьютерной лаборатории

Сообщество

Примите участие в обсуждениях на форуме сообщества и следите за новостями UI Toolkit в Unity.

Часто задаваемые вопросы
В каких случаях стоит использовать UI Toolkit и Unity UI?

Инструмент UI Toolkit рекомендуется в качестве альтернативы Unity UI. Он позволяет создавать интерфейсы наложения, совместимые с самыми разными разрешениями экрана. Он подойдет командам, которые работают со значительным количеством интерфейсов, хотят внедрить привычные рабочие процессы для художников и дизайнеров и/или выполнять рендеринг интерфейса без использования текстур.

Unity UI по умолчанию рекомендуется для пользователей, которые хотят создать интерфейс, расположенный и освещенный в трехмерном мире, а также VFX с пользовательскими шейдерами, материалами и простыми ссылками из классов MonoBehaviour.

Можно ли использовать UI Toolkit с Unity UI?

Инструменты UI Toolkit и Unity UI совместимы между собой, поэтому вы можете переносить существующие проекты без необходимости переписывать весь интерфейс. Это означает, что вы можете воссоздать некоторые части существующего проекта с помощью UI Toolkit, оставив другие части в Unity UI, — и они будут работать вместе.

Можно ли использовать UI Toolkit для создания интерфейсов в системе World Space?

UI Toolkit в настоящее время не поддерживает элементы интерфейса, которые размещаются или освещаются в трехмерном мире. Однако можно сделать так, чтобы элементы интерфейса на экране следовали за объектами в системе World Space.

Можно ли использовать UI Toolkit с DOTS?

Вы можете взаимодействовать с UI Toolkit из систем DOTS в основном потоке, как и с другими встроенными функциями движка.

UI Toolkit предоставляет возможность связывания данных?

UI Toolkit пока не предоставляет решения для связывания данных. Значения элементов интерфейса нужно прописывать в коде C#. Мы добавим эту возможность в следующем крупном выпуске UI Toolkit.

Совместим ли инструмент UI Toolkit с экспериментальной версией пакета векторной графики?

Да. Несмотря на то, что экспериментальные версии пакетов официально не поддерживаются Unity и потому не рекомендуются для использования в производстве, UI Toolkit можно использовать с ассетами SVG (если у вас установлен пакет векторной графики).

Как начать использовать UI Toolkit?

Инструмент UI Toolkit доступен в рамках выпуска LTS 2021. Получить доступ к UI Toolkit можно в Unity Hub или на странице загрузки.

Как будет меняться UI Toolkit в будущем?

Мы создали UI Toolkit, чтобы предоставить единое решение для создания интерфейсов, которое будет соответствовать всем потребностям разработчиков и дизайнеров, работающих с инструментами редактора или интерактивными функциями.

Вы можете ознакомиться с планами развития платформы Unity и при желании предоставить обратную связь нашей команде.

Что такое ui в unity

Topics covered

Is this article helpful for you?

Thank you for your feedback!

Thousands of people have preregistered and now it’s finally here: Our biggest e-book yet, User interface design and implementation in Unity, is available to download. Get ready to dive into over 130 pages of advanced instruction in UI design.

Your game’s user interface is perhaps the most direct way you can communicate with and guide your players – like a folded map you hand to them that reveals clues, key details, and directions as they progress. Whether you’re using more traditional elements like health bars and pop-up messages, or elements completely embedded in the game world, such as showing stats on the back of a player’s survival suit, the UI is integral to immersing players in your game’s story, realm, and artistic style.

We’re thrilled to announce that our latest technical e-book, User interface design and implementation in Unity, is available to download for free. Thousands of people have already signed up for it, and just as many have downloaded its companion piece, the demo project, UI Toolkit sample – Dragon Crashers, to date. Now it’s your turn.

Expand

UI fundamentals: From art creation to the latest toolsets

This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.

The UI Toolkit sample – Dragon Crashers demo was developed during the creation of the e-book to illustrate common use cases with UI Toolkit and visual authoring with UI Builder.

The interest in this e-book is understandable. As it says in the introduction, “User interface is a critical part of any game… a solid graphical user interface (GUI) is an extension of a game’s visual identity… [and] modern audiences crave refined, intuitive GUIs that seamlessly integrate with your application.”

The guide begins by covering UI design and art creation fundamentals, and then moves on to in-depth instructional sections on UI development in Unity. Written and reviewed by technical and UI artists – external and Unity professionals alike – the e-book unpacks both Unity UI, the default solution, and the newer UI Toolkit.

The emphasis, however, is on the latter toolset, as UI Toolkit now provides many benefits for projects with complex, fullscreen interfaces. Think of projects that require a scalable and performant system for runtime UI. To help you choose the right solution for your project, please refer to this section of the Unity manual.

Wireframing, roundtripping, grey-boxing, and more

The e-book is a treasure trove of information for professional UI designers, artists, and other Unity creators who want to deepen their knowledge of UI development. Here’s a snapshot of what’s inside.

The first section aims to inspire with foundational tips for making effective UI. It looks at examples of diegetic UIs, where UI elements can be found right in the story, making parts of the game world function as a user interface. It explains how elements can either contribute to or break the immersion that a player experiences. We even turned this section into a blog post that you can read here.

The guide then turns to the roles and responsibilities of a UI designer, and what tools and methods they employ such as UI wireframing, art creation through mockups, fonts, and grey-boxing. There’s also a chapter on asset preparation and exporting graphics from Digital Content Creation (DCC) tools. These earlier sections in the guide are helpful no matter what game engine and UI solution you’re using.

Advanced tips for using Unity UI

An extensive chapter is devoted to Unity UI. Unity UI is our longtime system for creating in-game UIs, and currently the go-to solution for positioning UI in a 3D world or using GameObject-based Unity systems.

This section outlines Unity UI fundamentals for prototyping and integrating assets in-Editor: the Canvas, prebuilt UI elements, TextMesh Pro, and Prefabs, among others. We recently updated an article on advanced optimization techniques for Unity UI, where you can find tips on related topics.

Building your skills with the evolving UI Toolkit

UI Toolkit is made for maximum performance and reusability with workflows and authoring tools informed by standard web technologies. UI designers and artists will likely find it familiar, especially with prior experience designing web pages.

Three major sections of the guide highlight instructions for developing runtime UI with UI Toolkit. There’s a thorough explanation of the parts that comprise UIs made with UI Toolkit, including the Unity Extensible Markup Language (UXML) and Unity Style Sheet (USS) using UI Builder.

You’ll explore how UI Toolkit positions visual elements based on Yoga, an HTML/CSS Layout engine that implements a subset of Flexbox. Flexbox architecture provides advantages, such as responsive UI, enabling you to adapt your UI to different screen resolutions and sizes. Through both UXML and USS, you can decouple the styles applied to UI layouts (and switch those styles up as needed), while logic and functionality continue to live in code. Workflows for visual elements, the fundamental building blocks of each interface, are also discussed in great detail – from positioning, size, and alignment settings, to margins and padding.

All about styling

The chapter on styling shows you how to define reusable styling for visual elements with Selectors, override styles and define unique attributes with inline styles, and create animations and effects with USS animation and a Camera Render Texture. It also demonstrates how you can thematize UI elements for holidays and other special events.

That’s when the e-book gets into UI Toolkit sample – Dragon Crashers, with different sections that depict how the UI was made; from the menus and custom controls like radial counters or tabbed views, to embedded UXML templates and more.

Expand

Finally, the guide concludes with a mini profile of the studio Mechanistry’s UI migration to UI Toolkit for their new game, Timberborn. This brief study showcases how their lean team managed to scale and keep their game consistent across various menus and screens.

New resources to refine UI creation in Unity

At 137 pages, the UI e-book is not a light read. As with the other technical e-books released this past year, use it as a reference on an ongoing basis.

Along with the e-book, check out a couple of recently released resources filled with useful tips for leveraging Unity UI and UI Toolkit:

  • The Unite 2022 session, Extending the Unity Editor with custom tools using UI Toolkit, shows programmers how to use UI Builder to create a custom Inspector for real-time Play Mode debug data visualization.
  • The webinar, Best practices for mobile UI design, gathers experts from Outfit7, Samsung, and Unity to share strategies for maximizing the creativity and flow of your mobile games.

The technical e-books are all just a click away

Bookmark one or both of these pages. They compile all of our technical e-books and advanced content:

  • Unity best practices
  • Advanced best practices – Unity Manual

We hope that you enjoy this latest e-book and look forward to your feedback in this forum.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *