Nintendo SwitchのJoy-ConをUnityで使用する

 タイトル通りです。

www.4gamer.net
上記サイトの記事を読んで試してみました。

Joy-ConをPCに繋げる

Nintendo SwitchのJoyConをBluetoothでPCに接続できるか | kako blog
上のサイトを参考にしました。

Unityの設定

 メニューバーから、[Edit]->[Project Setting]->[Input]と選択し、InputManagerを開きます。

 上記のHorizontalとVerticalを複製し、Horizontal 1,Horizontal 2, Vertical 1, Vertical 2というふうにNameを変更します。

 次に、上記のように各種パラメータを変更します。

  • Horizontal 1
    • Axis 9th axis(Joysticks)
    • Joy Num Joystick 1
  • Horizontal 2
    • Axis 9th axis(Joysticks)
    • Joy Num Joystick 2
  • Vertical 1
    • Invert false
    • Axis 10th axis(Joysticks)
    • Joy Num Joystick 1
  • Vertical 2
    • Invert false
    • Axis 10th axis(Joysticks)
    • Joy Num Joystick 2

 これで、設定は終わりです。

実際に実行したもの

 下記スクリプトを使って動作を確認しました。


 Scene上にPlaneと、上記スクリプトをアタッチしたCapsuleを2つ用意して、それぞれPlayerIDフィールドを1と2に設定します。

f:id:Taka8:20170315154130g:plain

 無事に、コントローラーとして使えました。

WebGL

 おそらく、アナログ入力は不可能だと思われるので、スティックの傾きがボタンの入力に変換されることを利用して以下のようなものを作りました。

https://taka8.github.io/Joy-Con_Test_WebGL/

PCに繋がらなくなったときは?

 Joy-ConNintendo Switch本体に取り付けるなどして、PCとのペアリングが解除された場合はペアリングし直すと良いようです。
qa.elecom.co.jp

Multiplayer Networking/Unity/Standard Assets/Nintendo Switch/Asset Store/Git/GitHub for Windows/Arduino/Blender/はてなブログ/