
构建专业的第一人称射击(FPS)控制器及重绑定系统。
您将会学到
-
将 Unity Input System 包安装到项目中
-
通过 Unity 的输入系统构建操作映射,创建操作,并将它们绑定到按键
-
利用动作映射来控制和管理工作空间中的 GameObject
-
学习各种动作类型,并了解如何使用它们
-
学习如何编写项目代码,使用户能够将控制键重新绑定到他们自己选择的按键
要求
-
熟悉 Unity 引擎
-
对 C# 的基本理解
-
Unity 的免费版和免费的 Visual Studio Code
-
想要学习 Unity 的输入系统。
描述
我是 Tee,来自 IOdaw Games 的游戏开发团队。
我们设计这门课程,不仅是为了让你掌握“如何让新的输入系统运行”,还为了教你“如何让它变得专业。”
在这个系列中,我们将不使用 Unity 的 Player Input 组件。我们不会简单地拖放一个脚本就了事。我们将采用专业工作室所采用的代码驱动工作流程。我们将直接从输入资源生成 C#类,从而实现强类型和完全控制我们的代码。
我们将一起构建什么内容?
我们将从一个空项目开始,构建一个功能完整的第一人称控制器。
你将学会如何:
- 为了实现架构的可扩展性,我们将通过创建一个专门的输入处理器来监听原始事件,并将这些数据传递给玩家移动脚本。这样做可以确保游戏逻辑的清晰性,同时保持输入逻辑的灵活性。
- 处理复杂输入:我们将为跳跃、冲刺、移动(Vector2)和鼠标视角(Delta)设置动作映射,并将这些动作与键盘和鼠标输入进行绑定。
- 创建一个重绑定系统:我们相信现在的游戏都应该允许玩家根据自己的喜好重新绑定控制。为此,我们将使用 Unity 提供的全面 UI,并对其进行定制,改变其外观和代码。
- 持久化用户数据:如果绑定系统在游戏关闭时重置,那将毫无用处。我们将使用 JSON 和 PlayerPrefs 编写一个自定义的保存/加载系统,以确保玩家的偏好设置能够被记住。
为什么选择这门课程?
大多数教程都只教你输入系统的“简单”用法。而本课程将带你编写真正能控制并驱动玩家 GameObject 的代码。学完这个系列,你将不仅会制作一个能移动的角色,还会构建一个强大且可复用的输入架构,适用于任何未来的项目。
此课程面向哪些人:
- 无论是初学者还是高级用户,如果你希望掌握 Unity 强大的输入系统,这门课程都适合你!
- 长期使用过旧版 Legacy Input Manager(Input.GetAxis)的人,觉得新的 Input System 既困惑又复杂。
- 任何倾向于代码驱动工作流程(生成的 C#类)而非默认 Player Input 组件的人,以便利用严格类型和 C#事件。
