本页介绍使用虚幻引擎时最常用的术语。如果您发现自己想知道“什么是Actor?”或“什么是组件?”,此页面将回答您的问题等等。
了解术语后,请查看本节末尾链接的主题以了解更多信息。
本页使用一些编程概念,特别是类和子类。在 C++中,类是包含变量和行为并且可以扩展的代码模板。子类是从父类继承部分或全部代码和功能的类。
本页提到的所有C++类都是虚幻引擎特有的。
项目
虚幻引擎5项目包含游戏的所有内容。它包含磁盘上的许多文件夹,例如 和 。您可以根据需要在项目中命名和组织文件夹。虚幻编辑器中的“内容浏览器”面板显示的目录结构与磁盘文件夹中的目录结构相同。BlueprintsMaterialsProject
每个项目都有一个与之关联的文件。该文件是创建、打开或保存项目的方式。您可以创建任意数量的不同项目并并行处理它们。.uproject.uproject
有关更多信息,请参见项目和模板。
蓝图
蓝图可视化脚本系统是一个完整的游戏脚本系统,它使用基于节点的界面从虚幻编辑器中创建游戏元素。与许多常见的脚本语言一样,它用于在引擎中定义面向对象 (OO) 类或对象。使用虚幻引擎时,您经常会发现使用蓝图定义的对象俗称“蓝图”。
有关更多信息,请参阅 蓝图可视化脚本。
对象
对象是虚幻引擎中最基本的类——换句话说,它们就像构建块一样,包含许多资源的基本功能。虚幻引擎中的几乎所有内容都继承(或获取一些功能)来自对象。
在 C++ 中, 是所有对象的基类;它实现了垃圾回收、元数据 () 支持向虚幻编辑器公开变量以及用于加载和保存的序列化等功能。UObjectUProperty
有关详细信息,请参阅:
类
类定义虚幻引擎中特定Actor或对象的行为和属性。类是分层的,这意味着类从其父类(即派生或“子类化”的类)继承信息,并将该信息传递给其子级。可以在C++代码或蓝图中创建类。
有关详细信息,请参阅:
演员
Actor 是可以放置在关卡中的任何对象,例如摄像机、静态网格体或玩家开始位置。Actor 支持 3D 转换,如平移、旋转和缩放。它们可以通过游戏代码(C++或蓝图)创建(生成)和销毁。
在 C++ 中, 是所有 Actor 的基类。AActor
有关详细信息,请参阅:
-
[](制作互动体验/互动框架/虚幻引擎演员)
- 参与者和几何体
铸造
投射是一种操作,它采用特定类的Actor,并试图将其视为属于不同类的Actor。铸造可以成功,也可以失败。如果强制转换成功,则可以访问要强制转换到的 Actor 上的特定于类的功能。
例如,假设您正在制作一款游戏,其中您有多种类型的卷,这些卷可能会以不同的方式影响玩家角色。其中一个卷是Fire,它会随着时间的推移降低玩家的生命值。当玩家与关卡中的任何音量重叠时,您可以将该音量施放到“开火”以尝试访问其“损害玩家生命值”功能。
- 如果施法成功——也就是说,如果玩家站在火中——玩家的生命值就会开始下降。
- 如果施法失败——也就是说,如果玩家站在任何其他类型的体积中——他们的生命值不会受到影响。
强制转换不同于简单地检查 Actor 是否属于给定类,后者将返回二进制(是或否)答案,但不允许您与该类的任何特定功能进行交互。
有关详细信息,请参阅:
- 蓝图中的投射
元件
组件是可以添加到 Actor 中的一段功能。
将组件添加到执行组件时,该组件可以使用该组件提供的功能。例如:
- 聚光灯组件将使 Actor 像聚光灯一样发光。
- 旋转运动组件将使您的Actor旋转。
- 音频组件将使您的Actor能够播放声音。
组件必须附加到 Actor,并且不能单独存在。
有关详细信息,请参阅:
典当
典当是 Actor 的一个子类,用作游戏中的头像或角色(例如,游戏中的角色)。棋子可以由玩家或游戏的AI控制,作为非玩家角色(NPC)。
当一个棋子被人类或AI玩家控制时,它被认为是被附身的。相反,当棋子不受人类或AI玩家控制时,它被认为是未占有的。
有关详细信息,请参阅:
字符
角色是典当演员的子类,旨在用作玩家角色。Character 子类包括碰撞设置、用于双足移动的输入绑定以及用于玩家控制移动的附加代码。
有关详细信息,请参阅:
播放器控制器
玩家控制器接收玩家输入并将其转换为游戏中的交互。每个游戏中至少有一个玩家控制器。玩家控制器通常拥有一个棋子或角色作为玩家在游戏中的表示。
玩家控制器也是多人游戏的主要网络交互点。在多人游戏期间,服务器为游戏中的每个玩家都有一个玩家控制器实例,因为它必须能够对每个玩家进行网络函数调用。每个客户端只有与其播放器对应的播放器控制器,并且只能使用其播放器控制器与服务器通信。
关联的C++类是 。PlayerController
有关详细信息,请参阅播放器控制器。
人工智能控制器
正如玩家控制器拥有一个棋子作为游戏中玩家的表示一样,AI控制器拥有一个棋子来表示游戏中的非玩家角色(NPC)。默认情况下,典当和角色最终将获得一个基本的AI控制器,除非它们被玩家控制器特别拥有或被告知不要为自己创建AI控制器。
关联的C++类是 。AIController
有关详细信息,请参阅 AI 控制器。
玩家状态
玩家状态是游戏中参与者的状态,例如模拟玩家的人类玩家或机器人。作为游戏世界一部分存在的非玩家 AI 没有玩家状态。
播放机状态可以包含的玩家信息的一些示例包括:
- 名字
- 当前级别
- 健康
- 得分
- 他们当前是否在“夺旗”游戏中携带旗帜。
对于多人游戏,所有玩家的玩家状态都存在于所有计算机上,并且可以将数据从服务器复制到客户端以保持同步。这与播放器控制器不同,后者仅存在于它所代表的播放器的计算机上。
关联的C++类是 。PlayerState
有关详细信息,请参阅游戏框架快速参考。
游戏模式
游戏模式设置正在玩的游戏规则。这些规则可以包括:
- 玩家如何加入游戏。
- 游戏是否可以暂停。
- 任何特定于游戏的行为,例如获胜条件。
您可以在“项目设置”中设置默认的游戏模式,并在不同的关卡中覆盖它。无论您选择如何实现它,每个级别都只能有一个游戏模式。
在多人游戏中,游戏模式仅存在于服务器上,规则被复制(发送)到每个连接的客户端。
关联的C++类是 。GameMode
有关详细信息,请参阅:
游戏状态
游戏状态是一个容器,其中包含要复制到游戏中的每个客户端的信息。简单来说,它是“游戏状态”,适用于每个连接的人。
游戏状态可以包含的内容的一些示例包括:
- 有关游戏分数的信息。
- 比赛是否已经开始。
- 根据世界上的玩家数量生成多少个AI角色。
对于多人游戏,每个玩家的计算机上都有一个游戏状态的本地实例。本地游戏状态实例从服务器的游戏状态实例获取其更新的信息。
关联的C++类是 。GameState
有关详细信息,请参阅游戏模式和游戏状态。
刷
画笔是描述 3D 形状(如立方体或球体)的 Actor。您可以在关卡中放置画笔以定义关卡几何图形(这些画笔称为二进制空间分区或 BSP 画笔)。例如,如果您想快速屏蔽某个关卡,这将非常有用。
有关详细信息,请参阅:
卷
体积是有界的 3D 空间,根据附加到它们的效果具有不同的用途。例如:
- 阻塞卷是不可见的,用于防止Actor通过它们。
- 导致体积的痛苦会随着时间的推移对任何与它们重叠的Actor造成损害。
- 触发卷被编程为在Actor进入或退出事件时引起事件。
有关更多信息,请参见Actor 参考。
水平
关卡是您定义的游戏区域。关卡包含玩家可以看到并与之交互的所有内容,例如几何体、棋子和 Actor。
虚幻引擎将每个关卡保存为一个单独的文件,这就是为什么你有时会看到它们被称为地图的原因。.umap
有关详细信息,请参阅:
世界
世界是组成游戏的所有关卡的容器。它处理关卡的流式处理和动态Actor的生成(创建)。
有关详细信息,请参阅:


