Wrapper para pasar controlador DirectInput a XInput para motor unity y otros
Hola, normalmente uso :
https://www.x360ce.com/
Para emular juegos xinput, pero en el motor unity no funciona, para testear me bajé un juego en Unity
el "OK K.O.! Let’s Play Heroes"
Y por supuesto, no funciona mi controlador, así que buscando he encontrado una solución:
*Descargar e instalar "Xbox 360 Controller for Windows"
https://www.microsoft.com/accessories/es-es/d/xbox-360-controller-for-windows
https://www.mediafire.com/file/db00d1bf74idr7f/official_Xbox_360_Controller_driver.rar
En mi caso para windows 10 64bits seria la versión para windows 7 64bits.
*Descargar "XOutput"
https://github.com/Stents-/XOutput/releases
descomprimir y ejecutar "ScpDriver.exe"
Click en "install" ,espera,cuando termine click en "exit".
*Ejecuta "XOutput.exe"
Configura el mapeado de botones y palancas de tu controlador(clic en botón con símbolo de tuerca)
(https://img4.uploadhouse.com/fileuploads/26130/26130014c81bd5fcf110d645bff0c0748193f695.jpg)
Después, cierra esa ventana y haces clic en "start" para activar la emulación, corre el juego,
cuando termines de jugar, al salir del juego, haces clic en "stop" para detener la emulación.
(http://img2.uploadhouse.com/fileuploads/25723/25723872d306a4bd36f1102f325e22c4f208eb29.jpg)
Y así como por arte de magia, me funciona mi controlador DirectInput en el juego con motor Unity.
Esta es la configuración de mi controlador:
LEFT TRIGGUER=button 7
LEFT BUMPER=button 5
LEFT ANALOG BUTTON=button 11
LEFT ANALOG X=axis 1
LEFT ANALOG Y=axis 2
D PAD 1 UP=up
D PAD 1 DOWN=down
D PAD 1 LEFT=left
D PAD 1 RIGHT=right
BACK=button 9
HOME= (nada)
RIGHT TRIGGUER=button 8
RIGHT BUMPER=button 6
RIGHT ANALOG BUTTON=button 12
RIGHT ANALOG X=axis 3
RIGHT ANALOG Y=axis 6
A=button 3
B=button 2
X=button 4
Y=button 1
START=button 10
NOTAS
Se tiene que tener instalado visual c++ 2010
y .NET Framework 3.5(se instala en panel de control-programas y características-activar o desactivar características de windows)
Alternativa:
https://github.com/csutorasa/XOutput
Actualización 12/03/23
El Software ha servido para varios juegos, pero para algunos juegos Unity, hay que esconder del sistema el control directinput y solo se vea el xinput emulado
Se debe usar HidHide
https://github.com/ViGEm/HidHide/releases
En la pestaña device marca el control directinput para esconderlo del sistema operativo
(https://i.postimg.cc/vZM3SXS2/SP32-20230312-180226.jpg)
En la pestaña Applications agrega el xoutput o x360ce para que lo vea el dispositivo ese software y así activas el emulado xinput
(https://i.postimg.cc/XvBGK6cR/SP32-20230312-180242.jpg)
Actualización 20/05/23
En las versiones más recientes de windows 10, no funciona el antiguo ScpDriver, ahora hay que usar él que trae el x360ce, en la pestaña options-virtual device-install.
(https://i.postimg.cc/TYW19qfF/virtual-device.jpg)
Y después usar x360ce 4.17.15.0
https://www.x360ce.com/
o
https://github.com/csutorasa/XOutput/releases