unity推出了最新的输入系统Input system,不敢说一定比老版本Input manager好。键盘输入的话,个人觉得还是老的输入系统好,不过如果是Xbox手柄的话,个人认为新系统坐实舒服!就让喜新厌旧的我带大家看看吧哈哈

这里是官方英文文档

首先,确保你的项目是Unity 2019.1以上版本, 并且API设置为 .NET 4 runtime( 2021/1/23更新)

然后导入package:windows->package manager
然后选择Unity Registry

Advanced中选中Show preview packages

之后你可以寻找或者自主搜索Input System,右下角会显示download,下载完毕后import即可(我已经导入过了所以这里只显示remove(移除))

点击确定后让unity重启(2021/1/23更新)

Tip:记得检查一下你的Edit->Project Settings->Player->Other Settings->Active Input Handing,它默认应该是Both(即两种都可用),你只要保证它不是Input Manager(Old)即可
(现在导入input system后会自动改为Input SystemPackage)

以前应该是自动创建的,现在需要点一下才能创建setting asset(我点过了,没这个图了……下图是另找的)(2021/1/23更新)

(2021/1/23更新)

Property 介绍
Default Deadzone Min 盲区的最小值,输入值小于该值就会被认为为0(这是为了防止无意的输入)
Default Deadzone Max 盲区最大值,输入值大于该值则被认为是1(有些设备不会一直返回最大值,设置它可以帮助保持)
Default Button Press Point 针对有按钮的设备,这代表它们需要被按住多长时间,系统才能认为它们已被按下
Default Tap Time 针对触摸屏,同样代表它们需要被按住多长时间,系统才能认为它们已被按下
Default Slow Tap Time 默认的慢点击时间.
Default Hold Time 默认的持续按住的最短时间
Tap Radius 在触摸屏上,两个手指点击之间的最大距离,系统认为这是同一触摸点击,而不是更多.
Multi Tap Delay Time 两次点击之间的最小时延(也是给触摸屏用的)

下面就是在场景中创建一个物体(我选Capsule胶囊),然后给它命名为player,再给它添加Rigibody和player Input组件
(点Create Actions会创建一个unity已做好的Action模板,模板很全面,很有参考价值)
(2021/1/23更新)

在project窗口下右键create->InputActions,做个重命名(此处命名为InputControl)



双击打开->Add Control Scheme->重命名Scheme Name->点击加号寻找操作系统XboxController->save



好了,现在你可以开始进行按键设置了:
添加动作集和相应动作,以player map以及其movement移动为例:
先将movement的属性Action type 由默认的Button改为Pass through或Value;然后更改Control Type为Vector2(因为一般移动只有四个方向,二维的,Vector2正合适)

(2021/1/23更新)

Action Type 解释
Value 当你绑定了多个输入设备。如果你在同一时间内,只希望有一个输入设备在使用,就选这个(如果选了这个,并且在同一时间使用了两个输入设备,unity就只认输入值大的那个)
Pass through 当你绑定了多个输入设备。如果你在同一时间内,还想处理多个输入设备的输入值,选这个
Button 顾名思义,只要是按键就选这个(用键盘的话,基本上就是这个了)

右键movement,Add 2D Vector Composite添加2D操作内容
(也可Add Binding,然后直接绑定遥感即可,自动就是二维的了)

将2D Vector 的Mode改为Analog,这样可以完美发挥摇杆输入是浮点数的优势(当然,这一步并不是必要的)

然后选中movement下的Binding,在右边path处:GamePad->Xbox Controller->Left Stick->Up(当然你想选右边的right Stick也可以,就是玩着可能有点别扭哈哈)
不过我个人更喜欢用listen功能,在已经连接手柄的情况下,点击后可以你只需要上推一下左边的摇杆,下面就直接显示出来了,省劲。
剩下的三个如法炮制……

好了,设置完毕,下面是最重要的事情:保存!Save!SaveAsset!(重要的事情说三遍)
如果你选中了Auto-Save,那当我没说哦。(不过你可能会跟我一样每次操作都会卡一下,不说卡到怀疑人生,但就是恶心哈哈,可能这就是低配电脑的命吧……)

将刚才设置好的InputControl加到胶囊胶囊体的Actions上,其他内容默认即可(2021/1/23更新)

下面就是代码了,将这个脚本也挂上去就可以咯
注意最上面要有:

using UnityEngine.InputSystem;

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;public class Player : MonoBehaviour
{private bool grounded;     //判断是否在地面上private Vector2 moveValue;public float moveSpeed =3f; //移动速度private void Update(){transform.Translate(new Vector3(moveValue.x,0,moveValue.y)*moveSpeed*Time.deltaTime);}void OnMovement(InputValue value)   //用这个方法来响应你的输入{                                  //你是否也发现了它和InputControl中Actions里的名字很像呢?moveValue = value.Get<Vector2>();Debug.Log(value.Get<Vector2>());    //在console窗口显示你的输入值}void OnJump()       //附赠的跳跃方法哈哈{if (grounded){GetComponent<Rigidbody>().velocity += new Vector3(0, 5, 0);grounded = false;Debug.Log("I am Pressing Jump");}}private void OnCollisionEnter(Collision collision){grounded = true;}
}

