Day 2: Основная система ввода
Работа идёт потихоньку, так как основной объём работы я запланировал на выходные. Но показать есть что. И даже поделиться прикольными “фишечками”.
В этот раз я делал основной ввод (поворот, передвижение) и вклеил первые попавшиеся анимации с Mixamo чтобы не резать глаз T-позами)
Ввод осуществляется через InputSystem. Ну ту самую в юнити которая “не-для-программистов-а-для-дезигнеров”. Так вот. Работать с ней не сложно. Всё строиться на событиях, которые вызываются через PlayerInput - новый компонент, с которым можно даже хот-сит реализовать в пару кликов. И он поддерживает быструю смену устройств ввода.
А теперь к интересному: “Если у вас в игре есть функционал который должен работать от разных девайсов по разному (у меня это поворот персонажа. Через геймпад он поворачивается через кватернионы, а через клава-мышь через рейкаст на плоскость. Совершенно несовместимые штуки. Но как понять какой девайс сейчас осуществляет ввод? Да вы могли запариться и сделать известный костыль-событие с нажатием любой кнопки осуществляется перевод булевой / enum переменно на соответствующее значение (часто такое вижу), но вы можете использовать функционал всё того-же самого PlayerInput: GetComponent<PlayerInput>().currentControlScheme == “Название нужной схемы которую вы заблаговременно создали в InputAction.
Читайте документацию Unity, не бойтесь нового и не городите костыли! До завтра!