前提・実現したいこと
こちらのサイトを見て、
Input Systemには、下記3つの実装方法があることを知ったのですが、uGUIの場合、どれに該当するのでしょうか?
新しいInput Systemの利用(InputControl) 新しいInput Systemの利用(InputAction) 新しいInput Systemの利用(InputActions)
また、こちらのサイトのOn-Screen ButtonとOn-Screen Stickに関しても、質問させていただけたらと思います。
試したこと
まず、uGUIのInput Systemの受付処理ですが、
基本的には、InputSystem.inputsettingsを作成して、Event SystemをInputSystemUIInputModuleに変換しただけで、
あとは今まで通りの実装方法で、受付処理ができてしまいました。
C#
1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 using UnityEngine.UI; 5 6 public class MyInput : MonoBehaviour 7 { 8 [SerializeField] 9 Button button; 10 11 [SerializeField] 12 GameObject cube; 13 14 void Start() 15 { 16 button.onClick.AddListener(MyClick); 17 } 18 19 void MyClick(){ 20 cube.transform.localScale *= 1.2f; 21 } 22 23 }
Unityエディタのマウスの左ボタンのクリックによるuGUIのボタン押下と、
Android実機上でのタップによるuGUIのボタン押下、それぞれでボタンのクリック処理が反応することを確認しました。
・質問1。
Input SystemのuGUIの入力受付方法はこれでよいのでしょうか?
そうすると、下記3つのどれの方法にも該当しないような気がするのですが、uGUIの場合は、第4の実装方法ということになるのでしょうか?
それとも、この後、下記3つのどれかの方法について、何か追加しなければならない実装があるのでしょうか?
新しいInput Systemの利用(InputControl) 新しいInput Systemの利用(InputAction) 新しいInput Systemの利用(InputActions)
・質問2。
On-Screen Buttonや、On-Screen Stickはどういった仕組み、使用用途になっているのでしょうか?
どちらも実装してみましたが、やっていることがよくわからなかったです。
仮想パッド、仮想ジョイスティックの意味がわかってないのかもしれないです。
まず、On-Screen Buttonですが、質問1の方法でButtonのクリック処理は実装できるので、
On-Screen Buttonの必要性がわかりません。
On-Screen ButtonのControl Pathというのは、uGUIのOn-Screen ButtonがアタッチしているButtonをクリックすると、
On-Screen ButtonのControl Pathで設定している入力が発火したことになるという仕組みになっているのでしょうか?
OnScreenStickもControl PathをLeft Stick[GamePad]に設定して試してみました。
ゲームパッドのデバイスを持っていないので、実機で試すことはできなかったのですが、
ゲームパッドのデバイスの左スティックでも、moveActionが動くということですか?
とすると、OnScreenStickは、ゲームパッドのデバイスを使わないで、左スティックの動きを試すデバッグ用みたいな用途になるのでしょうか?
逆に、ゲームパッドのデバイスを使わず、スマホのジョイスティックとして、OnScreenStickを使いたいのですが、
その場合でも、Control Pathには、Left Stick[GamePad]を設定しなければならないということでしょうか。
そうすると、スマホのジョイスティックだけでなく、ゲームパッドのデバイスのジョイスティックでも処理が動いてしまうということになりますか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/09/13 04:55
2020/09/13 05:16
退会済みユーザー
2020/09/13 05:34