UE4中碰撞相关设置
我们在 UE4 中设置碰撞相关的属性,可以在项目设置中的引擎(Engine)项中找到碰撞(Collision),打开后就是下图的界面,我们可以对其中进行编辑,使用我们需要的碰撞类型。

其中,分为以下几个部分:
Object Channels:对象通道,相对于我们每一个可以碰撞物体的类,用这个来区分。
Trace Channels:踪迹通道,一般用于类似于射线之类的对象。
Preset:配置文件,相对于碰撞的规则,对象与对象之间如何碰撞,对象与踪迹之间如何碰撞,都由这个文件定义。
碰撞的反应类型
无论是Object还是Trace,都有碰撞的默认反应,我们的碰撞有三种反应,区别如下:
Block(区块):即阻挡类型碰撞,代表着两个物体之间不能相互穿越(穿模)只有表面发生碰撞,碰撞后产生碰撞交互事件。
Overlap(重叠):代表两个物体之间可以互相穿越(穿模)并且产生碰撞重叠交互事件。
Ignore(忽略):两个物体之间的碰撞直接忽略,直接可以穿越(穿模),不产生任何碰撞交互事件。
在新建Object或者Trace时,我们要指定他们的默认反应,如下图:

碰撞配置文件
碰撞的配置文件建立后,参数如下:

名称为这个配置文件的名字。
已启用碰撞有以下几种类型:
No Collision(没有碰撞):在物理引擎中此形体将不具有任何表示。不可用于空间查询(光线投射、Sweep、重叠)或模拟(刚体、约束)。此设置可提供最佳性能,尤其是对于移动对象。
Query Only(仅查询无物理碰撞):此形体仅可用于空间查询(光线投射、Sweep和重叠)。不可用于模拟(刚体、约束)。对于角色运动和不需要物理模拟的对象,此设置非常有用。通过缩小物理模拟树中的数据来实现一些性能提升。
Physics Only(仅碰撞无物理查询):此形体仅可用于物理模拟(刚体、约束)。不可用于空间查询(光线投射、Sweep、重叠)。对于角色上不需要按骨骼进行检测的模拟次级运动,此设置非常有用。通过缩小查询树中的数据来实现一些性能提升。
Collision Enabled(启用碰撞物理和查询):此形体可用于空间查询(光线投射、Sweep、重叠)和模拟(刚体、约束)。
对象类型为这个碰撞配置文件所对应的Object Channels。
描述即为注释。
碰撞响应所调节的就是这个碰撞文件对应的Object Channels和其他的Object Channels或者Trace Channels所产生的碰撞的规则,这个规则的忽略,重叠,区块于上述描述的相同。
注意,当物体的碰撞预设都将对方设为Block时才会发生相互阻挡,只要有一方将对方设为Overlap,那么将会互相穿越对方,而不发生阻挡。以上两种都会触发碰撞事件,但是只要有一方将对方设为Ignore,那么将会互相穿越对方,并且不触发碰撞事件。