Skip to content

01 第一人称项目创建 ​

第一步:安装 Unreal Engine 5 与运行环境 ​

UE5 即虚幻引擎 5 Unreal Engine 5,是 Epic Games 开发的一款强大的游戏引擎,所以第一步是安装 Epic Games Launcher。

没错,Epic 作为对标 Steam 的游戏平台,将其旗下的游戏引擎也集成到当前的 Launcher 中,这里不多赘述,直接进入 UE5 的安装界面,选择 Unreal Engine 选项卡,点击安装即可。 安装完成后,打开 Unreal Engine 选项卡,点击 Launch 启动 UE5 编辑器。

在正式开发前,你创建项目时可能会遇到一些问题,比如编译失败,这是因为你缺少了 CPP 和 C# 的开发环境。 虽然ue的项目语言是 cpp,但它的编译工具链是基于 C# 的,所以你在Windows系统上至少需要安装 Visual Studio Installer。

在 Visual Studio Installer 中,选择安装以下组件:

  • 工作负荷中勾选 使用 C++ 的桌面开发
  • 单个组件中勾选 .NET Framework 4.7 及以上版本的 SDK。

我这里安装的是 Visual Studio生成工具 2026 与 .NET Framework 4.8.1 SDK,安装完成后重新打开 UE5 编辑器,创建项目就不会再出现编译失败的问题了。 我个人是不太喜欢使用 Visual Studio 作为 ide 的,使用这里只安装了生成工具,我更习惯使用 vscode 来编写代码。

使用 vscode 编写 UE5 代码

如果你也想使用 vscode 来编写 UE5 的代码,这里要安装以下插件:

  • C/C++ Extension Pack,这个插件包包含了 C/C++ 的基础功能,代码高亮、智能提示、调试等。

然后在打开的 ue5 编辑器中,点击 编辑 -> 编辑器偏好设置 -> 左侧选择通用 -> 源代码 -> 选择 Visual Studio Code 作为默认的代码编辑器。

关闭 设置,在顶部操作栏中,选择工具-> 刷新 Visual Studio Code 项目文件,这样就会生成一个 .vscode 的文件夹,里面包含了 vscode 的项目配置文件,之后你就可以使用 vscode 来编写 UE5 的代码了。

第二步:创建第一人称项目 ​

在启动 UE5 编辑器后,可以看见 ue 官方已经提供了许多的项目模板,方便我们快速上手。这里我们选择第一人称项目模板,选择 C++ 语言,点击 Create 创建项目。

在创建完的 Cpp 项目中,我们关注的主要是以下几个文件夹:

  • Content:存放游戏资源的文件夹,包括材质、纹理、模型等。我们地图关卡、人物模型、蓝图动画等都是放在这个文件夹下的。
  • Source:存放 C++ 代码的文件夹,包含游戏逻辑和功能实现,我们在这里编写游戏的核心代码。
  • Config:存放项目配置文件的文件夹,包含引擎和游戏的设置。

在 Content 文件夹中,我们可以看到一些预设的资源,比如 StarterContent,这些资源可以帮助我们快速搭建游戏场景和测试功能。

Step-1: 为了更好的组织我们的项目,我们可以在 Content 文件夹下创建一个新的文件夹,命名为 MyGame,用来存放我们自己的游戏资源和蓝图。

Config 文件夹中包含了 DefaultEngine.ini、DefaultGame.ini 等配置文件,这些文件用于设置引擎和游戏的各种参数,比如输入设置、渲染设置等,在我们多人协作开发时,这些配置文件也应该被版本控制系统管理,确保团队成员之间的配置一致。

Source 文件夹中包含了 MyGame 项目的 C++ 代码,主要有以下几个文件:

  • MyGame.Build.cs:这个文件用于定义项目的构建规则和依赖关系,我们可以在这里添加第三方库或者模块。
  • MyGame.cpp:这个文件是项目的主入口,包含了实现模块的启动和关闭逻辑。
  • MyGame.h:这个文件是项目的主头文件,包含了模块的声明和接口定义。

Step-2: 项目中会包含一些预设的 C++ 类,和两个预设的变体,我们在 Resource 文件夹中创建一个我们的游戏资源文件夹 MyGame,用于存放我们自己的游戏资源和蓝图。

