Практика 5. Интерфейс (GUI)

Пользовательский Интерфейс в Unity

1. Управление Вводом

В новых версиях Unity ввод заменен на новый пакет Input System.

Для его установки у себя пройдите в Window - Package Manager и в режиме Packages: Unity Registry откройте Input System и нажмите Install.

Создайте новую сцену с кубом. Добавьте компонент Player Input.

Для того чтобы использовать ввод, надо настроить Input Actions (действия ввода). Для этого в параметрах компонента Player Input надо нажать Create Actions и сохранить этот новый Asset. В панели Project он должен появиться, и его можно открыть и настроить. По-умолчанию Unity создает 3 действия - Move (движение WASD), Look (мышкой Delta), Fire (ЛКМ).

Нажав ПКМ на Player (или создав свой Action Map), можно добавить действие через Add Action. Справа в Properties видны тип действия Action Type (Value - на изменение значения, Button - на нажатие/отпуск, Pass Through - передача полностью скриптам или другим системам Unity).


Добавьте действие Jump происходящее по нажатию Button пробела, как на рис. 1.



Рис. 1. Действие Jump

Создайте скрипт input как на рис. 2 и присвойте его кубу.



Рис. 2. Скрипт input

Название метода OnJump складывается из названия действия Jump.

Создайте Plane под кубом и добавьте кубу Rigidbody.

Нажав Play можно проверить, как работает Jump - нажимаем пробел, и без возвращения на землю можно нажать его снова - получается что-то наподобие Flappy Bird, только с кубом.

Попробуйте сделать метод OnMove(InputValue value) и двигать куб по данным, полученным из Vector2 v = value.Get<Vector2>();
2. Интерфейс

Элементы интерфейса Unity UI распологаются в объекте Canvas (холст). Создание любых объектов интерфейса приводит к созданию Canvas.

Создайте объект Text. Разместите его так, чтобы он был виден в Game.

Создайте метод OnFire как на рис. 3 скрипта input, который будет менять текст.



Рис. 3. Метод OnFire меняющий текст

Создайте кнопку Button и расположите ее на экране. Создайте метод OnButton как на рис. 4. В Inspector перетащите из Hierarchy наш Cube и выберите метод input - OnButton.



Рис. 4. Метод OnButton

Unity может вывести ошибки об использовании старой версии InputSystem, когда мы установили новую. Для этого двойным кликом по ошибке открываем в Inspector настройки и жмем Replace.



Рис. 5. Replace with InputSystemUIInputModule

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



Рис. 6. Пример вида задания

Комментарии

Популярные сообщения из этого блога

Лабораторные работы

О курсе...