コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Nintendo Switch の Joy-Con を使用する方法

はじめに

こちらのサイト様に詳細な内容が記載されていますので、
詳しくは上記のサイト様を閲覧して頂ければと思いますが
自分のブログにも手順をまとめておきます

検証環境

  • Unity 2017.1.1f1
  • Windows 10

Joy-Con を PC に接続する方法

こちらのページに記載しております

Unity で Joy-Con を使用する方法

f:id:baba_s:20171023104242p:plain

Unity メニューの「Edit>Project Settings>Input」を選択します

そして、下記のように 4 つの項目を追加します

  • Horizontal 1
  • Horizontal 2
  • Vertical 1
  • Vertical 2

f:id:baba_s:20171023103754p:plain

f:id:baba_s:20171023103805p:plain

あとは、Input クラスを使用して下記のようにプログラムを記述すれば
Joy-Con のスティックの傾きを取得することができます

// Joy-Con(R)
var h1 = Input.GetAxis( "Horizontal 1" );
var v1 = Input.GetAxis( "Vertical 1" );

// Joy-Con(L)
var h2 = Input.GetAxis( "Horizontal 2" );
var v2 = Input.GetAxis( "Vertical 2" );

Joy-Con のボタンの番号の対応表

f:id:baba_s:20171023105914j:plain

if ( Input.GetKey ( KeyCode.Joystick1Button0 ) )
{
}

上記のように Joy-Con のボタンが押されたかどうかを判定する時に使用する
各種ボタンの番号の割り当ての対応表を以下に記載しておきます

Joy-Con(R)

ボタン 番号
A Button 0
B Button 2
X Button 1
Y Button 3
R Button 14
ZR Button 15
SR Button 5
SL Button 4
+ Button 9
ホーム Button 12
R スティックボタン Button 11

Joy-Con(L)

ボタン 番号
Button 3
Button 1
Button 2
Button 0
L Button 14
ZL Button 15
SR Button 5
SL Button 4
- Button 8
キャプチャー Button 13
L スティックボタン Button 10

追記(2017/11/12)

Joy-Con のジャイロ・加速度・傾きの値を取得したり、
振動させたりする方法は上記のページにまとめておりますので
こちらの記事も参考にして頂ければと思います