前提・実現したいこと
UnityのC#で開発をしています。
3Dでオフラインの2人対戦ゲームを作っています。
一つのパソコンに2つのコントローラーを繋いで、1~2Playerをそれぞれのコントローラーで
動かせるようにしたいと思い、以下の方法をとりました。
・UnityのInputManagerに
XAxisでHorizontal1~2と
YAxisでVertical1~2を
JoyNum1~2をそれぞれ指定し追加
それぞれにスクリプトを作り動かそうと思っています。
発生している問題・エラーメッセージ
DualShock4を二つPCに優先で接続していざ動かそうとすると操作がききません。
というかJoyNumの設定がよくわかりません。
コントローラーをつないでから何か設定が必要なのでしょうか。
InputManagerの設定
InputManagerの設定を記しておきます。
このような設定がもう一つ下にあります。
試したこと
いろいろサイトを見ましたがただコントローラーをつないでいるだけなので
他に設定は何もしていません。
補足情報(FW/ツールのバージョンなど)
問題切り分け確認です。
・PCがコントローラーを認識していますか?(使用中のOSとコントローラーの機種名で検索する等して、そもそもPCがコントローラーの入力を受け取っているか、1個の場合と2個の場合でそれぞれ確認してください。)
・コントローラーを1個繋いだ状態で、Unityで正しく動作しますか?(コントローラーによっては変な所に変なAxisが割り当てられている可能性があります。まずは1個で確実に動作するようにしてください)
JoyNumについては特に考える必要は無いと思います(PCがコントローラーに番号を割り振り、Unityが割り振られた番号のコントローラーの入力を受け取る)。なので上記辺りが怪しいかと。
補足します。
・PCがコントローラーを認識していますか? >> 一つつないだ状態だと「Wireless Controller」と認識されています。プロパティで動作もしっかり確認しています。二つつないだ状態でも同様です。
・コントローラーを1個繋いだ状態で... >> はい。しっかり動きます。
Joy Numの部分を1や2に変更すると動かなくなります。
基本、windowsならxboxコントローラーは何もインストールしなくても認識してくれたはずですよ。コントローラーのメーカーを調べましょう。
SONYのDualShock4です。
OSがwindowsなら標準ではそのコントローラーは認識してくれません。macならBluetoothが認識できますが...
確かいけるツールもあった気がしますが、ウイルスが入っている奴も多いのでxboxは公式の奴は高いので素直に安いhori製コントローラーを購入した方が早いと思います。
そのコントローラーの認識方法↓
http://digital-society.hatenablog.com/entry/2016/11/13/124742
あなたの回答
tips
プレビュー