前提・実現したいこと
Unityにて市販のゲームコントローラーにジョイスティック操作を割り当てたいのですが対応するスティックのSettingが分からず困っています。
1.コントロールパネル
2.デバイスとプリンタ
3.使用しているコントローラーのプロパティ
上記手順にて参照しボタンの対応位置は解読することができましたが、コントローラーには左右にジョイスティックがあり、このうち右側に対応する割り当てが見つかりませんでした。
XY軸が左のジョイスティックに対して右側にはZ軸と表示されており、Unity上では総数16のジョイスティックの全てを試したのですが解読できませんでした。
数年前に購入した量販店のコントローラーでメーカー等も分からず、詳細をお伝えすることが困難であり大変申し訳ないのですがジョイスティックに操作を割り当てる方法についてご教授お願いいたします。
試したこと
Project Settingsにて対応するボタン及びスティックの確認
質問への追記・修正(試したことの詳細)
---以下はUnity上でのコントローラーのボタンの割り当て操作---
- 編集からProject Settingsを開く
- 入力から右のジョイスティックに割り当てる用に軸の項目を2つ追加
- 名前をJoyStickRightHorizontal、JoyStickRightVerticalに変更
- 双方のタイプをジョイスティック軸に変更
- JoyStickRightHorizontalの軸をX軸に変更
- JoyStickRightVerticalの軸をY軸に変更
- 双方のジョイスティック番号にジョイスティック1~16番を割り当て動作確認
---以下はUnity外でのコントローラーのボタン取得方法---
- コントロールパネルを開く
- デバイスとプリンタを開く
- デバイスから使用しているコントローラーを右クリック
- コントローラーの設定を選択
- プロパティからゲームコントローラーを操作して該当のボタンを探す
- ボタンなら該当ボタンのランプが点灯、スティックなら軸が移動する
- 該当箇所をUnityのスクリプトにて割り当てる
---以下スクリプトの参考例---
// Cubeのオブジェクトを作成し移動させる(Update()に記述)
transform.position = new Vector3 (
transform.position.x + Input.GetAxis("JoyStickRightHorizontal"),
0,
transform.position.z + Input.GetAxis("JoyStickRightVertical")
);
その他回答に必要な情報があればお手数をお掛けしますがコメントをお願いいたします。
あなたの回答
tips
プレビュー