Unreal Engine C++开发基础培训
一、培训目标
1. 掌握Unreal Engine核心架构与C++开发流程:理解引擎底层模块(渲染、物理、AI等)的交互机制,熟练运用C++进行高性能逻辑开发。
2. 精通跨平台实时3D应用开发:覆盖游戏、影视动画、建筑可视化、工业仿真、元宇宙等场景,具备快速原型开发能力。
3. 熟练运用现代C++与引擎特性:结合C++20/23新特性(如Concepts、Coroutines)与Unreal的反射系统、蓝图混合编程,提升代码效率与可维护性。
4. 掌握行业主流技术栈:包括Nanite/Lumen虚拟化技术、MetaHuman数字人、Chaos物理引擎、Niagara粒子系统等次世代功能。
5. 具备工程化与团队协作能力:通过版本控制(Git LFS)、CI/CD流水线、性能分析工具(Unreal Insights)等实践,适应工业化开发流程。
二、培训收益
1. 技术全面性:从C 基础到引擎高级模块,覆盖全链路开发知识,避免“只会蓝图不会C”或“懂C++但不懂引擎”的短板。
2. 性能优化能力:掌握内存管理、多线程调度、GPU驱动渲染等技巧,解决卡顿、崩溃、加载慢等痛点。
3. 跨行业就业竞争力:适配游戏、影视、汽车、医疗、教育等领域需求,成为稀缺的“Unreal全栈工程师”。
4. 创新应用场景:结合AI生成内容(AIGC)、Web3.0(区块链资产集成)、XR(VR/AR/MR)等趋势,拓展元宇宙、数字孪生等新兴领域。
5. 开源与社区资源利用:熟悉Unreal Marketplace、Quixel Megascans等资源库,以及GitHub上的开源插件(如Rider for Unreal调试工具)。
三、培训内容
第一部分:Unreal Engine与C++基础
1. 开发环境搭建
· 引擎安装与项目配置:
· Epic Games Launcher与源码编译(Linux/macOS支持)。
· 跨平台项目模板创建(Windows/macOS/iOS/Android/WebGL)。
· 工具链集成:
· Rider/Visual Studio插件配置(智能提示、调试热重载)。
· Git LFS版本控制(管理大型二进制资源)。
2. C++与Unreal反射系统
· 现代C++基础:
· C++20/23特性(Ranges、Coroutines、Modules)在Unreal中的应用。
· 智能指针(TSharedPtr/TWeakPtr)与内存管理。
· Unreal反射机制:
· UCLASS/UFUNCTION/UPROPERTY宏详解。
· 序列化(SaveGame)、网络复制(Replication)原理。
· 蓝图与C++交互:
· 暴露C++函数/变量到蓝图(BlueprintCallable/BlueprintReadOnly)。
· 动态调用蓝图事件(ProcessEvent)。
第二部分:核心模块开发
1. 角色与动画系统
· Character类与输入控制:
· 自定义移动组件(基于C++重写MovementComponent)。
· 动作映射(Action/Axis Mapping)与输入设备适配(VR手柄/游戏手柄)。
· 动画系统:
· Animation Blueprint与C++状态机混合编程。
· 根运动(Root Motion)与IK反向运动学(Control Rig插件)。
· MetaHuman集成:
· 面部动画驱动(Live Link Face)、语音唇形同步(MetaVoice)。
2. 物理与碰撞系统
· Chaos物理引擎:
· 刚体/软体模拟(车辆碰撞、布料撕裂)。
· 物理约束(Physics Constraint)与破碎效果(Destruction)。
· 碰撞检测优化:
· 简化碰撞体(Simplified Collision)与复杂碰撞体(Complex Collision)切换。
· 物理材质(Physical Material)与摩擦力/弹力参数调优。
3. UI与HUD开发
· UMG与C++交互:
· 动态生成Widget(CreateWidget)、事件绑定(BindDynamic)。
· 自定义Widget组件(如血条、小地图)。
· HUD优化技巧:
· 减少Draw Call(使用Canvas的批处理)。
· 异步加载UI资源(避免主线程卡顿)。
第三部分:渲染与图形编程
1. 渲染管线基础
· Unreal渲染流程:
· Deferred Shading(延迟渲染)与Forward Shading(前向渲染)切换。
· 材质编辑器底层原理(Material Graph与HLSL代码生成)。
· Nanite与Lumen技术:
· Nanite虚拟化几何体(百万面级模型实时渲染)。
· Lumen全局光照(动态光线追踪与屏幕空间反射)。
2. 自定义Shader开发
· Material Parameter Collections:
· 通过C++动态修改Shader参数(如时间、天气)。
· Custom Node与HLSL编写:
· 在材质编辑器中插入自定义HLSL代码。
· 编写Post Process Material实现屏幕特效(如Bloom、Depth of Field)。
3. 性能优化实战
· GPU分析工具:
· Unreal Insights的Render Thread分析。
· 减少Overdraw(遮挡剔除、合批优化)。
· LOD与HLOD:
· 自动生成LOD(Level of Detail)与HLOD(Hierarchical LOD)。
· 视距裁剪(Cull Distance Volume)优化远景渲染。
第四部分:网络与多人游戏开发
1. 网络同步原理
· Replication机制:
· 变量/函数的网络复制条件(Replicated/NotReplicated)。
· RPC(Remote Procedure Call)调用(Server/Client/Multicast)。
· 预测与插值:
· 客户端预测(Client-Side Prediction)与服务器回滚(Server Reconciliation)。
· 网络平滑(Network Smoothing)减少抖动。
2. 跨平台多人架构
· Steam/Epic Online Services集成:
· 好友系统、语音聊天、成就系统对接。
· P2P与专用服务器:
· Steamworks P2P穿透与AWS GameLift部署。
第五部分:AI与行为树开发
1. 行为树(Behavior Tree)
· Blackboard与Tasks:
· 通过C++自定义Task(如巡逻、攻击逻辑)。
· Blackboard变量共享(AI感知数据存储)。
· EQS环境查询系统:
· 编写自定义EQS Generator(如寻找掩体、最优路径)。
2. 机器学习集成
· Unreal ML插件:
· 集成TensorFlow/PyTorch实现AI训练(如NPC决策优化)。
· 强化学习(Reinforcement Learning)在关卡设计中的应用。
第六部分:跨行业应用开发
1. 虚拟制作(Virtual Production)
· LED虚拟墙技术:
· nDisplay配置与多机同步渲染。
· 摄像机跟踪(Mo-Sys/Vicon)与实时光追。
· 虚拟制片管线:
· 结合Unreal Sequencer实现镜头预演(Previz)。
2. 数字孪生与工业仿真
· 数据驱动开发:
· 通过Python脚本批量生成场景(如工厂设备布局)。
· 集成IoT数据实时驱动3D模型状态。
3. XR(VR/AR/MR)开发
· OpenXR标准支持:
· 适配Meta Quest/Hololens/Apple Vision Pro设备。
· 手部追踪(Hand Tracking)与空间锚点(Spatial Anchors)。
第七部分:工程化与团队协作
1. 版本控制与协作
· Git LFS最佳实践:
· 管理大型二进制文件(如地图、动画)。
· 分支策略(Feature Branch/Git Flow)。
· CI/CD流水线:
· GitHub Actions自动构建Windows/macOS包。
· 自动化测试(Unit Test/Integration Test)。
2. 性能分析与调试
· Unreal Insights深度使用:
· 分析CPU/GPU/Memory瓶颈。
· 跟踪网络包(Packet Sniffer)与同步延迟。
· 日志与Crash分析:
· 自定义日志系统(FOutputDevice)与符号化(Symbolication)。