Is Empty在虚幻引擎5(UE5)中并非一个单一的节点,而是一系列用于检查不同类型容器(如数组、集合、映射等)是否为空的“节点族”。
简单来说,它的核心功能就是判断一个容器里有没有元素,并返回一个布尔值(True或False)。
🎯 核心应用场景与节点
Is Empty节点主要用于以下三种容器类型,每种都有对应的节点:
-
数组 (Array):用于检查一个数组是否不包含任何元素。
-
节点名称:
Is Empty -
所属库:
Array Library
-
-
集合 (Set):用于检查一个集合是否为空。
-
节点名称:
Is Empty -
所属库:
Set Library
-
-
映射 (Map):用于检查一个映射(键值对集合)是否不包含任何条目。
-
节点名称:
Is Empty -
所属库:
Map Library
-
📝 完整操作步骤与案例
下面将以检查背包数组是否为空为例,展示完整操作流程。
第一步:创建变量
-
在蓝图的“我的蓝图”面板中,点击 + 按钮新建变量。
-
将其命名为
InventoryArray。 -
在“细节”面板中,将其变量类型设置为 Array,并选择你物品的类型(例如
Actor或自定义结构体)。
第二步:添加并连接节点
-
在事件图表中,从
InventoryArray变量拖出引线,在弹出菜单中搜索并选择Is Empty节点。 -
这个节点会有一个
Target Array输入引脚,并自动连接好。 -
该节点会输出一个布尔值(
Return Value),表示数组是否为空。
第三步:构建逻辑
Is Empty 节点本身只是一个检查工具,通常需要配合分支 (Branch) 节点来使用,以执行不同的逻辑。
-
案例:根据背包状态显示提示
-
在
Is Empty节点后连接一个Branch(分支)节点。 -
将
Is Empty的Return Value连接到Branch的Condition(条件)输入。 -
当背包为空时 (
Is Empty返回 True):从Branch的 True 执行引脚引出,连接一个Print String节点,输出”背包为空”。 -
当背包不为空时 (
Is Empty返回 False):从Branch的 False 执行引脚引出,连接另一个Print String节点,输出”背包中有物品”。
-
第四步:触发测试
你需要一个事件来触发这个检查逻辑,比如游戏开始时:
-
从
Event BeginPlay节点引出一条线。 -
将其连接到
Is Empty节点的执行流上。 -
点击编译,然后运行游戏,即可在屏幕左上角看到相应的输出信息。
⚠️ 常见误区:Is Empty vs Is Valid
有一个非常常见的误区,是把 Is Empty 和 Is Valid 节点搞混。
-
Is Empty:检查的是容器本身(数组、集合、映射)里面有没有“东西”。它不管容器这个“书包”是不是存在。 -
Is Valid:检查的是单个对象引用是否指向一个真实存在、且未被销毁的对象。它检查的是“书包里的某本书”是不是真实存在的。
简单来说,一个是检查“书包是空的吗?”,另一个是检查“这本书是真的吗?”。在编程时,要根据你的具体需求来选择正确的节点。
感谢您的来访,获取更多精彩文章请收藏本站。







暂无评论内容