虚幻引擎 Add Impulse 节点

Add Impulse 节点是虚幻引擎5中用于实现物理冲击效果的核心工具,它能为物体施加一个瞬间的力,模拟如撞击、爆炸、发射等效果

📝 核心概念:理解“冲量” (Impulse)

冲量(Impulse)可以理解为一种 “瞬间的力” 。与每一帧持续作用的 AddForce 不同Add Impulse 就像“推”或“撞”了物体一下,力只在一瞬间生效,之后物体便依靠惯性运动

其计算公式为:冲量 = 质量 × 速度变化量。这意味着给一个轻物体和重物体施加相同的冲量,轻物体的速度变化会更大。

⚙️ 前提条件:启用物理模拟

在使用 Add Impulse 之前,必须确保目标物体已经开启了物理模拟。否则,节点将不会产生任何效果

  1. 在内容浏览器中,找到你的静态网格体(Static Mesh)或骨骼网格体(Skeletal Mesh)资产。

  2. 双击打开,或在细节面板中,找到 Physics 分类。

  3. 勾选 Simulate Physics

  4. (可选)根据需要调整 Mass (质量) 等物理属性

🎯 Add Impulse 节点详解

在蓝图中使用 Add Impulse 节点时,需要关注以下关键输入引脚

  • Target:要施加冲量的目标物体的组件(Component) 引用。通常是 Static Mesh Component 或 Character Movement Component

  • Impulse (冲量):一个 FVector (向量) 类型,代表冲量的方向和大小。向量的方向即为力的方向,其长度(模)代表冲量的大小。数值通常需要较大(如10000以上)才能看到明显效果

  • Vel Change (速度变化量):一个布尔值,决定了冲量是否受质量影响

    • False (默认):施加的是一个真正的物理冲量。质量越大,速度变化越小

    • True:将 Impulse 输入的值直接视为速度的变化量,质量被忽略。这能确保不同质量的物体获得相同的速度变化

🚀 完整使用案例:按空格键弹跳方块

这是一个最基础、最经典的案例,用于演示 Add Impulse 的基本用法

  1. 准备场景:在关卡中放置一个 Cube (立方体)

  2. 启用物理:选中该立方体,在细节面板勾选 Simulate Physics

  3. 打开关卡蓝图:点击主工具栏的 蓝图 (Blueprint) 按钮,选择 打开关卡蓝图 (Open Level Blueprint)

  4. 创建输入事件:在蓝图的事件图表中,右键搜索并添加 Space Bar 键盘事件节点

  5. 获取组件引用:从关卡蓝图的事件图表中,按住 Ctrl 键并用鼠标左键将场景中的立方体拖入蓝图。在弹出的菜单中选择 Get Static Mesh Component 以获取其网格组件。

  6. 添加冲量节点:从该 Get Static Mesh Component 节点的返回值引脚拖出,搜索并添加 Add Impulse 节点。这样 Target 引脚就自动连接好了。

  7. 设置冲量参数:连接 Space Bar 节点的执行线到 Add Impulse 的输入执行引脚。在 Add Impulse 节点的 Impulse 引脚上,创建一个 Make Vector 节点,并输入一个向上的冲量,例如 X=0, Y=0, Z=1000。可以根据需要设置 Vel Change 为 true 或 false

  8. 编译并运行:点击 编译 (Compile) 并 运行 (Play)。在游戏视口中按下空格键,立方体会向上跳起。

💡 进阶应用场景

  • 受击击退(击飞效果):在角色或敌人受到攻击时,根据攻击方向施加一个冲量,实现击退或击飞效果。通常会结合 OnComponentHit 事件来触发

  • 发射子弹/炮弹:在生成子弹的瞬间,使用 Add Impulse 为其提供一个向前的初速度

  • 爆炸冲击:可以遍历爆炸范围内的所有物理物体,为它们施加一个从爆炸中心向外的冲量。

⚠️ 常见问题与排查

  • “没有效果”:最常见的原因是没有勾选 Simulate Physics。请检查目标物体的组件设置。

  • “效果太弱/太强”:调整 Impulse 向量中的数值。物理模拟中,力的数值通常需要很大(如数千、数万)。同时,检查物体的 Mass 值,质量越大,惯性越大

  • “角色没有反应”:对于基于 Character 类的角色,需要获取其 Character Movement Component 作为 Add Impulse 的 Target。直接对角色的网格体施加冲量可能无效或效果不符合预期。

  • “冲量方向不对”:仔细检查 Impulse 向量的输入值。例如,想将物体向右推,X值应为正数。想从A点推向B点,可使用 B - A 来计算方向向量

  • “冲量只应用了一瞬间”Add Impulse 本就是设计为一次性效果。如果需要持续受力,请使用 Add Force 节点

💎 总结

Add Impulse 是虚幻引擎5中实现物理反馈的核心工具。记住它的关键点:目标物体必须开启物理模拟,通过向量控制冲量的方向和大小,并根据需要决定是否让质量影响效果 (Vel Change)。掌握好这些,就能为你的项目增添丰富的物理互动体验。

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

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

昵称

取消
昵称表情代码图片

    暂无评论内容