Unreal4 脚本编写基础-变量 0055bate1

脚本编写基础

介绍蓝图可视化脚本中的变量和执行流程。

蓝图为脚本语言提供了一种可视化的方法。就其本身而言,此系统与标准书面脚本语言有许多细微差别,例如数据类型化变量、数组、结构体等等。执行流的工作方式与在典型脚本语言中一样,但蓝图要求每个节点的显式线性执行。以下各页将更详细地介绍不同的变量类型、如何处理这些变量以及图表中节点的执行。

变量

变量可以采用各种不同的类型创建,包括布尔型、整数型和浮点型等数据类型。它们采用颜色编码,便于在您的蓝图中识别。蓝图变量还可以是用于保存对象、Actor和类等内容的引用类型。

蓝图变量

保存值或参考世界场景中的对象或Actor的属性。
Variables(变量) 是保存值或参考世界场景中的对象或Actor的属性。这些 属性可以由包含它们的 蓝图(Blueprint) 通过内部方式访问,也可以 通过外部方式访问,以便设计人员使用放置在关卡中的蓝图实例 来修改它们的值。

变量显示为包含变量名称的圆形框:

变量类型

变量能够以各种不同的类型创建,其中包括数据类型(例如布尔、整数和浮点),以及用于保存对象、Actor和特定类等对象的引用类型。 此外,您还可以创建每种变量类型的[阵列]。每种类型都采用颜色编码,以便于识别:


我的蓝图(My Blueprint)选项卡中的变量

我的蓝图(My Blueprint)选项卡允许将自定义变量添加到蓝图,并列出所有现有变量, 包括在[组件列表]中添加的组件实例变量, 或通过将值提升到图表中的变量而创建的变量。


创建变量

按照以下步骤操作即可实现在蓝图中创建变量。

创建蓝图并将其打开到 图表(Graph) 选项卡。

通过单击变量列表标头 myblueprint_variable.png 上的by clicking on the Add Button plus_Button.png 上的 添加按钮(Add Button) plus_Button.png ,从 我的蓝图(MyBlueprint) 窗口创建一个新变量。



3.一个新变量随即创建,同时提示您输入它的名称。输入变量的名称,然后进入 细节(Details) 面板以调整变量的属性。



4.在 细节(Details) 面板中,有几个设置可用于定义如何使用或访问变量。

若要为变量设置 默认值(Default Value),您必须先 编译(Compile) 蓝图。


还有一些序列化选项可以通过展开 细节(Details) 面板来定义。



在这里,您可以使用 临时(Transient) 选项设置变量是否序列化以及在加载时是否以零填充。您还可以使用 保存游戏(SaveGame) 选项为保存的游戏设置变量是否序列化。

公开变量

要在蓝图之外修改变量,需将其设为公开。



眼睛默认为闭合(私有);选择眼睛以将其打开并设为公开。也可选中或清除 可编辑实例(Instance Editable) 框,将变量设为私有或公开。

将变量设为公开后,可在主编辑器窗口的 细节(Details) 面板中修改变量的值。



上面,变量 光源颜色(LightColor) 已被设置为可编辑( Editable),我们现在可以在关卡编辑器的 细节(Details) 面板中设置此值。

变量提示文本

您还可以为变量添加 提示文本(Tooltip),当鼠标在编辑器中悬停于变量之上时,将显示此提示文本。
您可以从变量的 细节(Details) 面板中添加 提示文本(Tooltip)。当您执行此操作时,如果变量设置为 公开(Public),那么眼睛(Eye)图标将从黄色变为绿色,表示已为该变量编写提示文本。


生成时公开

生成时公开(Expose on Spawn) 允许您设置变量是否应在生成其所在的蓝图时可访问。



上面我们有一个名为 光源颜色(LightColor) 的变量,它是一个设置为 生成时公开(Expose on Spawn) 的线性颜色属性。该变量在点光源的蓝图中实现,点光源使用 设置光源颜色(Set LightColor) 节点和 光源颜色(LightColor) 变量来确定光源的颜色。

