UE4/UE5 引擎常见面试题总结(1)

UE4/UE5 引擎常见面试题总结(前端/游戏开发岗必看)

一、前言

本文整理UE4/UE5引擎开发岗位高频面试题,覆盖基础概念、渲染、蓝图、C++、性能优化、网络、物理、动画八大模块,适合校招、初级/中级UE开发岗复习,附核心答案要点,方便快速背诵。

二、基础概念类(必问)

  1. UE中的Actor和Component有什么区别?
  • Actor是场景中的实体对象,本身不包含功能,是一个容器。

  • Component是功能模块,挂载到Actor上赋予能力(移动、碰撞、渲染、音频等)。

  • 关系:Actor包含多个Component,Component依附Actor存在。

  1. Pawn、Character、Controller分别是什么?
  • Pawn:可被控制的Actor,是角色基础。

  • Character:继承Pawn,自带CharacterMovement、CapsuleComponent,专门做人形移动。

  • Controller:负责控制逻辑,分PlayerController(玩家)、AIController(AI),与Pawn分离解耦。

  1. UObject、AActor、UActorComponent继承关系?

UObject → AActor

UObject → UActorComponent → 各种Component(USceneComponent等)

三、蓝图与C++相关(高频)

  1. 蓝图和C++各自优缺点?
  • 蓝图:开发快、可视化、迭代快、适合逻辑/界面;运行效率低、大型项目难维护。

  • C++:执行效率高、底层可控、架构稳定;编译慢、上手门槛高。

  • 项目规范常用:C++做底层框架+核心功能,蓝图做业务逻辑与配置。

  1. UE反射机制(UCLASS、UPROPERTY、UFUNCTION)作用?
  • 实现GC垃圾回收、细节面板暴露、蓝图调用、序列化、编辑器集成。

  • 不加宏,变量/函数无法被引擎识别与蓝图访问。

  1. GC垃圾回收机制简单说?
  • UE使用标记清除GC,UObject自动管理。

  • 被强引用(UPROPERTY)的对象不会被回收;无引用则自动销毁。

  • 避免野指针:不用裸指针,多用 TWeakPtr 、 TSharedPtr 、 UObject* 配合UPROPERTY。

四、渲染与材质(渲染/TA必问)

  1. 前向渲染与延迟渲染区别?UE默认?
  • 前向:每个物体对每个灯单独绘制,适合少灯、移动端,支持透明。

  • 延迟:先渲染几何信息到GBuffer,再统一光照,适合多灯、PC/主机。

  • UE默认PC/主机延迟渲染,移动平台前向为主。

  1. PBR是什么核心思路?
  • 基于物理的渲染,遵循能量守恒,核心两部分:

  • 漫反射Diffuse

  • 高光Specular(粗糙度+金属度)

  • 材质更真实,灯光统一,不用手动玄学调参。

  1. 什么是DrawCall?怎么优化?
  • DrawCall:CPU向GPU提交一次渲染命令。

  • 优化:

  • 合并Mesh、合并材质

  • 使用Instancing(实例化)

  • LOD、剔除(视锥剔除、距离剔除)

  • 减少透明物体、减少状态切换

五、动画系统

  1. 动画蓝图、Animation Blueprint工作流程?
  • 状态机管理动画状态(Idle/Run/Jump)

  • 混合空间BlendSpace处理方向/速度混合

  • 动画蒙太奇Montage做技能、攻击、受击

  • 根运动RootMotion、IK(手部/脚部)

  1. IK是什么?常用在哪?
  • 逆向运动学,根据末端节点反推骨骼旋转。

  • 常见:脚部贴地、手部抓握、瞄准IK。

六、物理与碰撞

  1. UE碰撞通道、碰撞响应有哪些?
  • 通道:ECC_WorldStatic、WorldDynamic、Pawn、Visibility、Camera等。

  • 响应:Block、Overlap、Ignore。

  • 项目必须统一碰撞规范,避免逻辑BUG。

  1. 物理模拟(PhysX)常见优化?
  • 减少模拟物体数量

  • 合理设置质量、阻尼

  • 远距离关闭物理、休眠不动物体

  • 简化碰撞形状(用胶囊、盒子,不用复杂网格)

七、网络与多人(进阶必问)

  1. UE网络模型:Server/Client、Authority?
  • 服务器拥有最高权限(Authority),客户端仅预测。

  • 逻辑尽量在服务器跑,防止外挂与不同步。

  1. 复制相关:Replicate、RepNotify?
  • Replicate:属性从服务器同步到客户端。

  • RepNotify:属性同步后触发回调函数,做表现更新(血条、特效、状态)。

  1. RPC函数分类?
  • Server:客户端调用,服务器执行(必须可靠)

  • Client:服务器调用,对应客户端执行

  • NetMulticast:服务器调用,所有客户端执行

八、性能优化(面试官最爱)

  1. UE性能优化常用手段(通用)

  2. 减少三角形数量、合理LOD

  3. 合并材质、减少贴图分辨率与通道

  4. 控制灯光数量,用静态灯、烘焙光照

  5. 合理使用遮挡剔除、HLOD

  6. 减少Tick函数,禁用不必要Tick

  7. 蓝图转C++核心逻辑

  8. 内存优化:减少冗余对象、及时释放资源

  9. 使用Stat Unit、Stat Game、ProfileGPU调试瓶颈

  10. 什么是Tick?为什么要少用?

  • Tick每帧执行,频繁逻辑非常耗性能。

  • 能用定时器、事件驱动,绝不每帧跑逻辑。

九、常见场景题(实战向)

  1. 如何做一个角色跳跃?
  • Character自带Jump函数

  • 给CharacterMovement设置跳跃高度、重力

  • 动画蓝图监听IsInAir、Jump状态播放动画

  1. 如何实现物品拾取?
  • 球体/盒子碰撞Overlap事件

  • 判断碰撞对象是否为角色

  • 销毁物品Actor,添加到背包数据结构

十、总结

UE开发面试核心考察:

  • 基础架构理解(Actor/Component/Controller)

  • 蓝图+C++配合思路

  • 渲染/动画/物理基础

  • 网络复制常识

  • 性能优化意识

后续会更新UE高级面试题+手写C++代码题+项目经验回答模板,需要的同学点赞收藏。

相关推荐
1204157137 肖哥2 天前
UE5.7 灯光详解
ue5
狂云歌3 天前
AI写UE的3Dgame
人工智能·3d·ue5·游戏程序
日月云棠7 天前
UE5源码分析之Editor——Blutility模块全面分析
ue5
日月云棠7 天前
UE5源码分析之Editor——BehaviorTreeEditor模块全面分析
ue5
日月云棠7 天前
UE5源码分析之Editor——AssetTagsEditor模块全面分析
ue5
远离UE48 天前
UE5 显存 虚拟内存 深入学习笔记
笔记·学习·ue5
日月云棠8 天前
UE5源码分析之Editor——AnimationSettings模块全面分析
ue5
远离UE49 天前
UE5 SF_VertexShader 如何使用
ue5
电子云与长程纠缠9 天前
UE5 Lyra PocketWorld进行3D内容UI预览 - 上
开发语言·学习·3d·ue5·游戏引擎
电子云与长程纠缠9 天前
UE5 Lyra PocketWorld进行3D内容UI预览 - 下
开发语言·学习·游戏·ui·ue5