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列表来获取所有可用设备并从中找到自己所需的那个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值