Полезное

Мы Вконтакте

Discord канал

#
Пред.
12
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 98
Добрый день!
Пытаюсь подружить геймпад и UE4, т.е. обрабатывать события не только с клавиатуры/мыши, но и с гемпада.
Геймпад китайский, но прекрасно распознается виндой (двигаешь стики, жмешь кнопки - все винда видит) и благодаря x360ce работает во всех интересующих меня играх.
Достаточно настроить dll-ку, положить ее рядом с exe-шником игры и все работает.
Итак, скачал x360ce для x32 и х64 игр, запустил, сгенерировал 2 dll-ки xinput1_3.dll, ту, что сгенерировалась в x360ce_x64.exe закинул в ...\Engine\Binaries\Win64, для х32 на всякий пожарный закинул в ...\Engine\Binaries\Win32
В Edit->Project Settings->Input создал событие,которое должно произойти при нажатии какой-нибудь кнопки геймпада, затолкал туда почти все возможные, из каждой категории.
Изображение
Еще добавил Таб для проверки, он-то уж точно сработает.
В Блюпринте левела налепил это:
Изображение

Запускаю - Таб спавнит объекты и выводит 1.0, геймпад нет.
Ок, компилирую, собираю проект x32, закидываю рядом с исполняемым файлом xinput1_3.dll, запускаю ехешник - Таб спавнит объекты, выводит строку 1.0, а ГЕМПАД - НЕТ.
Т.е. ни в эдиторе, ни в собранном проекте геймпад не откликнулся.
2 дня над этим сижу.

Вопрос, кому удалось настроить управление с гемпада/джойстика? Что я делаю не так?
Аватара пользователя
Пользователь
Сообщения: 589
Если твой гэймпад работает в системе DirectInput тогда включи RawInput плагин. Он по умолчанию выключен.
Не надо никаких эмуляторов типа x360ce.
Аватара пользователя
Пользователь
Сообщения: 98
У меня этот плагин отсутствует, в Edit -> Project Settings -> Plugins его нет...
На каком этапе их добавляют?
https://docs.unrealengine.com/en-us/Gam ... t/RawInput
Аватара пользователя
Пользователь
Сообщения: 589
Как это отсутствует ?
Edit -> Plugins

Изображение

Когда хочешь тогда подключай или отключай.
Аватара пользователя
Пользователь
Сообщения: 98
Все, нашел, есть...
Но вот вопрос, как настроить вот эту часть?
Изображение
Vendor ID и Product ID я поставил, но вот вопрос, если воткнуть другой джойстик - работать будет? В чем смысл Vendor ID и Product ID?
Цитата:
Не надо никаких эмуляторов типа x360ce.

А почему нельзя настроить управление под xinput, ну т.е. как-бы дефолтное, Gamepad Left... а все остальное положить на плечи x360ce...
Или я не те события использую?
К тому же это распространенная проблема, люди с обычными не иксбоксовскими джойстиками в курсе таких проблем.
Аватара пользователя
Пользователь
Сообщения: 589
Цитата:
А почему нельзя настроить управление под xinput


Под xinput плагин не нужен. Его можно настраивать и так. Edit->Project Settings->Input Gamepad - это и есть xinput.

Цитата:
Vendor ID и Product ID я поставил, но вот вопрос, если воткнуть другой джойстик - работать будет? В чем смысл Vendor ID и Product ID?


Я там вообще ничего не настраивал никогда. Зачем там настраивать?

У тебя должны появится блюпринты в редакторе. И в настройках Edit->Project Settings->Input дополнительные настройки управления.
Аватара пользователя
Пользователь
Сообщения: 98
Вот черт, точно!
А я начал переназначать кнопки...
Вопрос, это универсальный метод для всех DirectInput девайсов?
Кнопка 1 на моем джойстике не всегда совпадает с аналогичной кнопкой на другом... Да и кнопок может быть больше (или меньше) Как быть в таком случае?
Цитата:
Под xinput плагин не нужен. Его можно настраивать и так. Edit->Project Settings->Input Gamepad - это и есть xinput.

Тогда по идее,джойстик + xinput1_3.dll (если закинуть его в папку с откомпилированным собранным проектом) должен работать, но не работает.
Все таки хотелось бы понять и этот момент. Или приложения, собранные в УЕ4 не обращаются к этой библиотеке?
Аватара пользователя
Пользователь
Сообщения: 589
xinput1_3.dll не надо закидывать.

Приложение обращается к библиотеке. Но она встроена в Windows. Windows -> system32

Цитата:
Вопрос, это универсальный метод для всех DirectInput девайсов?


Наверно...
Последний раз редактировалось Agny 07 ноя 2018, 16:00, всего редактировалось 1 раз.
Аватара пользователя
Пользователь
Сообщения: 98
Цитата:
Но она встроена в Windows.

Мне казалось, что он проверяет ее наличие в корневой папке, рядом с запускаемым файлом, а уже потом...
Аватара пользователя
Пользователь
Сообщения: 589
rachok писал(а):
Цитата:
Но она встроена в Windows.

Мне казалось, что он проверяет ее наличие в корневой папке, рядом с запускаемым файлом, а уже потом...


Да, если она подходит. Если найдет точку входа.


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница