Skip to content

UE术语概览

一、UE简介

虚幻引擎(Unreal Engine,简称UE) 是由Epic Games开发的一款综合性实时3D创作工具。它不仅是游戏开发的核心引擎,还广泛应用于影视动画、虚拟现实(VR)、增强现实(AR)、建筑可视化等领域。UE的核心优势在于其高度可扩展的工具集,包括:

功能模块描述
图形渲染支持物理渲染(PBR)、全局光照(Lumen)、高动态范围(HDR)等技术
物理模拟支持刚体、布料、流体、破坏效果等复杂物理交互
蓝图系统可视化编程工具,无需代码即可实现游戏逻辑
跨平台支持覆盖Windows、iOS、Android、主机等多平台

二、UE核心术语解析

1. 项目(Project)

定义:项目是UE开发的基本单元,包含游戏的所有资源和代码,对应磁盘上的文件夹结构。
核心文件

  • .uproject:项目入口文件,记录名称、引擎版本等信息
  • .Build.cs:定义项目依赖的模块
  • Content目录:存放所有资源文件(如材质、模型、蓝图)

项目结构

text
Project/
├── Config/ # 配置文件
├── Content/ # 资源文件(.uasset)
├── Source/ # C++源代码
│ ├── Public/ # 公共头文件
│ └── Private/ # 私有实现文件
└── Saved/ # 临时生成文件

2. 关卡(Level)

定义:关卡是玩家活动的场景,由Actor构成。一个世界(World)可由多个关卡动态加载组成,支持开放式大场景或线性流程设计。
关键文件

  • .umap:关卡文件,包含所有放置的Actor信息
    层级关系
text
World(世界)
└── Level(主关卡)
└── Sub-Levels(子关卡)

3. Actor

定义:所有可放入关卡的对象统称为Actor,包括可见的模型、光源,以及不可见的触发体积等。
特性

  • 支持变换:平移、旋转、缩放
  • 组件挂载:通过添加组件(Component)扩展功能(如碰撞、动画)
  • 生命周期:可通过代码动态生成或销毁

常见类型

  • StaticMeshActor(静态模型)
  • CameraActor(摄像机)
  • TriggerVolume(触发体积)

4. Pawn

定义:Pawn是可被控制器(Controller)操纵的Actor,代表游戏中的物理实体(如玩家角色、NPC)。
特点

  • 控制分离:通过PlayerController(玩家)或AIController(AI)实现逻辑解耦
  • 输入响应:处理移动、跳跃等基础行为
    继承关系
text
UObject → AActor → APawn → ACharacter

5. 世界(World)

定义:世界是所有关卡的容器,负责管理关卡的加载、卸载和动态Actor的生成。
类型

  • Game World:实际游戏运行的世界
  • Editor World:编辑模式下的世界
  • PIE World:编辑器内测试时生成的临时世界

核心管理机制

  • 流式加载:动态加载子关卡以优化性能
  • 世界上下文(WorldContext) :跟踪多个世界的状态(如编辑器与游戏世界共存)

6. 玩家控制器(Player Controller)

定义:连接玩家输入与Pawn的桥梁,处理键盘、鼠标等交互事件。
功能

  • 输入处理:将按键事件转化为Pawn动作(如移动、攻击)
  • 视角控制:管理摄像机位置和旋转
  • 状态持久化:保存玩家分数等跨关卡数据

与Pawn的关系

text
PlayerController → Possess → Pawn

7. 组件(Component)

定义:组件就是构成 Actor 的零碎部分。 例如,汽车上的车轮、方向盘以及车身和车灯等都可以看作组件,而汽车本身就是 Actor。

添加了构成 Actor 的组件后,即使不编写蓝图脚本(或 C++ 代码)来设置汽车的功能,你也可以将汽车 Actor 放置在关卡中。 “油门踏板”相当于一个组件,你通过脚本或代码来指定踏板是否踩下,从而为汽车编写加速逻辑。 可以此种方式访问每个组件(打开车灯、按喇叭、开启收音机、转动方向盘等)

8. 蓝图(Blueprint)

定义:基于节点的可视化脚本系统,允许非程序员创建游戏逻辑。
核心元素

  • 事件(Event) :如BeginPlayTick
  • 函数(Function) :可重用的逻辑块
  • 变量(Variable) :存储数据供节点调用

优点与局限

优点局限
无需编程基础即可上手复杂逻辑易导致节点冗余
实时编译快速迭代性能低于C++代码
支持资源组合与继承调试难度较高

三、UE核心架构示意图

text
Engine → GameInstance → WorldContext → World → Level → Actor → Component
  • 层级逻辑:引擎管理全局实例(GameInstance),世界上下文协调多个世界,关卡组织Actor,Actor通过组件实现具体功能。