概念指南
约 1903 字大约 6 分钟
2025-06-05
基于官方文档整理的通俗易懂的 UE 核心概念解释
目录
基础架构概念
对象 (Object)
简单理解: 虚幻引擎的基础砖块
就像搭积木一样,对象是构建游戏的基础组件。几乎所有的游戏元素都是从对象发展而来的。
技术细节:
- 在 C++中对应
UObject
类 - 提供垃圾回收、元数据支持、序列化等基础功能
- 所有其他类型都继承自对象
类 (Class)
简单理解: 物品的设计图纸
类就像是一张设计图纸,定义了某种游戏元素应该有什么特性和行为。比如"汽车"这个类定义了所有汽车都有轮子、引擎等。
重要特点:
- 分层结构:子类会继承父类的所有特性
- 可以用 C++代码或蓝图创建
- 例如:车辆类 → 汽车类 → 跑车类
蓝图 (Blueprint)
简单理解: 可视化编程工具
不用写代码,通过拖拽连接节点就能创建游戏逻辑,就像用流程图做编程。
核心优势:
- 无需编程基础
- 实时预览效果
- 适合设计师和美术使用
- 可以创建完整的游戏玩法
项目管理概念
项目 (Project)
简单理解: 游戏的整个文件夹
项目包含了制作游戏所需的所有文件,包括模型、贴图、音频、代码等。
文件结构:
.uproject
文件:项目的身份证- Content 文件夹:存放游戏资源
- 与磁盘文件夹结构完全对应
游戏对象概念
Actor
简单理解: 游戏世界中的"演员"
任何能放到游戏关卡中的物体都是 Actor,比如角色、道具、光源、摄像机等。
基本特性:
- 可以移动、旋转、缩放
- 通过代码或蓝图控制
- 在 C++中对应
AActor
类
组件 (Component)
简单理解: 给 Actor 添加的功能模块
就像给手机装 APP 一样,组件为 Actor 添加特定功能。
常见组件:
- 点光源组件:让 Actor 发光
- 音频组件:让 Actor 播放声音
- 移动组件:让 Actor 能够移动
- 组件必须附加到 Actor 上,不能独立存在
Pawn
简单理解: 可被控制的游戏角色
Pawn 是特殊的 Actor,代表游戏中的角色或载具,可以被玩家或 AI 控制。
控制状态:
- 被占有:正在被玩家或 AI 控制
- 未被占有:没有被任何人控制
角色 (Character)
简单理解: 专门用作玩家的 Pawn
角色是 Pawn 的升级版,专门为玩家角色设计,内置了走路、跳跃等基本动作。
内置功能:
- 碰撞检测
- 双足移动系统
- 输入响应系统
类型转换 (Casting)
简单理解: 确认物体的真实身份
就像问"这个东西是不是苹果?"如果是,就能使用苹果的特有功能(比如吃掉)。
实际应用:
玩家碰到体积 → 尝试转换为"火焰体积"
├─ 转换成功 → 扣血
└─ 转换失败 → 无事发生
控制器概念
玩家控制器 (Player Controller)
简单理解: 将玩家输入转化为游戏动作的翻译官
把你按下的键盘鼠标操作翻译成游戏中角色的移动、攻击等动作。
重要特点:
- 每个玩家对应一个控制器
- 多人游戏中的网络通信枢纽
- 控制一个 Pawn 或角色
AI 控制器 (AI Controller)
简单理解: 电脑控制的"虚拟玩家"
让 NPC(非玩家角色)能够自动做出决策和行动,比如巡逻、攻击、逃跑等。
默认行为:
- 除非被玩家控制器占有,否则 Pawn 会自动获得 AI 控制器
游戏框架概念
玩家状态 (Player State)
简单理解: 玩家的游戏数据档案
记录玩家在游戏中的各种信息,比如等级、血量、分数等。
包含信息:
- 玩家姓名
- 当前等级
- 血量值
- 游戏分数
- 特殊状态(如是否持有旗帜)
多人游戏特点:
- 所有玩家的状态在所有客户端都可见
- 自动同步数据保持一致性
游戏模式 (Game Mode)
简单理解: 游戏的规则制定者
定义这个游戏怎么玩,比如胜利条件、玩家数量限制、是否可以暂停等。
设定内容:
- 玩家如何加入游戏
- 游戏是否可暂停
- 胜利/失败条件
- 特殊游戏规则
重要特点:
- 每个关卡只能有一个游戏模式
- 多人游戏中只存在于服务器
- 可以为不同关卡设置不同模式
游戏状态 (Game State)
简单理解: 游戏的实时信息板
包含需要让所有玩家都知道的游戏信息,比如比赛时间、团队分数等。
包含信息:
- 游戏总分数
- 比赛是否开始
- 当前存活玩家数量
- 游戏时间
同步机制:
- 服务器维护主要数据
- 自动复制到所有客户端
几何体概念
笔刷 (Brush)
简单理解: 快速搭建关卡的基础几何体
就像用积木块快速搭建房屋框架,适合制作关卡的基本结构。
常见形状:
- 立方体
- 球体
- 圆柱体
- 自定义形状
使用场景:
- 快速关卡布局
- 测试关卡设计
- 简单几何体建模
体积 (Volumes)
简单理解: 看不见的功能区域
体积是有特殊功能的透明区域,玩家进入后会触发特定效果。
常见类型:
- 阻挡体积:阻止通过的隐形墙
- 伤害体积:进入后持续扣血
- 触发体积:进入/离开时触发事件
- 水体积:模拟水下效果
世界和关卡概念
关卡 (Level)
简单理解: 游戏的一个场景或地图
关卡是玩家实际游玩的区域,包含所有可见和可交互的内容。
包含内容:
- 地形和建筑
- 角色和道具
- 光照和特效
- 音效和音乐
文件格式:
- 保存为
.umap
文件 - 有时也被称为"地图"
世界 (World)
简单理解: 游戏的大容器
世界包含游戏中的所有关卡,负责管理关卡之间的切换和加载。
主要职责:
- 管理关卡加载和卸载
- 处理动态 Actor 的创建
- 协调多个关卡的运行
快速查找表
概念 | 简单理解 | 主要用途 |
---|---|---|
Object | 基础砖块 | 所有元素的基础 |
Actor | 游戏世界的演员 | 可放置的游戏对象 |
Pawn | 可控制的角色 | 玩家/AI 控制的实体 |
Component | 功能模块 | 为 Actor 添加功能 |
Blueprint | 可视化编程 | 无代码创建游戏逻辑 |
Level | 游戏场景 | 玩家游玩的区域 |
Game Mode | 游戏规则 | 定义游戏怎么玩 |
学习建议
- 从基础开始:先理解 Object → Actor → Pawn 的层次关系
- 实践体验:创建简单项目,亲手操作这些概念
- 逐步深入:掌握基础后再学习复杂的游戏框架
- 多看教程:结合官方文档和视频教程学习
本指南基于 Epic Games 官方文档整理,持续更新中...