编译UE5.4源代码

编译流程

首先在Epic账户中绑定自己的 Github 账号
https://www.epicgames.com/account/connections?lang=zh-CN#
在收到
@EpicTeamAdmin has invited you to join the @EpicGames organization 之后
点击 Join 将会获得访问 https://github.com/EpicGames/UnrealEngine 的权限
获得权限之后,选择你想要放置项目的文件夹,右键点击选择
Open Git Bash Here
输入 git clone https://github.com/EpicGames/UnrealEngine
接下来静静等待
如果你使用Git来克隆的过程中有着各种各样的问题,别担心,我们还有Plan B

在分支中选择5.4直接 Download ZIP,然后放到你想要的文件夹下解压
然后点击 Setup.bat 进行依赖的安装
安装完成之后点击 GenerateProjectFiles.bat
笔者使用的是 Visual Studio 2022 Community,Rider 应该也可以正常编译,Rider 大手子可以分享一下
使用 VS 打开 sln 工程文件,在上方选择 Development Editor Win64

然后依次点击


继续进行漫长的等待.....

笔者等了两个小时
在 Engine\Binaries\Win64 目录下找到 UnrealEditor.exe 双击进入

至此你的编译结束,文件夹大小应该是 207G 左右
(顺便一提编译着色器也会耗很长时间)

成功打开!

一些可能的错误

fatal: unable to access 'https://github.com/EpicGames/UnrealEngine/': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0

打开Git Bash,确保你的GitHub邮箱设置正确。可以通过运行命令ssh-keygen -C 'your email address' -t rsa进行设置,系统会提示你确认文件保存位置,按照提示操作,生成id_rsa和相关文件。
https://github.com/settings/keys
找到 id_rsa.pub 文件,使用文本编辑器打开,复制其中的公钥内容,前往GitHub账户设置,添加到SSH Public Keys部分。创建一个新的SSH Key,填写任意标题,将复制的公钥粘贴到key区域,保存设置。

使用编辑器

工程设置

新建一个第三人称模板游戏项目

右上角为工程设置,点开可以进行调试

打包

上方的平台按钮可以对项目进行打包

地图关卡创建与分层



可视化游戏



可以对场景的观察方向以及光照效果进行设置

一些导航与选取操作

鼠标右键+W/A/S/D 控制摄像机四处移动
鼠标右键+Q/E 控制摄像机下降/上升
单独按住鼠标右键,可以转换摄像机朝向
选定物体之后,按下 F 键,可以将摄像机聚焦移动至物体处

在右上角可以调节摄像机的移动速度,适用于距离较远的情况

书签设置,可以使相机快速回到特定点位

游戏视图是指隐藏摄像机光源,物品选择框等等之后呈现的效果
沉浸模式则是隐藏几乎所有的操作窗口,只保留游戏本体窗口

这里面可以调节各种元素的显示

你可以在大纲中搜索你放入的所有资源

在透视视图下,Ctrl+Alt可以范围框选物体

属性以及位移设置


选定物体之后,可以在细节里面查看其相关属性
如果没有细节窗口的话,可以在顶栏窗口中添加

在选定物体之后,可以对其进行一系列操作
从上面的光标图案开始,从左到右依次是选定物体,平移物体,旋转物体,缩放物体
从上面的网格图案开始,从左到右依次是,自动对齐网格,与旋转网格对齐,与缩放网格对齐
效果自己体验一下会非常明显,简单来说就是帮助手抖的你更好的把物体放置正确位置

这两个一个是用来切换世界坐标系与物体局部坐标系,另一个是用来控制物体表面对齐的方式
另外提到了如果想模型中心贴地,可以使用End键,Alt+End是轴心贴地,Shift+End为碰撞箱贴地
幽默的是,笔者的98配列键盘并没有End键,所以这个功能笔者并没有实验过🤣

在窗口里点击内容浏览器,可以将内容浏览器添加至底栏,里面存放着你项目文件夹内Content文件夹下的内容

快速迭代

可以在这里选择不同的启动方式,或者是改变玩家数量

改变玩家数量之后,是打开了多个客户端场景,而并非在同一场景内出现多个角色
在Actor中可以对光照进行设置

打开 Quixel Bridge 可以联网获取各种资源

编辑器的基础使用教程到这里就告一段落了~

常用资源命名规范

资源类型 资源名
Skeletal Mesh SK _Bob
Material M_Bob
Texture (Diffuse/Albedo) T_Bob_D
Texture (Normal) T_Bob_N
Texture (Evil Diffuse) T_Bob_Evil _D
资源类型 前缀 后缀 备注
Level/ Map 所有地图应该放在Maps目录下
Level (Persistent) _P
Level (Audio) _Audio
Level (Lighting) _Lighting
Level (Geometry) _Geo
Level (Gameplay) _Gameplay
Blueprint BP_
Material M_
Static Mesh S_ or SM__ 选一个,建议使用 S_
Skeletal Mesh SK_
Texture T_ _? 参照纹理
Particle System PS_
Widget Blueprint WBP_ _ or WB_ _ 选一个,建议使用 WBP_

一些可能的错误


这种情况下,删除你已经新建的项目,然后打开你的visual studio installer
检查自己是否选择了使用C++的游戏开发,如果已经选择了
自己是否在可选安装中选择了与Unreal相关的安装项
全部安装完毕后,重新新建项目,问题解决

项目结构

项目结构图

世界(World)

世界场景(World)中包含载入的关卡列表。它可处理关卡流送和动态Actor的生成(创建)

关卡(Levels)

level (关卡)是用户定义的游戏区域。我们主要通过放置、变换及编辑Actor的属性来创建、查看及修改关卡。在虚幻编辑器中,每个关卡都被保存为单独的.umap文件,也被称为"地图"

子关卡(Sub-Levels)

一个关卡往往由多个子关卡组成
子关卡这个概念如果读者玩过Minecraft将会非常容易理解(方块人收收味)
它和关卡的关系就像是区块与完整地图的关系
为了节省资源,所有往往只加载现在用得到的子关卡以及相邻的即将要用到的子关卡

Actor

可放入关卡中的对象都是 Actor,Actor是支持三维转换(如平移、旋转和缩放)的泛型类,通常包括一个或者多个Actor Components,可通过游戏进程代码(C++或蓝图)创建及销毁Actor
在C++中,AActor是所有Actor的基本类,Actor只是一个空壳不带任何功能。

打包安卓

官方教程:
https://dev.epicgames.com/documentation/zh-cn/unreal-engine/set-up-android-sdk-ndk-and-android-studio-using-turnkey-for-unreal-engine?application_version=5.4

首先点击项目设置

然后在平台里选择Android

接下来在平台中选择Android并且点击安装SDK,UE5会自动给你安装Android Studio

如果你的Android Studio在安装过程中出现了如下报错

原因很简单,出现这个提示的原因主要是因为电脑第一次安装 Android Studio,启动后 Android Studio 没有检测到电脑有 SDK ,所以才有这个提示
在 Android Studio 的安装目录下,找到  \bin\idea.properties 文件。

打开 idea.properties 文件,在末尾加入以下配置,这个配置是设置初次打开 Android Studio 时,不检测 SDK
disable.android.first.run = true
然后继续按照UE5官方的教程来安装即可
安装完毕之后,重启UE5编辑器

点击打包项目,选择打包路径,至此完全结束

第一节完结~

届ける言葉を今は育ててる
最后更新于 2024-11-19