下面,在另一个蓝图中,使用一个脚本来生成点光蓝图,由于 光源颜色(LightColor) 变量设置为生成时公开(Expose on Spawn),所以 从类生成Actor(Spawn Actor from Class) 节点上提供了设置此值的选项,这使我们能够在游戏世界中生成光源时设置其颜色。

私有变量

通过在变量上选中 私有(Private) 选项,可以防止从外部蓝图修改变量。

例如,下面有一个未设置为私有的变量:

在另一个蓝图中,我们生成包含此变量的蓝图,然后关闭 返回值(Return Value),结果是我们可以访问此变量。

但如果我们将它设置为私有:

然后再次生成蓝图并尝试访问此变量,结果是我们无法访问。

向过场动画公开

若需要 Sequencer 或 Matinee 影响变量的值,选择 向过场动画公开(Expose to Cinematics)。

自4.23版本起,UE4不再支持Matinee,该功能近期将从引擎中移除。移除后,不可再运行Matinee或打开Matinee编辑器。
请使用Matinee到Sequencer转换工具尽快将所有文件转换成Sequencer。

提升为变量

您还可以使用 提升为变量(Promote to Variable) 创建变量。

右键单击蓝图节点上的任何输入或输出数据引脚,并选择 提升为变量(Promote to Variable) 选项。



通过在 新光源颜色(New Light Color) 引脚上单击右键并选择 提升为变量(Promote to Variable) 选项,我们可以将一个变量指定为 新光源颜色(New Light Color) 值。或者,您可以拖出一个输入或输出引脚,并选择 提升为变量(Promote to Variable)。

访问蓝图中的变量

在使用蓝图中的变量时,您会通过以下两种方式之一访问它们:通过使用 获取(Get) (被称为Getter)来获取变量的值,或使用 设置(Set) 节点(被称为Setter)来设置变量的值。



您可以通过在图表中单击右键并键入 Set (变量名) 或 Get (变量名),为变量创建一个 设置(Set) 节点(上面1)或 获取(Get) 节点(上面2)。另一种方法是按住 Ctrl 键并将变量从 我的蓝图(MyBlueprint) 窗口拖动变量来创建一个 获取(Get) 节点,或者按住 Alt 键并从 我的蓝图(MyBlueprint) 窗口中拖动变量来创建一个 设置(Set) 节点。

编辑变量

您可以在执行之前将变量值设置为蓝图节点网络的一部分或默认值。若要设置变量默认值:
1.单击蓝图编辑器工具栏上的 类默认(Class Defaults),以在 细节(Details) 面板中打开默认设置(Defaults)。

2.在 细节(Details) 面板中,从变量名称右侧输入所需的默认值。


上面我们突出显示了颜色(Color)变量,我们可以在其中设置其默认颜色。

如果您没有看到变量在默认中列出,请确保单击了 编译(Compile) 按钮。

重命名变量

若要重命名变量:
1.在 我的蓝图(My Blueprint) 选项卡中右键单击变量名称,然后在出现的菜单中选择 重命名(Rename)。


2.在文本框中键入新的变量名称,然后按 Enter。


变量属性

您可以在 细节(Details) 面板中为变量设置所有属性。有些变量可能具有比此处所示更多的属性,例如,对于矢量,有 公开到过场动画(Expose to Cinematics),对于整数或浮点数等数字变量,有 滑块范围(Slider Range)。


变量高级属性

获取和设置变量值

您还可以通过获取(Get)和设置(Set)节点的方式将变量作为蓝图网络的一部分进行编辑。最简单的创建方法是将变量直接从变量(Variables)选项卡拖至事件图表(Event Graph)中。一个小菜单随即出现,询问您是否要创建获取(Get)或设置(Set)节点。


获取(Get)节点

获取(Get)节点提供具有变量值的网络部分。完成创建后,您可以将这些节点插入任何具有适当类型的节点。

设置(Set)节点

设置(Set)节点允许更改变量的值。请注意,这些节点必须由执行线调用才能执行。


你可能感兴趣的:(Unreal4 脚本编写基础-变量 0055bate1)