Контурная вышивка, я скучала
Давно я не вышивала контуры. Соскучилась по лайтовой вышивке и взяла небольшой заказ, чтобы отдохнуть 😃
Надо чтобы было максимально контрастно и ярко?
✅️ Done
Давно я не вышивала контуры. Соскучилась по лайтовой вышивке и взяла небольшой заказ, чтобы отдохнуть 😃
Надо чтобы было максимально контрастно и ярко?
✅️ Done
Раздача до 19 марта.
Неторопливая игра в стиле фэнтези и научной фантастики. Вам предстоит проходить разные лабиринты, управлять таинственными роботами, исследовать красочные миры.
Источник мой Telegram-канал 🔥 https://t.me/ProFreeGames/53 🔥Раздачи/скидки для Android, IOS публикую не часто. Только самые лучшие и наиболее интересные, на мой взгляд. Ибо я считаю это рекомендацией, а советовать всякое *** такое себе. [В последние дни канал больше про списки ограничений для РФ в индустрии развлечений]
Наконец закончил интеграцию системы обработки и вывода настроек геймпада в 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:
В последнее время работал над интеграцией геймпадов в T-Reload.
Unity давно выпустила InputSystem, которая значительно отличается от старой Input.
В нашем случае (синглплеерная игра) не возникло проблем при миграции системы ввода с Input -> InputSystem.
Unity выпустила хороший тестовый проект Warriors, который позволяет изучить принцип работы новой системы ввода в действии.
В проекте использовались следующие устройства ввода:
1) Keyboard
2) Mouse (For simulating touchscreen input in the Unity Editor)
3) PlayStation 4 Dualshock Controller
4) Xbox One Controller
5) Nintendo Switch Pro Controller
6) Android Samsung Galaxy S9 (Touchscreen for Virtual Joystick and Virtual Button)
Клавиатура и мышь "воспринимаются" как одно устройсвто, работают. С ними проблем у нас не возникло.
Unity тестировали проект на реальном Xbox One геймпаде. Я не особо разбираюсь в разновидностях, не уверен, но кажется они тестировали игру на этом:
Подключил свой геймпад 4-й ревизии и он почему-то успешно распознался как Xbox One:
Может кто знает как распознать разные версии геймпадов? Тестовый проект этого не умеет делать для геймпада xBox.
А вот разные геймпады Sony определяются по-разному. То есть можно точно знать что подключено: Dualshock или DualSense.
В WarriorsProject Unity использовали PlayStation 4 Dualshock.
Я же приобрел PlayStation 5 DualSense и WarriorsProject его не обнаружил в всписке поддерживаемых геймпадов. Пришлось добавлять.
То есть, получается, что xBox геймпады распознаются все как один, а геймпады Sony распознаются как разные.
Танцы с бубном на этом еще не закончились. Геймпад DualSense подключается по блютузу к разным компам через пень-колоду. До сих по не пойму точно как он коннектится и от чего это зависит. А вот геймпад от xBox подключается по блютузу без вопросов. Да и лампочка помогает видеть состояние xBox-геймпада (включен или нет, что очень удобно). В то же время на DualSense нет индикатора-лампы и непонятно включен он или нет.
С xBox проблем не возникло пока никаких. Ну кроме как impulseTriggers почему-то до сих пор нельзя запустить из коробки (у сони та же проблема).
Геймпад от сони подключается к компу без танцев с бубнами (быстро) если подключать через кабель. Но вот здесь нажатия кнопок почему-то не определяются именно для DualSense:
В сети встречал подобную проблему у NintendoSwitchPro.
Особо удивила вибрация DualSense. Она совсем не работала. Работали все стики, все кнопки, но не вибрация. Я уже начал думать, что геймпад с браком. Случайно подключил его с помощью кабеля и обнаружил, что вибрация все же есть.
То есть у DualSense вибрация работает только при проводном подключении :/Кто бы мог подумать? Нужно читать документацию.
Работа над интерфейсом геймпада в игре
Изучив разные версии отображения кнопок на геймпадах, принял неверное решение: решил провести линию к каждой используемой кнопке и подписать её (так кто-то сделал). В результате много возился с этим и понял, что не использовал опыт предыдущего дизайнера, а повторил его ошибки XD Распиновка геймпада путала игрока, выглядела крайне запутанно (примерно так):
Это дело нас не устроило и мы пришли к такому варианту отображения подписей используемых кнопок:
На этом пока все. Если кто знает, то подскажите где есть список со всевозможными bindingPaths???
Очень нужно знать баиндинги вот этих кнопок:
Наконец дело дошло до интеграции геймпадов!
Мое предполагаемое ТЗ самому себе по части геймпада выглядело примерно так:
- поддерживать всевозмодные варианты геймпадов, а именно: xBox / Playstation / Nintendo / какиой-нибудь ноунейм
геймпады должны удовлетворять следующим требованиям (иначе поддерживать не сможем):
a) наличие 2-х стиков;
b) наличие D-Pad (4 кнопки на геймпаде слева)
c) наличие ABXY - кнопок на геймпаде справа (South/East/West/North)
d) наличие кнопки Start
e) наличие left/right bumper & trigger кнопок
- организовать интерфейс таким образом, чтобы была возможность производить настройку игры через геймпад (как и должно быть, + на игровых консолях не будет возможности использовать клавиатуру и мышку)
- сократить используемые кнопки в игре (до минимума)
- организовать возможность подключения кода геймпада к уже написанному программному интрефейсу (old Input)
- дать пользователю возможность гибко настраивать геймпад под свои требования
Предполагалось, что геймпад введем после выхода PC-версии игры. Но последний опрос показал, что людям важна не только возможность настройки управления, но и возможность выбора игрового контроллера. По этой причине и было принято решение подключить геймпад как можно раньше. Изучив вопрос, пришел к заключению, что нужно брать xBox геймпад 4-й ревизии.
Причины выбора:
- многие знакомые разработчики мне посоветовали именно его
- он часто используется в играх
Приобрел данное устройство за 5 300 руб. Не знаю, оригинал или нет... Но вроде все работает: беспроводное / проводное подключение на PC и OSX, кнопки, вибрация.
Интеграция с кодом
Как ни старался, но возник ряд проблем связанных с интеграцией.
- давно вышла новая InputSystem (Unity). Система гибкая, удобная. Потому было решено использовать именно InputSystem. Это привело к небольшой переписи логики существующего кода и пересмотру логики
- игрвое меню имело ряд проблем, которые возникли при отсутствии мышки. Дело в том, что навигация в меню с помощью геймпада основана на выделении текущего объекта с которым взаимодействует пользователь. У нас такого выделения не было, пришлось его ввести, пересмотрев дизайн всего меню
- вибрация. Удивительно насколько важна вибрация. Осознал это только тогда, когда начал с ней работать. Вибрация - это своего рода "тактильная озвучка", которая доступна только тем, кто играет с геймпадом. Качественная вибрация повышает передачу атмосферы, чувства присутствия. Некачественная (не соответствует происходящему в игре, расходится с анимациями) наоборот, разрушает впечатление и погруженность в игровой процесс.
Пришлось потратить время на создание целой системы вибрации на:
a) примитивные действия игрока такие как "взять"/"бросить" (незаметная вибрация)
b) вибрация движения (удары, полет, прыжки, неудобное перемещение в присевшем состоянии)
c) внешние реакции (вибрация от перемещения массивных обьектов, например: движение платформ, которые имеют внутренний мотор и вибрация от него передается части помещения)
в) добавлена возможность полного отключения вибрации
Что важно: важно не переборщить с вибрацией.
Пока не добрались, но уже в пути:
Говорят есть возможность использовать 4 вибропривода на геймпаде от xBox. У меня получилось использовать только два:
```
gamepad.SetMotorSpeeds(low, hight);
```
Никто не знает как получить доступ к еще двум?
Интеграция с анимацией
Оказалось, что триггеры геймпада работают "как курки", а не как кнопки. Если использовать их как кнопки, то игра "чувствуется иначе" и это никуда не годится.
Схема геймпада для того чтобы не было путаницы с тем что есть триггеры:
То есть сила нажатия передается в игру. Этим можно воспользоваться и задавать уровень приседания игрока в зависимости от уровня зажатия триггера.
Аналогичная тема возникла со стиками. Вернее со связью анимации перемещения и стиков. Пришлось учесть тот факт, что игрок может идти вперед с разной скоростью, а не только с максимальной как это происходит в случае если за движение отвечает кнопка.
Интерфейс меню
Как говорится: из песни слова не выкинешь. Так и в случае с геймпадом: просто так в меню геймпад не вставишь.
Пришлось видоизменить вкладку меню, которая отвечает за геймпад.
Ранее наше меню по форме немного напоминало меню из Portal 2: находилось в левой нижней части экрана и по форме было прямоугольным.
Нам было весьма проблемно "вставить геймпад" потому, что он получался "впихнутым" в окно, что даже смотрится неочень. А ведь нуно еще и дать возможность гибкой и интуитивно-понятной настройки клавиш.
По этой причине мы планируем разместить геймпад в центральной части экрана (места там достаточно и вниманием он обделен не будет), а меню разделим на два подменю (кнопки), которые раположим слевой и справой стороны экрана как условно показано тут:
О поддержке разных геймпадов
Предъявляемые к геймпадам требования о количестве и типам кнопок сделаны для того чтобы была возможность привести все устройства управления к одному общему виду. С одной стороны это позволит разработчикам иметь представление о том как игрок будет играть в нашу игру. С другой стороны мы исключим неподдерживаемые устройства, которые нам не известны. То есть это некая гарантия с нашей стороны (и гарантия со стороны разработчика движка): если у геймпада есть определенный набор кнопок, то игра сможет поддерживать ваш геймпад.
Заключение, тесты
Тесты разных геймпадов проводил с помощью программы reWASD. Утилита позвляет "подменять" геймпад xBox на Playstation, переназначать кнопки и многое другое. То есть игра думает, что у вас в руках геймпад от Playstation.
Отмечу, что для полноценного теста игры, нужно иметь, пожалуй, более одного физического геймпада. Пока еще не все протестировано и нужно попробовать подключить к игре одновременно несколько (не менее 2-х) геймпадов и посмотреть как обработать эту ситуацию.
Хотелось бы узнать непосредственно у разработчиков, какой второй геймад вы бы посоветовали для тестов и нужно ли? Может есть утилита, которая способна создавать виртуальные геймпады?
Уже около 3х лет пользуюсь и владею геймпадом от Xbox One.Покупался он чисто для задротства на ПК/ноуте и к консоли ни разу не подключался.И был я всем доволен,и удобно мне было.
Но вот сегодня свершилось открытие(автор слоупок)-оказывается в этом ублюдке есть вибромоторчики в триггерах!!!Сегодня я решил опробовать Forza Horizon 5 и это первая игра,в которой они начали работать,начали давать тактильные ощущения при нажатии тормоза и газа,начала ощущаться дорога.
То есть всё это время я играл в кучу разных игр с этим гейпадом,но ниразу,НИ ОДНОГО, МАТЬ ЕГО РАЗУ,эти штуки не включались и не щекотали мои пальчики!!!
Как так?Это прелести Windows 10 или просто ПК игры не пользуются данной фичей и в них не прописана возможность подачи инфы на вибрики в триггерах? Или это из-за обновы до 11 винды подрубилась и раскрылась эта возможность гейпада?
• Игровая консоль Nintendo Switch Lite (кораллово-розовый) — 13 859 ₽ (16 499 ₽, -16%)
• По промокоду WOWBUY600 Геймпад Беспроводной Dualshock 4, для PlayStation 4, черный — 4 390 ₽ (4 990 ₽, -12%)
• По промокоду TOPFALL1500 Гарнитура игровая HYPERX Cloud Alpha S Blackout — 9 290 ₽ (10 790 ₽, -14%)
Все предложения → https://pikabu.ru/go/site_deals_20_10_ali
Акция действует до конца завтрашнего дня!
Введение: Мой отец - инвалид после инсульта, который он перенёс лет 15+ назад. Сейчас сидит в кресле-каталке, сам не встаёт. Из-за недостатка активности его и так плохая координация движений с каждым днём становится все хуже. Сейчас он уже с трудом может дотянуться рукой до мышки или клавиатуры и нажать одну нужную кнопку. (У него сейчас приставка на Андроид с основными программами - ТВ, кинозал, браузер...) Обычно при этом он ещё и задевает несколько других клавиш.
А главная проблема в том, что и отпустить нажатую кнопку сразу он не может, поэтому у него мало что получается сделать самостоятельно. (В ОС Андроид длительное нажатие на элементах вызывает контекстное меню, и поменять скорость его вызова, вроде бы, негде.)
Задача 1: Требуется такая игра или программа, где можно тренироваться нажимать разные клавиши на скорость реакции, а так же на частоту нажатий-отпусканий. Возможно, так же, чтобы там были упражнения на память,- запоминать последовательность нажатий. И обязательно, чтобы в игре был прогресс от совсем медленных действий до быстрых.
Есть такие игрушки под Андроид? Может быть, для маленьких детей есть что-то подобное?
Задача 2: А, может быть, такие игры существуют в реале в магазине игрушек, например?
Задача 3: А что насчёт контроллеров для людей с ограниченными возможностями? Есть ли такие в природе? Чтобы клавиши были очень большие и сильно отстранены друг от друга. Если есть дополнительные программируемые клавиши, то было бы вообще супер.
Помогите, пожалуйста, найти игру или программу (если такая есть). Или, может, кто-то ещё что-нибудь дельное подскажет? Заранее благодарю откликнувшихся.
Взять с собой побольше вкусняшек, запасное колесо и знак аварийной остановки. А что сделать еще — посмотрите в нашем чек-листе. Бонусом — маршруты для отдыха, которые можно проехать даже в плохую погоду.