-
Notifications
You must be signed in to change notification settings - Fork 6
输入处理
youngehuang edited this page Aug 17, 2021
·
1 revision
Unity 引擎提供了很多处理用户输入的工具。你可以在脚本中直接检测键盘、鼠标输入,也可以通过自定义输入映射,将输入映射为摇杆等。RM 模拟器可能会有一个不常见的输入处理需求:延迟模拟。由于实际比赛中存在图像和控制信号的传输延迟,需要刻意模拟输入的延迟来逼近真车手感。2021 模拟器的输入处理全部写在控制器里,后期出现了一些处理重复的问题,对输入延迟模拟的加入也非常不利,所以没有太多参考价值。下面提供一种抽象输入处理的思路:
编写一个全局单例的管理器,统一接受除 UI 输入外的所有输入事件。管理器将接收的所有事件放进一个输入队列,在这里可以做模拟延迟、模拟丢帧等处理。在队列的另一头,设计发布——订阅模式的接口。所有需要接收控制输入的控制器从管理器订阅输入事件,再分别进行处理。
输入处理的话题与网络同步的一致性有关系,后续会继续讨论。
- 本次开源项目出自华南理工大学华南虎战队,作品仅用于技术交流,未经作者允许,不得作任何商业用途。
- 转载需注明作品出处,对非法转载者,作者保留采用法律手段追究的权利。