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++代码题+项目经验回答模板,需要的同学点赞收藏。

相关推荐
weixin_404679313 天前
虚幻5电子书
ue5
directx3d_beginner4 天前
5,动画蓝图类接口转c++
ue5
RuiZN4 天前
UE5 蓝图 FPS 02 Event Beginplay
c++·ue5
RuiZN4 天前
UE5 蓝图 FPS 01 Event Tick
c++·ue5
directx3d_beginner4 天前
6,执行攻击改为c++
ue5
平行云4 天前
实时云渲染预启动技术解析:UE数字孪生应用的延迟优化机制(二)
linux·unity·ue5·webgl·实时云渲染·云桌面·像素流
RuiZN5 天前
UE5 UObject类详解
c++·ue5
上山老人5 天前
UE4布娃娃约束修改
ue4
平行云5 天前
实时云渲染预启动技术解析:UE数字孪生应用的延迟优化机制(一)
linux·ue5·webgl·数字孪生·云渲染·实时云渲染·像素流
RuiZN5 天前
UE5 UObject和反射
c++·ue5