UE4开发环境搭建

1.开发环境
Visual Studio 2019 + VisualAssist
Rider for Unreal Engine 2021.1 x64(可选)

2.UE引擎代码获取
https://github.com/EpicGames/UnrealEngine (需要与Epic官网账号管理才可以访问)
获取最新代码分支,如4.27,下载代码完毕后

3.Windows平台引擎编译
执行Setup.bat,下载依赖资源估计10G左右,可能需要半天左右时间。
完成Setup.bat之后,执行GenerateProjectFiles.bat,生成UE4.sln
打开UE4.sln,选择DebugGame Editor编译配置
Build
一般单机普通电脑,可能需要2小时-4小时的编译时间

4.编译成功后运行
创建一个第三人称设计游戏,C++类型项目,如命名MyGame
会产生一个新的MyGame.sln,里面会有一个MyGame的游戏工程
将这个工程代码和工程配置文件 uproject等东西上传SVN
向工程添加新C++类或者模块,可以通过UE4引擎内部界面,或者VS中手动添加,Windows资源管理器中右键更新uproject,Generate Visual Studio Project更新生效

学习内容
1.C++编程基础
C++11
C++11教程:C++11新特性大汇总 务必全部吃透
多线程编程,一般如何保证线程中最小锁时间,双消息队列切换方式?无锁方式RingBuffer
常用的数据结构和算法都要掌握精确
设计模式全部了解每种用在什么地方
看一本书Windows核心编程,了解操作系统和内存管理的一些细节

2.UE4引擎重要概念
去知乎看 大钊(UE4社区经理)专栏 InsideUE4
a.UObject AActor 等类
命名规范U A F E等前缀
生命周期和序列化,关键回调函数

b.Module和Plugin这个是基础

c.蓝图的使用 BP Blueprint
Level蓝图
Actor蓝图
C++与蓝图的交互
蓝图的调试,蓝图的性能问题如何优化

d.UE与Lua的交互
Unlua插件的使用,
Lua底层原理要搞清楚(lua虚拟机?堆栈?元表?协程)
Lua性能如何优化,瓶颈定位,内存泄露如何查

e.资源处理流程
UE4资源的管理方式
知道关键数据PrimaryAsset类型
Cook要在不同平台上使用时,要先Cook为平台专用资源格式,比如astc,音频等
Pack将Cook之后的文件,合并打包为一个或多个Pack,用出游戏安装包或者资源包更新下载
了解热更新组件HotPatcher
GitHub - hxhb/HotPatcher: Unreal Engine hot update manage and package plugin. 制作一个能够热更新的资源环境,在手机上测试

f.DS概念 Dedicated Server(专属服务器),UE4上率先创建的一种客户端和服务器之间逻辑验证和同步机制
与UE4客户端使用同样代码运行在服务器端,与客户端建立连接然后同步玩法数据
https://medium.com/swlh/building-and-hosting-an-unreal-engine-dedicated-server-with-aws-and-docker-75317780c567

g.UE4 iOS版本编译流程,使用Mac或者Windows都可以生成ipa
但要真机调试iOS

h.编辑器开发
能够自定义界面,数据保存

i.Slate UI开发和UMG动画播放

j.使用FramePro对UE4项目性能瓶颈进行分析
找到热点并进行修改验证

k.UE4场景管理
切换场景
加载卸载管理
loading条更新
异步加载
WorldComposition/WorldPartition(UE5新特性)的使用和配置方法

l.物理模型
了解UE4物理上层的使用
和底层如何实习的Physx和Chaos引擎的实现方法

m.角色控制
角色骨骼动画控制,播放,切换,过度,融合,位移
蒙皮换装

n.UE4渲染架构
RHI多线程方式
UE4如何渲染一个StaticMesh,把流程搞清楚
UE4如何管理前向渲染管线和延迟渲染关系
UE4自定义材质开发和渲染
UE4后处理添加自定义类型,已有后处理类型原理基本搞清楚

o.优化
了解模型LOD原理
场景的HLOD机制
定位内存分布