Полезное

Мы Вконтакте

Discord канал

#
Модератор: Di-Crash
Аватара пользователя
Пользователь
Сообщения: 589
В общем вопрос такой. Как их можно подключить для игры на одном компьютере ?
С Геймпадами DirectInput всё ясно. Вот так делается через UEJoystickPlugin.

Изображение

Но как быть с XInput ?
Последний раз редактировалось Agny 31 авг 2018, 04:57, всего редактировалось 1 раз.
Аватара пользователя
Пользователь
Сообщения: 589
Через 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)


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

А вот для считывания состояний надо что то придумывать. Не знаю пока как это сделать. Может кто подскажет.
Аватара пользователя
Пользователь
Сообщения: 589
Вот что у меня получилось в итоге:
Изображение

Код проекта:




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

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

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

Почему так? Как можно это исправить?
Аватара пользователя
Пользователь
Сообщения: 589
Странно что ответить мне никто не смог.

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

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

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

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


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

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