Unityの忘備録です('◇')ゞ

自分用の忘備録です!

InputSystemのActionMapは切り替えられる

ゲーム制作、お疲れ様です( ^^) _旦~~

InputSystemを使ったゲーム制作において、ゲーム実行中のUI操作中(Startボタンを押してメニューを開いたり等)
にキャラクターも一緒に動いてしまうと困る時ありますよね('◇')ゞ

そんな時はUI操作とキャラクター操作のアクションマップを分けることで解決できるっぽいです。

下の動画では、ゲームパッドの〇ボタンでローリングおよびUIの決定として設定しています。
メニューを開いて決定を押してもローリングはしていませんね。グッド(^^)

youtu.be


キャラクターのジャンプやローリングといったアクション系はPlayerActionsという名前で登録しています。

UIの操作のアクションマップはUIという名で登録します。

EventSystemのインスペクターのActions Assetの項目に現在使っている
InputSystemを選択します。
その下の10項目に対応するアクションマップのアクションを選択すればおkです!

これでキャラクターのアクションとUIの操作を分けることができました。

あとはスクリプトでキャラクターのアクションのON・OFFを切り替えればOKですね(^^)

public class Test : MonoBehaviour
{
   InputActions inputActions;//インプットシステム
   
   void ActionMapDisable()
   {
      inputActions.PlayerActions.Disable();//キャラクターのアクションマップの名前をPlayerActionsにした場合です
                   //Disable()でアクションマップを閉じて使えなくできる
   }
   
   void ActionMapEnable()
   {
      inputActions.PlayerActions.Enable();//Enable()で起動できる
   }