Практика 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. Пример вида задания
Комментарии
Отправить комментарий