虚幻引擎 Length 节点

在虚幻引擎5(UE5)中,Length 节点并非特指某一个节点,而是一类用于获取 各种数据类型的“长度”或“大小” 的节点统称。根据使用场景的不同,它主要分为以下几类:

  • 向量长度(Vector Length) :计算一个向量的模长(从原点指向该点的距离)

  • 字符串长度(String Length) :获取字符串中包含的字符数量

  • 数组/集合/映射长度(Array/Set/Map Length) :获取容器中元素的个数

下面将针对这几种主要用法,提供具体的操作步骤和完整案例。


1. 计算向量长度(Vector Length)

这是 Length 最核心的数学应用,用于计算三维空间向量 (X, Y, Z) 的模长。在蓝图中,它通常被称为 VectorLength 节点

  • 数学原理Length = sqrt(X² + Y² + Z²)

  • 典型应用:获取角色移动速度、计算两点间距离、判断物体远近等

操作步骤与案例:计算角色移动速度

  1. 打开角色蓝图:在内容浏览器中,找到你的角色蓝图(如 BP_Player)并双击打开。

  2. 进入事件图表:在蓝图编辑器中,点击“事件图表(Event Graph)”标签。

  3. 添加“获取速度”节点:在图表中 右键,搜索并添加 Get Velocity 节点。该节点会输出一个 Vector 类型的值,代表角色当前的运动方向与速率。

  4. 添加“向量长度”节点:再次 右键,搜索并添加 VectorLength 节点

  5. 连接节点:将 Get Velocity 节点的 输出引脚(Return Value) 连接到 VectorLength 节点的 输入引脚(V)

  6. 获取结果VectorLength 节点的 输出引脚(Length / Return Value) 就是角色的当前速度值(标量,浮点数)。你可以将这个值用于移动动画的混合、UI显示等。

小提示:在动画蓝图(Animation Blueprint)中,也常用此方法获取速度,以控制 idle/walk/run 等动画状态的切换


2. 获取字符串长度(String Length)

用于统计一个字符串(Text 或 String 类型)中包含的字符个数

  • 典型应用:验证玩家输入的密码长度是否合规,或限制角色名字的字符数。

操作步骤与案例:验证玩家名长度

  1. 创建字符串变量:在蓝图中创建一个 String 类型的变量,命名为 PlayerName,并赋予一个初始值,如 "Alice"

  2. 添加“Len”节点:在事件图表中 右键,搜索并添加 Len 节点。注意,有的版本中该节点名为 Get String Length

  3. 连接变量:将 PlayerName 变量拖入图表,将其 输出引脚 连接到 Len 节点的 输入引脚(String)

  4. 获取结果Len 节点的 输出引脚(Return Value / Length) 即为字符串长度。对于 "Alice",输出值为 5

  5. 配合分支判断:你可以将输出值连接到一个 Branch(分支)节点,判断长度是否大于等于 3 且小于等于 12,以此来决定是否允许玩家确认名字。


3. 获取数组长度(Array Length)

用于获取一个数组(Array)中当前存储的元素个数

  • 典型应用:遍历数组前的循环次数控制,或检查背包是否已满。

操作步骤与案例:遍历数组中的所有元素

  1. 创建数组变量:在蓝图中创建一个 Integer 类型的数组变量,命名为 ScoreList,并添加几个整数,如 [10, 20, 30]

  2. 添加“Length”节点:在事件图表中 右键,搜索并添加 Length 节点

  3. 连接数组:将 ScoreList 变量拖入图表,将其 输出引脚 连接到 Length 节点的 输入引脚

  4. 获取结果Length 节点的 输出引脚(Return Value) 即为数组元素个数,此处为 3

  5. 用于循环:将这个输出值连接到 For Loop 节点的 Last Index 输入引脚(注意需减1,因为索引从0开始),即可控制循环精确遍历数组的每一个元素。

注意Length 节点同样适用于 集合(Set) 和 映射(Map),用于获取其元素数量


4. 其他 Length 相关节点

除了以上三种,UE5中还有一些功能类似但用途特定的节点:

节点名称 用途 备注
Get Timeline Length 获取时间轴(Timeline)的总播放时长 常用于控制时间轴的循环或进度显示。
Get Length (Animation) 获取动画序列(Animation Sequence)的总时长 在动画蓝图或C++中用于控制动画播放。
Get Spline Length 获取样条线(Spline)组件的总长度 用于沿路径移动物体或放置装饰物。

总结

在UE5中使用 Length 相关节点的核心步骤可以归纳为:

  1. 明确数据类型:确定你要操作的是 向量(Vector)字符串(String),还是 数组(Array)/集合(Set)/映射(Map)

  2. 搜索对应节点:在蓝图图表中右键搜索 LengthVectorLength 或 Len

  3. 连接数据源:将你的变量或获取到的数据连接到节点的输入引脚。

  4. 使用输出结果:节点的输出即为你需要的“长度”值,可以用于数学运算、逻辑判断或流程控制。

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

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

昵称

取消
昵称表情代码图片

    暂无评论内容