虚幻引擎 Is Empty 节点

Is Empty在虚幻引擎5(UE5)中并非一个单一的节点,而是一系列用于检查不同类型容器(如数组、集合、映射等)是否为空的“节点族”

简单来说,它的核心功能就是判断一个容器里有没有元素,并返回一个布尔值(True或False)

🎯 核心应用场景与节点

Is Empty节点主要用于以下三种容器类型,每种都有对应的节点:

  • 数组 (Array):用于检查一个数组是否不包含任何元素

    • 节点名称:Is Empty

    • 所属库:Array Library

  • 集合 (Set):用于检查一个集合是否为空

    • 节点名称:Is Empty

    • 所属库:Set Library

  • 映射 (Map):用于检查一个映射(键值对集合)是否不包含任何条目

    • 节点名称:Is Empty

    • 所属库:Map Library

📝 完整操作步骤与案例

下面将以检查背包数组是否为空为例,展示完整操作流程。

第一步:创建变量

  1. 在蓝图的“我的蓝图”面板中,点击 + 按钮新建变量

  2. 将其命名为 InventoryArray

  3. 在“细节”面板中,将其变量类型设置为 Array,并选择你物品的类型(例如 Actor 或自定义结构体)。

第二步:添加并连接节点

  1. 事件图表中,从 InventoryArray 变量拖出引线,在弹出菜单中搜索并选择 Is Empty 节点

  2. 这个节点会有一个 Target Array 输入引脚,并自动连接好

  3. 该节点会输出一个布尔值Return Value,表示数组是否为空。

第三步:构建逻辑

Is Empty 节点本身只是一个检查工具,通常需要配合分支 (Branch) 节点来使用,以执行不同的逻辑。

  • 案例:根据背包状态显示提示

    1. 在 Is Empty 节点后连接一个 Branch (分支)节点。

    2. 将 Is Empty 的 Return Value 连接到 Branch 的 Condition (条件)输入。

    3. 当背包为空时 (Is Empty 返回 True):从 Branch 的 True 执行引脚引出,连接一个 Print String 节点,输出”背包为空”。

    4. 当背包不为空时 (Is Empty 返回 False):从 Branch 的 False 执行引脚引出,连接另一个 Print String 节点,输出”背包中有物品”。

第四步:触发测试

你需要一个事件来触发这个检查逻辑,比如游戏开始时:

  1. 从 Event BeginPlay 节点引出一条线。

  2. 将其连接到 Is Empty 节点的执行流上。

  3. 点击编译,然后运行游戏,即可在屏幕左上角看到相应的输出信息。

⚠️ 常见误区:Is Empty vs Is Valid

有一个非常常见的误区,是把 Is Empty 和 Is Valid 节点搞混。

  • Is Empty:检查的是容器本身(数组、集合、映射)里面有没有“东西”。它不管容器这个“书包”是不是存在

  • Is Valid:检查的是单个对象引用是否指向一个真实存在、且未被销毁的对象。它检查的是“书包里的某本书”是不是真实存在的

简单来说,一个是检查“书包是空的吗?”,另一个是检查“这本书是真的吗?”。在编程时,要根据你的具体需求来选择正确的节点。

感谢您的来访,获取更多精彩文章请收藏本站。

THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容