Unity新输入系统 之 PlayerInput(真正的最后封装部分)

本文仅作笔记学习和分享,不用做任何商业用途

本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​

首先你应该了解新输入系统的基本单位和输入配置文件

Unity新输入系统 之 InputAction(输入配置文件最基本的单位)-CSDN博客
Unity新输入系统 之 InputActions(输入配置文件)-CSDN博客

本文大篇幅引用了唐老狮的笔记,凡是写了绿色注释的都来源唐老狮,为了方便所以不再一一标注

1.Player Input

Input System | Input System | 1.10.0 (unity3d.com)

Player Input是用于解析输入配置文件以实现输入的组件 ,是新输入系统封装的最后一部分,也就是说在这一部分,就可以真正的脱离繁杂的输入代码,将重点放在游戏逻辑即可,好好学

添加组件

大部分参数没有门槛,很好理解的就不谈了

自动创建的InputAcitrons会自动定义一些基础手势(事件)

2.监听方式

Player Input最重要的内容也就是监听方式

Send Messages

就是你写一个脚本,将其挂载到和palyerinput同一个对象上,此模式会自动匹配你脚本中对应的函数,并且发送信息订阅事件

自带的一些函数(注意引入命名空间)

自定义行为使用方法为On+行为名(只举一个栗子)

  public void OnMove(InputValue inputValue)
      {
      print("输入了"+ inputValue);
  }

InputValue

有没有注意到一个参数?InputValue 这个参数可以在输入时微调一些逻辑,不难用

Broadcast Messages

还是直接将脚本挂载到相同对象上,但是不同于Send Messages的点是可以挂载到子对象上,要不然为什么叫广播消息呢,嘻嘻

Invoke Unity Events

该模式就是可视化事件系统,可以查看此文章:

unity保姆级教程 之 UnityEvent可视化事件类_unity麦扣-CSDN博客

直接挂载对象然后使用函数(方法)就行了,太方便辣

Invoke C sharp Events

利用委托或事件订阅的方式添加函数,其实之前都是这么用的也算是老套路了

3.Player Input Manager

对多玩家输入的管理器,一般用于本地多人游戏(类似双人成行)

用的比较少,有需要查看手册即可

Unity 输入系统Unity Technologies在2020年推出的一个功能,致力于提供一个更先进、更灵活的输入处理系统。它是为了解决Unity输入系统在处理输入事件上存在的一些限制和问题而开发的。 输入系统的一个主要特点是对多平台的支持更加全面。它可以在不同的平台上提供一致的输入处理方案,无论是在PC、移动设备还是虚拟现实设备上,开发者都可以使用相同的API来处理输入事件。这使开发者能够更快速、更简洁地编写跨平台的输入代码。 另外,输入系统还提供了更强大的输入事件处理功能。它引入了一个的事件系统,支持更多类型的输入事件,包括键盘、鼠标、触摸、控制器等。开发者可以通过监听这些事件来响应用户的输入,并进行相应的游戏逻辑处理。而且,输入系统还可以灵活地自定义输入配置,使开发者能够根据不同需求灵活地进行输入事件映射和绑定。 另一个重要的优点是输入系统的性能更高效。它经过了优化,能够更有效地处理输入事件,减少资源开销。这对于那些需要处理大量输入事件的游戏尤为重要,能够提高游戏的帧率和性能表现。 总的来说,Unity输入系统是一项令人期待的功能更,它为开发者提供了更先进、更灵活的输入处理工具,大大简化了跨平台开发的难度,并且能够提高游戏性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值