Scorched: геймпады всякие и разные

Добавлен , опубликован
Мало новых скриншотов? Это потому, что нада писать код! :)
На этой неделе внедрил кроссплатформенную работу с различными геймпадами.
Даже если вы со своей игрой пока не мечтаете залететь на консоли, с приходом VR поддержка геймпадов становится важной фитчой. Особенно на мобилках.
Но вот беда: геймпадов много и они разные. И даже один и тот же геймпад на разных платформах будет работать по-разному. И даже на одной платформе поведение одного геймпада может отличаться в зависимости от способа подключения (мой, например, умеет подключаться по USB и по Bluetooth).
И с этим адом нужно было что-то делать... и я сделал :)
Теперь Scorched комфортно и полноценно проходится с геймпадом как на ПК, так и на мобилках, а так же в VR-режиме.
Типа, ура.
`
ОЖИДАНИЕ РЕКЛАМЫ...
29
Но... ведь Unity... он же по дефолту поддерживает геймпады или нет?
4
поддерживает, но не стандартизирует - ты заранее не знаешь где у пользователя будет "Кнопка 2", например, или "Ось 3"
29
Farlenkov, весомый аргумент... Было бы еще круто рассказать подробнее как ты это решал. Все таки на этом сайте собрались по большей части разработчики и им тоже интересно посмотреть на некоторые интересные решения)
4
Сначала думал сделать как в Dead Trigger 2: при запуске предлагается настроить геймпад вручную. Метод надежный и дешевый, но таки не очень юзерфрендли.
В итоге остановился на внедрении InControl (github.com/pbhogan/InControl или u3d.as/6mr). Правда не очень хотелось добавлять такой комбайн в проект - хотелось чего то своего и легковесного. Но в InControl проделана большая работа: собраны профайлы большого количества девайсов под разные платформы.
Так же он умеет rebind во время игры и сообщать о текущем используемом девайсе. Последнее тоже важно - хорошо сделанные игры умеют на лету менять интерфейс если игрок во время игры пересаживается с мышки+клавы на геймпад и обрано.
Не обошлось и без допиливания InControl под свои заморочки, но в итоге, надеюсь, получилось достаточно хорошо и он приживется у меня
Чтобы оставить комментарий, пожалуйста, войдите на сайт.