您现在的位置是:首页 >技术杂谈 >Unity InputSystem (一)网站首页技术杂谈

Unity InputSystem (一)

拿起键盘就是干 2023-05-25 08:00:02
简介Unity InputSystem (一)

什么是InputSystem

InputSystem 是 2019 年 Unity 新推出的插件,输入系统包实现了一个系统来使用任何类型的输入设备来控制你的 Unity 内容。它旨在成为 Unity 的经典输入管理器更强大、更灵活、更可配置的替代品。 新输入系统基于事件,输入设备和动作逻辑互相分离,通过配置映射来处理输入信息。

安装InputSystem

打开Unity项目,Window->Package Manager

在这里插入图片描述

安装后会弹框提示:要求是否禁用之前的 InputManager 如果 Yes 将启用新的 InputSystem
在这里插入图片描述

如果希望两者都可以使用在 playerSetting 中选择 Both
在这里插入图片描述

InputSystem的配置

两种使用 InputSystem 的方法

直接从输入设备获取输入

直接使用 InputSystem 的方法很简单,系统提供了各种设备对应的管理类和当前实例,

if (keyboard.wKey.wasPressedThisFrame)
{
    Debug.Log("W键按下");
}
if (keyboard.sKey.wasReleasedThisFrame)
{
    Debug.Log("S键松开");
}
if (keyboard.aKey.isPressed)
{
    Debug.Log("A键按住");
}
Debug.Log("按住D键 : " + keyboard.dKey.isPressed);

Unity官方文档给的实例

var gamepad = Gamepad.current;

if (gamepad == null)
	return; // No gamepad connected.

if (gamepad.rightTrigger.wasPressedThisFrame)
{
	// 'Use' code here
}

Vector2 move = gamepad.leftStick.ReadValue();//获取左摇杆的输入返回一个v2类型的变量
// 'Move' code here

如果考虑多个同类型的输入设备,比如多个手柄或者多个键盘,那么应使用InputSystem.devices列表来获取所有可用设备并从中找到自己所需的那个。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。