当前位置:   article > 正文

Unity InputSystem (一)_unity input system

unity input system

什么是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);

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/118795
推荐阅读
相关标签
  

闽ICP备14008679号