聪明如你是不是已经发现了方法名称和Actions有什么联系了呢?

你是不是还想知道跳跃是怎么设置的?如下添加Action和binding就行咯:


是不是比movement简单多了?

现在你可以按照自己的创意玩转新输入了!!!

unity 最新输入系统Input system简介,并用其设置Xbox(plus:unity package导入详解)相关推荐

  1. unity 如何切换输入系统(Input System)

    问题描述: 在 Unity2019 版本中,加入了新的 Input System Package,当导入包的时候可能会将旧的输入系统禁用.这时如果再打开使用旧的输入系统的项目可能会出现异常. Inva ...

  2. Android 5.0(Lollipop)事件输入系统(Input System)

    其实Android 5.0中事件输入子系统的框架和流程没有本质变化.Service端的实现在/frameworks/native/services/inputflinger/下(4.4中在/frame ...

  3. Windows系统下nodejs、npm、express的下载和安装教程详解

    这篇文章主要介绍了Windows系统下nodejs.npm.express的下载和安装教程详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 1. node.js下载 首先进入http://nod ...

  4. 在linux系统上怎么架设服务器吗,Linux下各种服务器的架设详解

    Linux下各种服务器的架设详解 本站整理   发布时间:2009-03-10 12:10:57   作者:jb51.net   我要评论 ########DNS########bind 篇##### ...

  5. win7系统自带的录像在哪里 Win7问题步骤记录器教程详解

    v 在我们使用系统的时候是否遇到过有些疑难杂症想找人寻求帮助,但是苦于表述不清,解决起来十分困难的情况呢?当遇到了这样的问题怎么办?快用windows 7自带的问题步骤录制器记录下问题发生的每一个瞬间 ...

  6. 恢复W ndows10系统方法步骤,Windows 10系统恢复电脑(刷新电脑)的方法步骤图文教程详解...

    ​ 有时候,遇到Win10系统出现了比较严重的问题,那么这时有比重装系统更好的办法就是"恢复电脑(刷新电脑)".因为重装系统就会丢失之前系统的个人文件和个性化设置,以及安装的所有应 ...

  7. ubuntu系统写路由指令_在Ubuntu中如何查看网络路由表详解,

    在Ubuntu中如何查看网络路由表详解, 什么是Linux中的路由和路由表? 路由的过程意味着IP包在网络上从一点传输到另一点.当你向某人发送电子邮件时,你实际上是在将一系列IP数据包或数据报从你的系 ...

  8. 阴阳师最新的服务器,阴阳师跨区服务器大全 集结之境新增跨区服务器汇总详解...

    阴阳师跨区服务器有哪些,阴阳师集结之境新增服务器哪些可以玩呢?下面是小编为大家带来的阴阳师跨区服务器大全,集结之境新增跨区服务器汇总详解,希望能帮助到大家! 亲爱的阴阳师大人: 为了让更多的大人们能够 ...

  9. [玩转UE4/UE5动画系统>应用篇>功能模块] 之 ALS V4 主状态机详解

    本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式.教程内容将同步免费发布于 开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>.教程中使用的 ...

最新文章

  1. mysql opti_MySQL基础操作
  2. 使用rman本机复制新数据库
  3. vim ctags java源码_如何使用vim的插件Ctags查看Linux源码
  4. 不太平凡的2020、平凡的我
  5. Redis从入门到精通:初级篇(转)
  6. 什么是JVM?JVM概述——初识JVM(类加载器,垃圾回收器,执行引擎)
  7. C语言十五位正整数相加,二个超长正整数的相加
  8. Identify ksusetxn DID:An Deadlock ID
  9. wdatepicker不显示秒_为什么别人电脑开机只要3秒,你有固态硬盘却要等上18秒?...
  10. 针式打印机打印发虚_针式打印机使用技巧
  11. hi35xx stmmac网卡驱动源码解读
  12. linux视频补帧,SVP(电脑视频补帧软件) V4.3.180 Linux版
  13. Git环境傻瓜式讲解
  14. EPLAN插入符号为空的解决方法
  15. iphone 越狱需要安装的包
  16. 【参赛作品68】PostgrSQL和OpenGauss/MogDB分区表对比(二)
  17. win10此计算机未连接到网络,win10提示无法连接到此网络怎么解决
  18. 用Python写三级菜单的三个版本
  19. 高清娱乐,高帧率投屏,来试试PeakDo毫米波无线投屏器
  20. pycharm2018安装教程 pycharm2018永久激活教程

热门文章

  1. 数据分享|1960-2020年中国1公里分辨率月降水栅格数据集
  2. python抓取斗鱼的主播及热度
  3. blender怎样给平面或曲面自动贴图
  4. 医院计算机机房必须过B级的文件,三级医院信息机房验收标准(44页)-原创力文档...
  5. ATRW A Benchmark for Amur Tiger Re-identification in the
  6. python开发app的软件_python编程入门APP
  7. 煤矿工人成为互联网工程师的故事
  8. 简述进程、线程、协程
  9. 请问炒股怎么样才能把10万本金翻到100万?
  10. 杭州1米93程序员征婚贴火了!首付能付260万,孩子以后都随妈姓