お世話になっております。
UE4.27におけるゲームパッド入力対応に関して質問がございます。
弊社開発中タイトルでRawInputプラグインを使用して、各種ゲームパッド入力への対応を進めているのですが、
一部のゲームパッドで入力の値が取れない問題が発生しております。
・DualSenseコントローラー
USB接続時とBluetooth接続時との間で、それぞれ軸の配置が異なっており、入力を上手く処理することができません。
(十字キーはUSB接続の場合は軸8ですがBluetooth接続だと軸5を使用している、など同一キーでも軸が異なっている)
また、USB接続かBluetooth接続かどちらの接続方法で現在使用中なのか判定ができれば分岐処理も可能ですが、判定方法がわかりません。
・Switch Proコントローラー
USB接続時&Bluetooth接続時の両方とも、入力の値が不正になり正常にボタンや軸の情報を取得できません。
※なおXinput系コントローラーやDualShock4では問題は発生しておりません。
今回お伺いしたいのが、上記を解決するために、
・RawInputを使用した場合に同様な問題が発生していないか。発生していた場合、その際はどのように解決したのか。
・(もし解決が難しい場合)RawInput以外での解決法(別のプラグインなど)や「最新エンジンのこの辺りが上記問題の解決につながる」など
の情報をご教示&アドバイスいただけませんでしょうか?
お手数おかけしますがよろしくお願いいたします。
お世話になっております。
ご返答にお時間を頂いており申し訳ございません。
・DualSenseコントローラー
現行 “Windows DualShock plugin” をご利用頂くことで入力を取得できます。導入にはSDKのインストールが必要になります。
・Switch Proコントローラー
現行 “JoyConForWindows plugin” をご利用頂くことで入力を取得できます。ただしこれは現在出荷用に調整されたものではないため、少々カスタマイズがひつようになります。現在このプラグインはエディタのみに利用が限定されているため、パッケージビルドで利用するには JoyConForWindows.Build.cs を以下のように修正が必要になります。
/* if (!string.IsNullOrEmpty(SDKDir) && System.IO.Directory.Exists(System.IO.Path.Combine(SDKDir, "Libraries/NX-x64-v140/Release")) && Target.Configuration != UnrealTargetConfiguration.Shipping && Target.Type == TargetType.Editor) */ if (!string.IsNullOrEmpty(SDKDir) && System.IO.Directory.Exists(System.IO.Path.Combine(SDKDir, "Libraries/NX-x64-v140/Release")) && Target.Configuration != UnrealTargetConfiguration.Shipping )
ただしこのプラグインを利用して出荷する場合は、それが(任天堂によって)法的に承認されていることを確認する必要があります。私の知る限り、JoyConForWindowsを修正して適切なライブラリをリンクする必要がありますが、どのように修正するが適切かは言及することが難しく、任天堂にご確認頂くことをおすすめします。
残念ながらJoycon/Procontrllerは弊社プロダクトでもサポートしていないコントローラであり、デフォルトで提供された機能としてこれらのコントローラをPCで利用することがサポートされていないという状況です。そのためこれらのコントローラをサポートするプラグイン等を作成して頂くか、上記 JoyConForWindows をカスタマイズして頂くのがご提案できる方法になります。
お世話になっております。
ご回答ありがとうございました。
>・DualSenseコントローラー
>現行 “Windows DualShock plugin” をご利用頂くことで入力を取得できます。
1点だけ確認させていただきたいのですが、
「WinDualShock pluginのDescriptionには "for the PS4 DualShock controller"との記載が
されているがDualSenseでも使用可能」、との認識で合っていますでしょうか?
>・Switch Pro コントローラー
詳細なご説明ありがとうございます。
頂いた内容を基に諸々を進めさせていただこうかと思います。
お手数おかけしますがご確認のほどお願いいたします。
ご確認頂きありがとうございます。
>「WinDualShock pluginのDescriptionには "for the PS4 DualShock controller"との記載がされているがDualSenseでも使用可能」、との認識で合っていますでしょうか?
はい、DualSceneでも利用可能です。
どうぞ、よろしくお願いします。