您现在的位置是:首页 >技术杂谈 >Unity InputSystem (一)网站首页技术杂谈
Unity InputSystem (一)
简介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列表来获取所有可用设备并从中找到自己所需的那个。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。