多个类的重叠事件

时间:2015-05-23 15:05:37

标签: unreal-engine4

我们正在开发一款小型虚幻引擎游戏。为此,我需要有可能用多个蓝图(障碍物等)检查角色的重叠事件。问题是我还没有找到检查多个类的重叠事件的可能性(让我们说BPObstacle1,BPObstacle2等) - 我唯一能做的就是证明字符是否与一个特定的类重叠。换句话说,我需要某种“班级转换器”或“班级调度员”来证明多个班级。

现在有人可以问,为什么不简单地在障碍物而不是角色上添加重叠事件?这是因为对象的生命周期(BPObstacles)需要更长。例如,我需要在声音开始播放之前销毁一个演员(BPObstacle)。在“Destroy actor”命令之后没有任何块被执行,因此在actor(BPObstacle)被破坏后你无法播放声音。

我的临时解决方法是复制角色的胶囊组件,这使我有可能为每个胶囊添加一个重叠事件(因此与每个不同的障碍物碰撞)。这是我认为大多数人需要的东西,但我还没有找到更好的方法来实现这一目标。如果有人给我一个提示,那会很好。

下面我添加了一个重叠事件的代码片段(对于BpObstacle1)。我不需要检查一个类,而是需要检查一堆类。

Overlapping Event in Unreal Engine 4 for one specific class

1 个答案:

答案 0 :(得分:0)

我自己发现了它。我现在这样做的方法是创建一个包含所有障碍的数组(数组的类型是class-> actor)。然后,如果重叠类包含在障碍数组中,我会证明何时触发重叠事件。如果是这样,做你想做的事情(在我的例子中设置一个变量)。以下是相应的蓝图代码:

Overlapping event for multiple blueprint classes