虚幻引擎 Round 节点

Round节点是你需要将小数转换为整数时的得力工具,它最基本也最重要的作用,就是将输入的数值按照“四舍五入”的规则取整。

🔧 Round节点核心功能速览

  • 函数Round (A)

  • 输入 (A):一个浮点数,可以是单个数字(如 1.4)或矢量中的某个分量。

  • 输出:一个整数,是根据标准四舍五入规则处理后的结果(例如,1.4 → 11.9 → 2-5.3 → -5

  • 运算规则.5及以上的小数向上取整,.5以下则向下取整

简单来说,可以把Round节点理解成一个智能的“取整器”,它让数字的处理变得更加规整。

💡 补充说明
根据官方文档,与常见的四舍五入规则不同的是,Round节点在处理负数时,会将 -1.6 四舍五入为 -2 而非 -1

🧭 如何在蓝图中使用Round节点

在蓝图里使用Round节点很直接,下面是在 关卡蓝图 里做一个简单测试的步骤:

  1. 打开蓝图:在虚幻编辑器中,点击主菜单的 蓝图 (Blueprints) -> 打开关卡蓝图 (Open Level Blueprint)

  2. 创建节点:在蓝图图表中右键单击,在搜索框输入 Round。从下拉菜单里选中 Round (Float to Integer)

  3. 输入数值:按住 数字键 1 并左键点击图表,创建一个 Make Literal Float 节点,将它的值设为 3.6

  4. 连接节点:把 Make Literal Float 的输出引脚,连到 Round 节点的输入引脚 A 上。

  5. 输出数值:按住 数字键 2 并左键点击图表,创建一个 Print String 节点。用 > 把 Print String 的执行线连到合适的事件(如BeginPlay),并把 Round 节点的输出引脚连接到 Print String 的输入 In String。这样,四舍五入的结果 4 就会显示在屏幕上

📝 实际应用案例

Round节点的实用性很强,下面为你准备了三个典型的应用场景。

案例一:材质中生成”硬边缘”遮罩

利用Round节点可以把材质中原本平滑的渐变,处理成锐利的黑白边缘

  • 任务:将一张平滑渐变的纹理,变成一个黑白分明的”硬边”遮罩

  • 步骤

    1. 材质编辑器中,把你想要处理的纹理/渐变值连接到 Round 节点的输入。

    2. 将这个节点的输出直接连接到材质的 基础颜色 (Base Color) 和 自发光颜色 (Emissive Color) 输入。

    3. Round 节点会将其连续值转换成0或1的整数,从而在材质上生成清晰的边缘

  • 效果:原本平滑的灰度渐变会变成黑白分明的区域,就像上边的预览窗口里显示的一样,非常适合用来做图案的边界提取或风格化渲染

案例二:实现索引动画 (卡通风)

Round节点能帮我们在一个纹理集里实现快速的索引动画,比如切换技能图标,以实现卡通风格的效果

  • 任务:根据游戏逻辑(例如,技能的使用次数),程序化地选择一个纹理,以制作动画效果。

  • 步骤

    1. 准备一个包含多个图标的纹理数组 (Texture Array)

    2. 从0开始给每个纹理编上号:0, 1, 2……

    3. 创建一个随时间增加的浮点数变量 Index (当它超过最大索引时归零)。

    4. 将这个 Index 输入 Round 节点,得到整型索引值。

    5. 使用这个整型索引,从纹理数组中采样并显示对应的纹理。

  • 效果:你能快速在指定纹理间切换,实现动态索引的效果。利用这个原理,还可以做动画UV以实现风格化的材质像素风效果,让物体看起来有像素块的风格

案例三:循环中的精确计数

Round节点在循环中也能保持状态,实现精确的计数,对游戏逻辑和UI显示很有帮助。

  • 任务:在一个持续运行的游戏循环中,每当某个积累值达到一个完整单位时就触发一次事件。比如制作一个”连击计数器”,每0.5秒清空一次连击。

  • 步骤

    1. 在蓝图的 Event Tick 事件后,连接一个 Add 节点来累加 Delta Time

    2. 将累加值输入 Round 节点。

    3. 用一个 == 比较节点判断 Round 的结果是否发生了变化(例如,与前一次计数不同)。

    4. 如果发生了变化,就从 Branch 节点的 True 引脚输出,执行你需要的逻辑。

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

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

昵称

取消
昵称表情代码图片

    暂无评论内容