虚幻引擎 4 术语

介绍了应用虚幻引擎4时用到的常用术语。

Windows
MacOS
Linux

本页面的目的是介绍当应用 虚幻引擎 4 时遇到的常用术语。比如,如果您发现自己会问像 "什么是 Actor"、"什么是 组件"、"什么是 Pawn"这样的问题,那么本页面便突出介绍了并提供了关于这些类型问题的描述。一旦您理解了每个术语的意思,下面的链接提供了更多文档及如何使用它们的指南。

NewProject.png

Project 项目

项目(Project) 是一个自成体系的单元,保存着构成游戏所需的所有内容和代码,并且这些数据会以相同的目录结构保存在你的电脑硬盘上。例如,在下图中,内容浏览器(Content Browser) 的层级结构树和项目在硬盘上的目录结构完全一样。

点击查看大图。

尽管一个项目会经常被与其关联的 .uproject 文件所引用,但它们是两个互相并存的独立文件。.uproject 是一个用于创建、打开或保存文件的参考文件,而项目则包含与其关联的所有文件和文件夹。

你可以创建任意数量的不同项目,所有这些项目都可以并行维护和开发。引擎(和编辑器)可以在它们之间前轻松切换,从而允许你同时处理多个游戏,或在主开发项目之外还拥有多个测试项目。

要了解更多信息,请参阅: 使用虚幻项目

objects_topic.png

Object 对象

在虚幻引擎中,最基础的构建单元叫做 Object,它包含了很多游戏资产必需的 "幕后" 功能。虚幻引擎4中几乎所有第项都是继承自Object(或从中获取部分功能)。在C++中,UObject 是所有Object的基类,包含各类功能,诸如垃圾回收、通过元数据(UProperty)将变量公开给编辑器,以及保存和加载时的序列化功能。

要了解更多信息,请参阅: 虚幻项目和游戏性 , 游戏逻辑编程

Both_topic.png

Class 类

类(Class) 用于定义特定Actor或对象(用于创建虚幻引擎游戏)的行为和属性。类具有继承性,这意味着某个类可以从其父类(衍生或派生出该类的类)获得信息,然后再将信息传递给子类。类可用C++代码或蓝图创建。

要了解更多信息,请参阅: 蓝图类 , 游戏性类 , 类创建基础知识

actors_topic.png

Actors

可放入关卡中的对象都是 Actor。Actor是一种支持三维变换(如平移、旋转和缩放)的泛型类。你可以通过游戏逻辑代码(C++或蓝图)创建(生成)及销毁Actor。在C++中,AActor是所有Actor的基类。

Actor有很多种类型,比如:StaticMeshActor、CameraActor和PlayerStartActor。

要了解更多信息,请参阅: Actor和几何体

components_topic.png

Component 组件

组件(Component) 是可添加到Actor上的一项功能。组件无法独立存在,将其添加到Actor后,该Actor便可以访问并使用该组件所提供的功能。

例如,聚光灯组件(Spot Light Component)允许你的Actor像聚光灯一样发光,旋转移动组件(Rotating Movement Component)能使你的Actor四处旋转,音频组件(Audio Component)将使你的Actor能够播放声音。

要了解更多信息,请参阅: 组件 , 组件窗口 , 代码中的组件

pawn_topic.png

Pawn 人形体

Pawn 是Actor的子类,它可以充当游戏中的化身或人物,例如游戏中的角色。Pawn可以由玩家控制,也可以由游戏AI控制并以非玩家角色(NPC)的形式存在于游戏中。

当Pawn被人类玩家或AI玩家控制时,它被视为 已被控制(Possessed)。相反,当Pawn未被人类玩家或AI玩家控制时,它被视为 未被支配(Unpossessed)

要了解更多信息,请参阅: Pawn , 支配 Pawn

character_topic.png

Character 角色

角色(Character) 是Pawn Actor的子类,旨在用作玩家角色。角色子类包括碰撞设置、双足运动的输入绑定,以及由玩家控制的运动附加代码。

要了解更多信息,请参阅: 角色 , 角色设置 , 指南 - 角色运动

ArtAssets.png

PlayerController 玩家控制器

玩家控制器(PlayerController) 类用于获取游戏中玩家的输入信息,然后将其转换为交互效果,每个游戏中至少有一个玩家控制器。玩家控制器通常会控制一个Pawn或角色,将其作为玩家在游戏中的化身。