为了更好的管理与共享代码与资源,我们需要使用版本控制系统来管理我们的项目。这里我以 Git 为例,创建一个新的 Git 仓库,并将项目文件夹添加到版本控制中。

游戏开发中,Content 文件夹中的资源文件通常比较大,如果你打算托管到 GitHub 上,使用 Git Lfs 是一种方式,你可以配置 .gitattributes 文件来指定哪些文件类型使用 Git Lfs 来管理:

.gitattributes
# 使用 Git LFS 管理大型二进制文件
*.uasset filter=lfs diff=lfs merge=lfs -text
*.umap filter=lfs diff=lfs merge=lfs -text

但LFS在开源时是不太友好的,所以我个人更倾向于将 Content 文件夹中的资源文件排除在版本控制之外。 因为我暂时没有将Content用于协作,所以我倾向于将其添加到.gitignore 文件中,并在发布版本时打包上传资源文件到 GitHub Releases中。 如果你有需要将 Content 文件夹中的资源文件纳入版本控制与团队协作,更好的办法是搭建一个私有的 Git 服务器。

所以:

Step-3: 在项目根目录下创建一个 .gitignore 文件,添加以下内容来排除 Content 文件夹中的资源文件:

.gitignore
# 虚幻引擎临时文件和缓存
Binaries/           # 编译生成的二进制文件
DerivedDataCache/   # DDC 是UE5 用于缓存编译结果和资源的文件夹
Intermediate/       # UE5 在编译过程中生成的中间文件夹
Saved/              # UE5 的保存文件夹,包含日志、自动保存的关卡等
Content/            # UE5 的资源文件夹,通常比较大
Build/              # UE5 的构建文件夹

# VSCode 及其他 IDE 生成文件
.vscode/
.vs/
*.sln
*.suo
*.opendb
*.VC.db
*.opensdf
*.sdf
*.xcworkspace
*.xcodeproj

Step-4: 将项目文件夹添加到 Git 仓库中,并提交初始版本:

bash
git init
git add .
git commit -m "feat(init): 初始化第一人称项目"

第三步:启动模版并修改源码编译 ​

在 UE5 编辑器中,点击 Play 按钮,启动第一人称项目的预设场景,我们可以看到一个简单的关卡和一个可控制的角色。

在Content 文件夹中,我们可以找到两个预设的变体,对应的文件夹下也有对应的关卡,我们可以打开这些关卡来查看和游玩一下。

这时候用 vscode 打开项目修改代码,比如创建新的 C++ 类,或者修改现有的 C++ 类。 你可能会遇到发现编辑器的C++与代码不一致,这是很正常的,因为ue5 加载的是 dll 文件,而不是直接加载 cpp 文件,所以当你修改了 cpp 文件后,需要重新编译项目,生成新的 dll 文件,编辑器才能加载新的代码。

方法为,在 UE5 编辑器中按快捷键 ctrl + alt + F11 启动 live coding 模式,这样当你修改了 cpp 文件后,编辑器会自动重新编译项目,并加载新的 dll 文件,这样你就可以在编辑器中看到你的代码修改的效果了。

如果这些步骤你都完成了,那么恭喜你,你已经成功创建了一个基于 UE5 的第一人称项目,并且能够在编辑器中启动预设场景,修改代码并看到效果了。

::: tips .cpp 与 .h C++ 代码通常分为头文件 (.h) 和源文件 (.cpp)。 头文件用于声明类、函数和变量,而源文件用于实现这些声明的具体逻辑。 当你创建一个新的 C++ 类时,UE5 会自动生成对应的 .h 和 .cpp 文件,你需要在 .h 文件中声明你的类和成员函数,在 .cpp 文件去实现这些函数的具体逻辑。

这一点是与其他一些语言不同的,比如 C# 或者 Python,通常都是在一个文件中同时声明和实现的,而 C++ 则是分开的,所以导入其他的代码库时,你需要在 .h 文件中包含对应的头文件,在 .cpp 文件中包含对应的源文件,这样编译器才能正确地链接你的代码。 :::

上次更新于:

留下你的回声

读到这里,聊两句吧。

一个问题、一点共鸣,或是另一个角度,都很欢迎。

GitHub Discussions ↗
评论区准备就绪,滚动即可加载。