美文网首页
Unreal4使用数组0015bate1

Unreal4使用数组0015bate1

作者: 深呼吸10911 | 来源:发表于2021-06-03 12:57 被阅读0次

使用数组

展示使用数组保存变量集合的各种方法。

如您不熟悉编程术语,理解 数组 的最佳方式是将其看作包含在单一实体中的一批同类型变量。举例而言,如要创建一个 Float 数组,该数组只能包含 Float 变量。创建数组后,可在数组中访问个体变量并对其进行修改,或在数组中一次性修改所有物品(在处理重复性工作时可极大提高工作效率)。
在本页中,您将学习如何在蓝图中创建数组变量,以及如何使用 Make Array 节点创建数组。理解如何创建数组后,可在 范例数组使用 章节查看使用数组的范例。

数组变量

可通过下列步骤创建数组变量。

1.在蓝图中点击 Add Variable 按钮,为变量命名并设置变量类型。


在上图中创建了一个名为 TextArray 的 文本 变量。

2.在变量的 Details 面板中,点击 Variable Type 旁的 数组 网格按钮。



此操作将把变量转换为数组。

3.点击 Compile 按钮,然后在 Default Value 下点击垃圾筐图标旁的 + 符号,为数组添加内容。



4.可添加任意数量的元素到数组,并在索引中指派其数值。

在上例中我们创建了一个文字数组,首个输入设为 Hello!,第二输入 GoodBye!,第三输入设为 ...。该例可用于用 NPC,基于设置的各种条件以不同文本回应玩家。

如上图所示,数组使用 从零开始 的索引值,意味着首个索引为 0 而非 1。填充数组时请牢记这点。在通过索引值访问数组中的内容时,如需从第一个开始访问,需要输入的索引值为 0 而非 1。如需访问第二个,则需输入索引值 1,以此类推。

创建数组

创建数组变量时,通过变量的默认值设置定义出现在数组中的内容。存在数组动态填充的情况,举例而言,使用关卡中存在的 Actors 填充数组。在这种情况下,可使用 Make Array 节点以一系列内容创建一个数组,无需创建数组变量并指派默认值。

举例而言,关卡中需要摄像机 Actors 数组,使其在每个 Actor 间循环。

以下步骤说明如何使用 Make Array 节点。

1.在关卡中放置数个 Actors (在本例中为 CameraActors)后,将它们全部选中并在 Level Blueprint 中打开。
2.在图表中 单击右键 并选择 Add Reference to Selected Actors 选项。
3.为数组所含的 Actors 添加引用后,在图表中 单击右键 并添加 Make Array 节点。


4.在 Make Array 节点上,点击 + 符号添加每个 Actor 出现在数组中所需的引脚数量。



5.拖动一个 Actor 并将它和 Make Array 节点上的 0 (或任意其他引脚)连接起来。


此操作将把数组换转为所选 Actor 的数组类型(Error 报错提示将在编译后消失)。
6.将其他 Actors 和 Make Array 节点上其余的引脚连接起来。

7.拖动 Array 引脚,搜索并添加 Get 节点。

Get 节点上框中的值是从 Make Array 节点访问(Get 节点)的 索引(数组元素)。
它也可能是下图中名为 Get Camera 的 整数 变量。



利用一些脚本形态,可将 Get Camera 设为 整数值,有效地改变 Get 节点中选择的 Camera Actor。下图中的设置可用于在关卡中放置的摄像机 Actors 之间产生循环。

范例数组使用

在本例中,我们将使用数组在关卡中的随机位置生成随机蓝图效果。

在此实例中,我们使用的是启用了 新手内容 的 Blueprint Third Person 模板 项目。

1.在项目中,找到 放置Actor(Place Actors) 面板的 所有类(All Classes) 选项卡,将 5 个 Target Points 拖入关卡。


它们将用作效果的生成位置。

2.在 World Outliner 中,搜索 Target,然后按住 Shift 选择全部目标点。



3.在主工具栏上,点击 Blueprints 按钮,然后点击 Open Level Blueprint。