玩家控制器还是多人游戏中的主要网络交互节点。在多人游戏中,服务器会为游戏中的每个玩家生成一个玩家控制器实例,因为它必须对每个玩家进行网络函数调用。每个客户端只拥有与其玩家相对应的玩家控制器,并且只能使用其玩家控制器与服务器通信。

要了解更多信息,请参阅: PlayerController(玩家控制器)

fullTree.png

AIController 人工智能控制器

玩家控制器通过控制Pawn来表示游戏中的玩家,与此类似,AI控制器 通过控制Pawn来表示游戏中的非玩家角色(NPC)。默认情况下,Pawn和角色最终都会由基本的AI控制器控制,除非它们被指定通过玩家控制器控制,或被告知不需要为它们自己创建AI控制器。

要了解更多信息,请参阅: AIController

geometry_brush.png

Brush 画刷

笔刷(Brush) 是一种Actor,用于描述放置在关卡中的三维体积,以便对关卡几何体(称为BSP)和游戏体积进行定义。通常你可以用BSP笔刷制作游戏原型或搭建场景,以便测试游戏玩法。

另一方面,根据施加在它们上的效果,体积可以有多种用途,例如:阻塞体积(Blocking Volume)(它们是不可见的,用于阻止Actor穿过它们)、伤害产生体积(Pain Causing Volume)(随着时间的推移,会对与其重叠的Actor造成伤害)或触发器体积(Trigger Volume)(用作在Actor进入或退出它们时触发事件)。

要了解更多信息,请参阅: 几何体笔刷Actor , 几何体编辑范例

levels_topic.png

Level 关卡

关卡(Level) 是用户定义的游戏区域。我们主要通过放置、变换Actor以及编辑Actor的属性来创建、查看并修改关卡的内容和效果。在虚幻编辑器中,每个关卡都被保存为单独的.umap文件,所以它们有时也被称为"地图"。

关于更多信息,请参阅: 关卡 , 关卡编辑器 , 关卡设计内容示例

![](Basics/Levelstreaming/WorldBrowser/LevelsWindow.png)(w:300)

World 世界

世界场景(World) 包含一组载入的关卡。它可以处理关卡流送,还能生成(创建)动态Actor。

与世界场景直接交互并无必要,但这样能在游戏框架中提供一个特定的参照点(注:所谓直接与世界场景交互,就是指你不是在谈论关卡、地图或游戏)。

要了解更多信息,请参阅:

[](Basics/Levelstreaming/WorldBrowser)

gamemode_lander.png

GameMode 游戏模式

游戏模式(GameMode) 类负责设置当前游戏的规则。规则可包括玩家如何加入游戏、是否可暂停游戏、关卡过渡,以及任何与游戏相关的行为(例如获胜条件)。

你可以在 项目设置(Project Settings) 中设置默认的游戏模式,也可以在各个关卡中单独覆盖这些设置。无论你选择如何实现游戏模式,每个关卡始终只有一个游戏模式。在多人游戏中,游戏模式只存在于服务器上,规则将被复制(发送)网络中的所有客户端上。

关于更多信息,请参阅: GameMode , 在蓝图中设置游戏模式

gamestate_topic.png

GameState 游戏状态

游戏状态(GameState) 包含要复制到游戏中的每个客户端的信息,简而言之,它表示每个联网玩家的"游戏状态"。

它通常包含很多信息,例如游戏分数、比赛是否已开始、根据场景玩家人数需要多少AI,以及其他游戏相关信息。

如果是多人游戏,则每个玩家的电脑上都有一个游戏状态实例,而服务器的实例为权威实例(即客户端的信息更新来源)。

关于更多信息,请参阅: GameState

playerstate_topic.png

PlayerState 玩家状态

玩家状态(PlayerState) 表示某个游戏参与者的状态,可以是人类玩家,也可以是模拟玩家的机器人。作为游戏场景的一部分而存在的非玩家类AI不会有玩家状态。

玩家状态中的数据可以是:玩家姓名或得分、当前等级或生命值,或当前是否在抢旗游戏中携带旗帜。

在多人游戏中,所有电脑都保存着所有玩家的玩家状态(这点与玩家控制器不同),并且玩家状态可以将数据从服务器复制到客户端以保持同步。

关于更多信息,请参阅: Gameplay框架快速参考

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback