当前位置: 首页 > article >正文

【Unity输入】Input Manager 和 Input System对比

Input ManagerInput System 是Unity提供的两种不同的输入管理工具,它们各有优缺点,适用于不同的场景和需求。

1. Input Manager(旧输入系统)

特点:

  • 简单易用:使用固定的API,如Input.GetKeyInput.GetAxis等,适合快速上手和处理简单输入。
  • 基于字符串的输入定义:输入轴和按钮是通过Project Settings中的Input Manager定义的,使用字符串来引用(如“Horizontal”或“Fire1”)。
  • 有限的设备支持:支持常见的输入设备,如键盘、鼠标、手柄等,但对于更复杂或不常见的设备支持有限。
  • 不支持复杂的输入绑定:无法轻松实现复杂的输入方案,例如多键组合或动态输入绑定。
  • 跨平台支持有限:虽然能够处理常见的输入,但对不同平台(如移动设备、VR设备)的支持和配置较为有限。

适用场景:

  • 简单项目:适合小型、简单的项目,尤其是那些对输入复杂性要求不高的游戏。
  • 老项目维护:如果你正在维护一个使用旧输入系统的项目,没有必要立即迁移到新系统。
  • 学习阶段:对于初学者来说,Input Manager提供了一种简单、直观的输入处理方式。

2. Input System(新输入系统)

特点:

  • 模块化设计:新输入系统采用了更现代化、模块化的设计,可以更灵活地处理输入设备和事件。
  • 设备支持广泛:支持多种输入设备,包括键盘、鼠标、手柄、触摸屏、VR设备、陀螺仪等,具有更好的跨平台支持。
  • 可配置的输入映射:允许开发者在运行时动态配置和修改输入映射,可以轻松实现重映射、组合键、复合输入等复杂输入逻辑。
  • 事件驱动:采用事件驱动模型,减少了轮询输入的频率,提高了效率。
  • 输入动作(Input Actions):可以通过Unity Editor定义输入动作,并轻松绑定到具体的行为或脚本。

适用场景:

  • 复杂项目:对于输入需求复杂的大型项目或多人游戏,新输入系统可以更好地管理各种输入设备和复杂的输入映射。
  • 跨平台开发:新输入系统支持更广泛的设备和平台,非常适合跨平台的游戏开发,尤其是在需要支持控制器、触摸设备和VR/AR设备的场景中。
  • 动态输入需求:如果项目需要动态改变输入绑定或支持用户自定义输入方案,新输入系统提供了更灵活的解决方案。

总结

  • Input Manager适用于简单或传统的项目,易于上手,适合快速开发和维护老项目。
  • Input System适用于需要复杂输入处理、跨平台支持和现代化设备集成的项目,提供了更强大的功能和灵活性。

对于大多数新项目,推荐使用Input System以充分利用其现代化的功能和更广泛的设备支持。

参考

1. https://docs.unity3d.com/Manual/class-InputManager.html

2. https://docs.unity3d.com/Manual/com.unity.inputsystem.html


http://www.kler.cn/a/282711.html

相关文章:

  • 【计算机网络】设备如何监听 ARP 请求广播
  • Uniapp踩坑input自动获取焦点ref动态获取实例不可用
  • Array数组方法
  • Linux——Linux环境基础开发工具使用
  • sealos部署K8s,安装docker时master节点突然NotReady
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发十三.2:avpacket中包含多个 NALU如何解析头部分析
  • 详细解说数据库课程设计mysql
  • 前缀和2️⃣-二维前缀和
  • 先进制造aps专题二十五 openai的ai大模型设计也使用了aps用的并行遗传算法
  • Linux文件IO缓存
  • Linux(更新中~)
  • 【JVM原理】类加载机制
  • hadoop文件上传步骤
  • Golang | Leetcode Golang题解之第382题链表随机节点
  • 正则表达式pattern
  • 【CSS】选择器
  • GAN Inversion(GAN 反演)
  • vue项目中解决el-table数据过多导致页面卡顿问题
  • 学习系列三:V8目标检测与分割自动化标注
  • 数据库不停机迁移方案
  • 【SpringCloud Alibaba】(九)学习 Gateway 服务网关
  • Golang 教程2
  • 工作 6 年,@Transactional 注解用的一塌糊涂
  • 空间计量 | 空间杜宾误差模型SDEM
  • 基于RK3568平台opencv的图像采集、ffmpeg推流和Windows端拉流(多线程)
  • 新手教学系列——如何实现基于asyncio的高效率 Worker(按需获取任务、防止阻塞与崩溃)