使用 Multi Line Trace (Raycast) by Channel

此指南说明如何使用 Multi Line Trace by Channel 蓝图节点返回在 Visilibity 通道上响应的所有 Actor,并输出它们的名称。

Windows
MacOS
Linux
本页面的内容

MultiLineTraceByChannel 将沿给定线条执行碰撞追踪,并返回所有遭遇的命中,直到并包含首次阻挡命中,只返回对特定追踪通道响应的对象。这就意味着追踪的开始和结束之间有多个带碰撞的 Actor组件 与特定的追踪通道发生 重叠,而您将接收到所有的 Actor 和组件。但是,如果首次命中 阻挡 了特定的追踪通道,则只会接收到这一个内容。如希望无视追踪通道的重叠或阻挡接受所有内容,则需要使用 MultiLineTraceByObject 节点。以下是设置 MultiLineTraceByChannel 的步骤。

步骤

  1. 按照用于LineTraceByChannel 范例的步骤设置追踪。

  2. MultiLineTraceByChannel 节点替代 LineTraceByChannel 节点。

  3. Out Hits 引脚连出引线并添加一个 ForEachLoop 节点。

    GHT2B_18.png

    因为命中了多个 Actor,我们将对每个 Actor 进行一些操作(此例中是将 Actor 显示到屏幕上)。

  4. Array Element 连出引线并添加一个 Break Hit Result;然后从 Hit Actor 连出引线,添加一个 Get Display Name (Object) 并连接到 Print String

    点击查看全图。

    每个被阵列命中的 Actor 将被输出到字符串。

结果

此处的物理 Actor 前有一扇玻璃窗。

GHT2B_17.png

玻璃窗是 可破坏网格体,我们已对它的 Trace Response 进行设置, 碰撞设置中的 Visibility 设为 Overlap;而物理 Actor(立方体)的 Visibility 则设为 Block。这样的设置可用于射穿物体(将其摧毁)并击中敌人的情形。

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见