「Unity/Csharp/キー入力/InputSystem」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→InputActionのサンプル) |
(→InputActionのサンプル) |
||
行60: | 行60: | ||
==InputActionのサンプル== | ==InputActionのサンプル== | ||
+ | (未完成)key取得はまだ。 | ||
+ | |||
#GameObjectを作成し、AddComponentからPlayInputを選択 | #GameObjectを作成し、AddComponentからPlayInputを選択 | ||
#PlayerInputのActionsにMyControlsをドラッグ | #PlayerInputのActionsにMyControlsをドラッグ | ||
行69: | 行71: | ||
InputAction action = actionInput.actions["Fire"]; | InputAction action = actionInput.actions["Fire"]; | ||
</pre> | </pre> | ||
+ | |||
+ | |||
参考:https://tsubakit1.hateblo.jp/entry/2019/01/09/001510 | 参考:https://tsubakit1.hateblo.jp/entry/2019/01/09/001510 | ||
参考:https://gametukurikata.com/basic/inputsystem | 参考:https://gametukurikata.com/basic/inputsystem |
2021年11月9日 (火) 21:32時点における版
InputSytemとは
文字入力やマウスやゲームパッドなどのプラグイン
インストール
PackageManagerからRegistoryを選択して、"Input System"で検索して、Input Sytemをインストール。 今回は、ver1.0.2でした。
競合プラグイン
- InputManager(旧
- InputSystem(新
新旧があり、どちらかを指定することができる。
Unityメニュー/Edit/Project Setting/Player/Configuration
サンプル
using UnityEngine; using UnityEngine.InputSystem; public class SampleScene : MonoBehaviour { void Update() { if (Keyboard.current.spaceKey.wasPressedThisFrame) { Debug.Log("space key"); } if (Mouse.current.leftButton.wasPressedThisFrame) { Debug.Log("mouse down"); } // キーボードのa if (Keyboard.current[Key.A].wasPressedThisFrame) { Debug.Log("A down"); } /* if (Gamepad.current.buttonEast.isPressed) { Debug.Log("game pad o button"); } */ } }
参考:https://gamedev65535.com/entry/unity_inputsystem_howtouse/
参考:https://gametukurikata.com/basic/inputsystem
InputAction登録
- Assetsでcreate/Input Actionsを選択する
- newControlsができるのでMyControlsへ変更
- Edit assetを選択
- 左上のschemaでnew schemaを選択してKeyBoardを選択
- ActionMapsはPlayerとする
- ActionsはFireとする
- Actionsの+を選択し、
- pathでSpace keyboardを選択する
InputActionのサンプル
(未完成)key取得はまだ。
- GameObjectを作成し、AddComponentからPlayInputを選択
- PlayerInputのActionsにMyControlsをドラッグ
InputActionのとり方。
PlayerInput actionInput = GameObject.Find("PlayerInput").GetComponent<PlayerInput>(); InputActionAsset actions = actionInput.actions; InputAction action = actionInput.actions["Fire"];