Unreal Engine 4
http://uengine.ru/forum/

Два геймпада XInput
http://uengine.ru/forum/viewtopic.php?f=2&t=13893
Страница 1 из 1

Автор:  Agny [ 28 июн 2018, 08:18 ]
Заголовок сообщения:  Два геймпада XInput

В общем вопрос такой. Как их можно подключить для игры на одном компьютере ?
С Геймпадами DirectInput всё ясно. Вот так делается через UEJoystickPlugin.

Изображение

Но как быть с XInput ?

Автор:  Agny [ 20 июл 2018, 03:37 ]
Заголовок сообщения: 

Через Blueprint такое сделать не получится.
Единственный выход - это писать на С++.
Для моего уровня знания писать всё самому с нуля просто не реально.

Я долго искал за что бы зацепиться. Пробовал разные исходники в интернете посмотреть.
И оказалось что для Unity3d пишутся плагины такого типа на С++. Делается что то типа C# Враппера.
Но эти *.DLL файлы можно подключить к UE4. И они работать будут.

Следуя вот этому уроку:
https://wiki.unrealengine.com/Linking_Dlls

Я подключил XInputInterface.dll взятую отсюда:
https://github.com/speps/XInputDotNet

Там всего две функции:
Код:
DWORD XInputGamePadGetState(DWORD dwUserIndex, XINPUT_STATE* pState)
void XInputGamePadSetState(DWORD dwUserIndex, float leftMotor, float rightMotor)


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

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

Автор:  Agny [ 25 июл 2018, 16:57 ]
Заголовок сообщения: 

Вот что у меня получилось в итоге:
Изображение

Код проекта:




Взял проект из этого урока:
https://wiki.unrealengine.com/Linking_Dlls

И его переписывал. Там в примере используется версия движка 4.14. Но на 4.15 запускается.
Как сделать что бы запускался на более новых версиях движка?

И ещё после сборки проекта через редактор, отказывается грузить DLL.

Почему так? Как можно это исправить?

Автор:  Agny [ 26 июл 2018, 15:21 ]
Заголовок сообщения: 

Странно что ответить мне никто не смог.

Хотя ответ был на поверхности.

Если внимательно прочитать урок. Что бы заработало в более новой версии движка нужно создать новый проект точно следуя инструкциям.

А не работает после сборки, потому что нельзя паковать проект, если работаешь с DLL. PAK надо выключить в настройках.

В общем тема можно считать закрыта.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/