UE4 蓝图编程学习之路2----常规脚本编写之蓝图变量

脚本编写基础

蓝图变量

Variables(变量) 是保存值或参考世界场景中的对象或Actor的属性。

这些 属性可以由包含它们的 蓝图(Blueprint) 通过内部方式访问,也可以 通过外部方式访问,以便设计人员使用放置在关卡中的蓝图实例 来修改它们的值。

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

Variable Nodes

变量类型

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

 

变量类型

颜色

范例

表示

布尔(Boolean)

栗色

RedWire.png

true或false值(bool)。

字节(Byte)

夏尔巴蓝色

get-byte-variable-icon.png

0与255之间的整数值(unsigned char)。

整数(Integer)

海绿色

CyanWire.png

−2,147,483,648与2,147,483,647之间的整数值(int)。

64位整数(Integer64)

苔绿色

get-integer64-variable-icon.png

−9,223,372,036,854,775,808与9,223,372,036,854,775,807之间的整数值(long)。

浮点(Float)

黄绿色

GreenWire.png

例如0.0553、101.2887、-78.322等带小数的数值(float)。

命名(Name)

淡紫色

get-name-variable-icon.png

用于在游戏中识别事物的一段文本。

字符串(String)

洋红色

MagentaWire.png

例如 Hello World 之类的一组字母数字字符(string)。

文本(Text)

粉色

PinkWire.png

向用户显示的文本。针对要本地化的文本使用此类型。

矢量(Vector)

金色

GoldWire.png

三个数字组成的集(X、Y、Z)。此类型对3D坐标和RGB颜色数据很有用。

旋转体(Rotator)

菊蓝色

PurpleWire.png

定义3D空间中旋转的一组数字。

变形(Transform)

橙色

OrangeWire.png

结合平移(3D位置)、旋转和缩放的数据集。

对象(Object)

蓝色

BlueWire.png

如光源、Actor、静态网格体、摄像机和SoundCue等蓝图对象。

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

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

My BLueprint Pane

创建变量

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

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

  2. 通过单击变量列表标头 

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

     

    MyBlueprintPane_createVar.png
  3. 一个新变量随即创建,同时提示您输入它的名称。

     

    HT5.png

    输入变量的名称,然后进入 细节(Details) 面板以调整变量的属性。

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

     

    HT6.png

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

 

选项

描述

变量名称(Variable Name)

变量的命名。

变量类型(Variable Type)

通过下拉菜单设置变量类型,并决定变量是否为阵列 。

可编辑实例(Instance Editable)

变量在蓝图的实例上是否可公开编辑。

只读蓝图(Blueprint Read Only)

蓝图节点能否设置此变量;或此变量为只读时能否设置。

提示文本(Tooltip)

有关此变量的额外信息,光标悬停在此变量上时显示。

显示3D控件(Show 3D Widget)

为true时,用户可通过视口中的3D变换控件调整向量变量。此选项将应用于向量和变换类型,仅在选中 可编辑实例(Instance Editable) 后启用。

生成时公开(Expose on Spawn)

生成蓝图时是否将变量公开为引脚。

私有(Private)

变量是否为私有(派生蓝图无法进行修改)。

向过场动画公开(Expose to Cinematics)

是否应将变量是否应向 Sequencer 或 Matinee 公开以修改变量。

配置变量(Config Variable)

允许使用配置文件设置变量。

类别(Category)

允许通过给定标签对变量进行分类。将按其标签排序变量。

复制(Replication)

此变量是否应通过网络进行复制

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

 

HT37.png

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

公开变量

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

 

HT21.png

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

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

 

HT23.png

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

变量提示文本

您还可以为变量添加 提示文本(Tooltip),当鼠标在编辑器中悬停于变量之上时,将显示此提示文本。

 

HT25.png

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

 

HT24.png

生成时公开

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

 

 

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

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

 

HT27.png

私有变量

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

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

 

HT42.png

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

 

HT43.png

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

 

HT41.png

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

 

HT44.png

提升为变量

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

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

 

HT38.png

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

 

HT40.png

或者,您可以拖出一个输入或输出引脚,并选择 提升为变量(Promote to Variable)

 

HT39.png

访问蓝图中的变量

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

 

HT45.png

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

 

 

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值