2015-05-23 26 views
0

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

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

对我来说,临时解决方法是重复的字符的胶囊组分,这给了我的可能性增加一个重叠事件的每个胶囊(和因此对于与每个不同的障碍物的碰撞)。这是我认为大多数人需要的东西,但我还没有找到更好的方法来实现这一点。如果有人给我一个小费会很好。

下面我已经添加了一个代码片断,说明重叠事件的样子(对于BpObstacle1)。我不需要检查一个类,我需要检查一堆类。

Overlapping Event in Unreal Engine 4 for one specific class

回答

0

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

Overlapping event for multiple blueprint classes