UE
GamePlay核心类
Actor、Component、GameMode、GameState、APlayerState、PlayerController、AIController、Pawn、Character
UE网络同步
属性同步、RPC、属性同步时序、断线重连
动画
八方向移动、蒙太奇、IK、RootMotion、原地转身、惯性化、Motion Matching、锁步
AI
行为树、NavMesh、Perception、EQS、HTN、State Tree、避让
GAS
ASC、GA、GE、AttributeSet、Tag、技能的预测与回滚
角色移动的同步
反射
GC
蓝图虚拟机
序列化
编程语言
C++
- 对象内存布局
- UE指针
TSharedPtr、TSharedFromThis - STL
- 定位C++野指针
- 右值引用
std::forward、std::move - 内存序
relaxed、acquire-release、sequentially consistent
Lua
- 定位lua内存泄露
- C++ lua交互
算法
- 快排、堆排序
- A*
- 深度优先搜索、广度优先搜索
- 红黑树
- 迪杰斯特拉
- KMP
图形渲染
- 模型坐标系 世界坐标系 相机坐标系
- 旋转 四元数 欧拉角
- 矩阵
- 渲染流程
vs 光栅化 fs - 前向渲染
- 延迟渲染
- TBDR
- PBR
- 颜色空间 伽马校正
- 阴影
CSM 距离场阴影 - 后处理
Bloom DOF 运动模糊 扭曲 - 抗锯齿
TAA FXAA MSAA
操作系统
线程同步
互斥锁、读写锁、信号量
虚拟内存
文件系统
进程间通讯
socket、管道、共享内存
网络
tcp
慢启动、拥塞避免、快速重传
udp
路由算法
性能优化
drawcall优化
字体打断
对象池
分帧负载
背包、排行榜
内存优化
压缩纹理
性能瓶颈定位
CPU、GPU、带宽
项目开发经验
- 开发过什么类型的游戏,负责其中的哪些模块(战斗、新手引导、SDK、热更新)
- 项目中遇到过哪些难点?又是怎么解决的