4.在图表中 单击右键 并选择 Create References to 5 selected Actors 选项。


此操作将为关卡中所有目标点创建引用,以便进行访问。

5.再次在图表中 单击右键,搜索并添加 Make Array 节点。



6.在 Make Array 节点上点击四次 + 符号,将引脚添加至节点,然后连接目标点。



7.在图表中 单击右键 并添加 F 按键事件,关闭 Pressed 引脚,添加一个 Spawn Actor from Class 节点。

8.在 MyBlueprint 窗口中,创建一个 Actor 类类型的新变量。



9.将变量命名为 ActorClassArray,点击 数组 网格图标,将变量转换为数组。
10.点击 Compile,然后在 Default Value 部分添加 3 个 Actors(使用的是火焰、爆炸和火花效果)。

11.按住 Control 键拖入 ActorClassArray 变量,然后拖动它并创建一个 Get 节点。
12.关闭 Index 引脚,搜索并添加 Random Integer in Range 节点。

13.将 Max 值设为 2,然后将 Get 引脚和 Spawn Actor 节点上的 Class 引脚连接起来。
因为索引值从 0 开始,所以将 Max 值设为 2,便可获得每个 Actors。

14.拖动 Make Array 节点的输出引脚并添加一个 Get 节点。

15.关闭 Index 引脚,再次添加 Random Integer in Range 节点并将 Max 值设为 4。

16.关闭 Get 引脚,搜索并添加 Get Actor Transform 节点。



17.将 Return Value 从 Spawn Actor 节点上的 Get Actor Transform 引脚连至 Spawn Transform 引脚。

18.点击 Compile 和 Save 按钮,完成后的图表外观如下。


关闭蓝图,然后点击 Play 按钮在编辑器中开始游戏。

在编辑器中进行游戏时,每次按下 F 键,一个随机蓝图(从添加至数组中的蓝图中随机选择)将被选中并在一个位置随机生成(从数组的目标点中随机选择)。除利用 F 按键事件生成物品和效果外,还可使用相同逻辑为回复品或弹药随机生成出现地点,甚至掠夺玩家拥有的物品。

相关文章

  • Unreal4使用数组0015bate1

    使用数组 展示使用数组保存变量集合的各种方法。 如您不熟悉编程术语,理解 数组 的最佳方式是将其看作包含在单一实体...

  • 虚幻引擎4-UE4 入门之图文教程集合

    [unreal4入门系列之一] Unreal4引擎是什么 [unreal4入门系列之二] 下载和安装虚幻4游戏引擎...

  • Swift中的数组

    使用 let 定义 不可变数组.使用 var 定义 可变数组.数组使用 [ ] 来表示.Swift中 数组可以直...

  • Swift基础-03(数组和字典)

    1.Swift中数组基本使用 数组的基本使用 `` 数组的遍历 数组的增删改 数组容量,这个在OC中我们经常使用在...

  • UE4 渲染模块

    unreal4 渲染引擎的渲染模块,主要是由Scene. 材质系统,Shader,以及 各个平台的渲染API组成。

  • JavaScript易混点

    数组与对象 数组 JavaScript数组就是对象,每个数组都有一个length属性。 区别与使用 数组使用整数作...

  • TS学习笔记(4)-数组

    数组的使用 ========= 知识点 数组的定义方法 数组的使用方法 代码

  • Golang常用数据结构

    数组 声明数组 数组同样使用倒置的方式来声明,并且声明数组的时候需要指定数组长度。所以声明数组需要使用[数组长度]...

  • js数组方法全面总结

    创建数组 使用Array构造函数 使用数组字面量表示法 数组属性 length表示数组的长度 length属性并不...

  • js数组方法大全

    javascript 中创建数组有两种方式 使用 Array 构造函数: 使用数组字面量表示法: 数组的方法 数组...

网友评论

      本文标题:Unreal4使用数组0015bate1

      本文链接:https://www.haomeiwen.com/subject/jxhvsltx.html