60

Интеграция геймпада, 2 месяца спустя

Наконец закончил интеграцию системы обработки и вывода настроек геймпада в T-Reload на стороне меню. Не прошло и 2-х месяцев...

На картинке представлены геймпады для T-Reload, которые собраны в блендере.Основным требованием к моделям было: минимальная полигональность. У моделей выше около 6к полигонов.

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

- создается модель геймпада с якорными точками всех кнопок и оформляется в префаб

- в редакторе расставялются линии с примерным положением подписей к каждой кнопке

- префабу геймпада задается ID и сопоставляется набор иконок, которые символизируют кнопки геймпада

На начальном этапе система геймпадов должна уметь:

- вращать геймпад в зависимости от того, что игрок настраивает

- поддержка геймпадов xBox, PS4, PS5, NintendoSwitchPro

- поддержка нераспознанных геймпадов

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

Так как модели будут интегрированы в игру, еще нужно принять во внимание стилизационные особенности T-Reload. Но для дизайнеров (разработчиков) это обычное дело, как и вообще все, что ниже будет написано.

Процесс переделки меню под геймпад

Работу начал с анализа того, что было создано другими разработчиками:

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

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


Первым делом была разработана система линий, которые подключаются к разным элементам геймпада и которые можно настраивать прямо в редакторе:

Первое время пытался протянуть линию к каждой кнопке, но быстро понял, что запутанный паук из кучи линий - это не то, что радует глаз. "Паук" выглядел примерно так:

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

Согласитесь, муравей с усиками выглядит лаконичнее :)


Процесс проб и ошибок был достаточно долгим, пришлось исписать много страниц А4 по нескольку:

Разработка моделей


Каждый геймпад должен иметь свою модель. Цена вроде как визуально приемлимых моделей еще вчера составляла около $20. С курсом доллара сегодня это стало дороже в 2 раза.

Но все эти модели достаточно высокополигональные: около 200к полигонов. Самое минимальное, что удалось найти - это 100к полигонов.


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


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

Далее скачал SubstancePainter, создал карты материалов, маски:

А вот и протекстурированные модели:

Модели выше еще были откорректированы (в основном материалы, шейдеры) так как нужно их стилизовать под T-Reload.

Вот модель геймпада xBox в игре:

Геймад от Nintendo заставил немного понервничать. Дело в том, что у меня его нет и по фотографиям из сети я не мог понять, что у него за линии на корпусе. Позже пришел к тому, что корпус геймпада немного прозрачный, а линии - это конструктивные внутренние элементы, которые просвечиваются через пластик.


Так выгдядит редактор наших геймпадов:

А здесь геймпад PS5 и xBox непосредственно в T-Reload:

Завершение


На данный момент мы провели несколько тестов того как люди взаимодействуют с системой настройки управления. Все недочеты исправлены. Переходим к доработке системы вывода иконок помощи в процессе игры :)


VK // Twitter // Instagram // DTF // Habr

Инди игры

201 пост517 подписчиков

Правила сообщества

1. Реклама запрещена.


2. Сообщество авторское, публикуемый материал должен принадлежать Вам, потому каждое обвинение в плагиате должно быть подтверждено ссылкой. При первом нарушении - предупреждение, повторно - бан.


Идеально, если Вы являетесь членом инди-команды.
Пост без тэга "Мое" будет вынесен в общую ленту.


3. Постить только картинки или видео игры запрещено. Фото и видеоматериалы должны быть подкреплены текстом.


4. Особые публикации:

- интервью с разработчиками

- обучающие видеоматериалы

В этом случае правила п.3 могут быть смягчены или проигнорированы.


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


6. Пост должен иметь внятную структуру.


7. Администрация имеет право решать, насколько пост соответствует сообществу.