一、前言
在使用虚幻引擎开发之前,需要对常用术语有基本的了解。它能帮助我们更好的理解引擎的架构,以及在后续的学习中构建知识体系。
二、虚幻引擎术语
1. 项目
- 项目包含游戏的所有内容;
- 每个虚幻引擎项目都与一个
.uproject
文件关联。
2. 关卡
- 关卡(Level) 是开发者定义的游戏区域,又称为地图;
- 关卡包含玩家可以看到并与其交互的所有内容;
- 虚幻引擎将每个关卡保存为单独的 .umap 文件。
3. 世界
- 世界(World) 是构成游戏的所有关卡的容器;
- 世界处理关卡的流送和动态Actor的生成。
4. 蓝图
- 蓝图是虚幻引擎中的可视化编程脚本;
- 通常,蓝图在虚幻引擎被用于定义类或对象。
5. 类
- **类(class)**定义虚幻引擎中特定事物的行为和属性;
- 类可以被继承,继承后派生的类称为子类,被继承的类称为父类;
- 父类的信息可以通过继承传递给子类。
6. 对象
- 对象是类的实例,即一个对象就是某类事物的一个实体;
- 对象是系统的基本组成部分。
7. Actor
- Actor是可以放到关卡中的任何对象,即在视口中能看到的所有东西;
8. 组件
- 组件(Component) 是一种可以添加到Actor的功能。
- 组件必须连接到Actor,不能独自存在。
9. Pawn
- **Pawn(士兵)**是Actor的子类;
- Pawn定义了游戏内的形象或人像的基本行为和属性,如:NPC、玩家角色。
10. 角色
- 角色(Character) 是Pawn的子类;
- 角色定义了游戏内的玩家角色的基本行为和属性。
11. 玩家控制器
- 玩家控制器(Player Controller) 可以获取玩家输入以控制玩家角色;
- 玩家控制器还是多人游戏的主要网络互动点;
- 客户端只能使用其玩家控制器与服务器进行通信;
12. AI控制器
- AI控制器(AI Controller) 操控游戏内的NPC;
13. 玩家状态
- 玩家状态(Player State) 是游戏参与者在游戏中的状态;
- 玩家状态通常包括名称、等级、血量、得分等。
- 非玩家角色作为游戏世界的一部分而存在,没有玩家状态。
14. 游戏模式
- 游戏模式(Game Mode) 用于设置游戏规则;
- 针对不同的关卡可以设置不同的游戏模式;
- 每个关卡都只能有一个游戏模式;
- 在多人游戏中,游戏规则将发送到每个连接的客户端。
15. 游戏状态
- **游戏状态(Game State) ** 包含游戏中需要发送到每个客户端的信息;
- 在多人游戏中,每个玩家的机器上都有一个本地游戏状态实例;
- 本地游戏状态实例从游戏状态的服务器实例获取更新的信息。
16. 体积
- 体积(Volumes) 是带有边界的3D空间;
- 根据连接到体积的效果,具有不同的使用方法,例如:
- 阻挡体积:用于阻止Actor通过它们;
- 施加伤害体积:对与该体积重叠的任何Actor造成持续伤害;
- 触发器体积:在Actor进入或退出体积时触发事件。
17. 笔刷
- 笔刷(Brush) 是用于描述3D形状的Actor;
- 笔刷可以放置在关卡中以定义关卡的几何体。
三、坐标空间术语
1. 世界坐标
- 物体在当前关卡中的位置称为世界坐标;
- 虚幻引擎的世界坐标系默认使用右手坐标系。
2. 局部坐标
- 物体在另一个物体中的位置称为局部坐标;
- 局部坐标系同样采用右手坐标系。
3. 法线
- 垂直于平面上某一点的直线称为法线。
4. 切线
- 垂直于平面的法线并且与平面只有一个交点的直线称为切线。
5. 视图
- 摄像机拍摄到的画面称为视图。
6.裁剪
- 摄像机能拍摄到的区域由视椎体决定;
- 视椎体由六个平面包围而成;
- 图元与视椎体的位置关系及裁剪情况有三种:
- 图元完全位于视椎体内部,图元将会被保留;
- 图元完全位于视椎体外部,图元将会被剔除;
- 图元与视椎体边界相交,位于视椎体外部的图元部分会被剔除,其余部分会被保留。
这些常用术语在虚幻引擎官方文档中都有详细解释,这里只是按个人理解对这些术语做的记录和排序,术语的重要性无先后之分。