> 文章列表 > UE中的channel

UE中的channel

UE中的channel

当我们需要处理碰撞矩阵,或者调用接口投射射线进行检测等,为了区分哪些对象可以被射线检测到,哪些对象忽略,就需要用到channel。

1.Channel 简介

在UE5中,一个对象的channel可以在Physics下查看:
在这里插入图片描述
设置成custom就可以进行修改:
在这里插入图片描述

如果要自己添加预设,可以在Project Settings->Collision处进行设置,包括增加channel:
在这里插入图片描述

注意,修改完Project Settings中的碰撞信息后,需要重启UE工程才会生效。

此外,channel分为Object Channel与Trace Channel,它们的意义如下:

  • Object Channel - 用于对象与对象间的碰撞,如A对象碰到B对象会不会触发碰撞事件。
  • Trace Channel - 用于调用接口进行射线查询、球体查询等,可直接设置查询的Trace Channel。

2.蓝图调用Trace接口

下面演示一下蓝图调用Trace接口。
首先确保创建了一个Trace Channel,并且指定这个Channel会对哪个层产生Block,然后新建一个Actor蓝图,要用这个Actor的Forward方向发出射线进行检测,蓝图如下:
在这里插入图片描述
上述蓝图在Tick函数中执行,因为设置了Draw Debug Type函数所以会绘制调试信息,运行后如下:
在这里插入图片描述