Unreal中的碰撞
什么时候两个物体可以碰撞,什么时候会忽略两个物体的碰撞,碰撞触发事件怎么使用,射线碰撞又是什么。
什么时候两个物体可以碰撞
每个物体都有自己的类型,在细节面板上可以设置,其中默认包括下图中的六种,这些类型表示这个物体具有的类型,每个物体都是唯一的,并且也可以使用自定义的类型。
每个物体也可以设置与其交互的物体类型,同样是上面六种类型,你可以选择当前的物体可以与那些类型进行碰撞,哪些类型进行覆盖,那些物体忽略。
当一个物体可以与另一个物体互相为可以碰撞的类型时,就可以进行碰撞。
碰撞事件
Unreal中碰撞相关的事件常用的有以下几个,一般情况下我会在蓝图中进行实现,如果遇到比较复杂的逻辑,我会调用在CPP中声明并定义的相关函数,也就是说绑定的活我交给了蓝图:
OnComponentHit:当一个组件与另一个物体发生碰撞时触发。
OnComponentBeginOverlap:当一个组件开始与另一个物体重叠时触发。
OnComponentEndOverlap:当一个组件停止与另一个物体重叠时触发。
发射射线
在Unreal中发射射线是一个非常常用的操作,跟碰撞类似,射线也有射线通道,也可以在细节面板进行设置,这样就可以阻挡对应类型的射线。物体会阻挡包含阻挡类型的射线,而忽略其他射线。