如果重叠则弹出阻塞对象:UE4
Eject Blocking Object if Overlapping: UE4
我的 2d 平台游戏有一个“时间旅行”机制。
你在一个位置放置全息图(没有碰撞和一些漂亮效果的演员)。
当你按住“倒带”按钮时,你的角色的碰撞和重力被关闭,他慢慢地向全息图移动。
当你松开倒带按钮时,它会重新打开他的碰撞。
我的地图设置为“阻挡”棋子(这样他就可以在上面行走等)。
如果你在他与地形重叠时松开按钮,然后重新打开他的碰撞,他就会卡住。
我在想该怎么办。 Unity 会自动“弹出”一个与不应该重叠的对象重叠的对象。
由于地形被设置为阻挡棋子,我无法触发重叠事件。 “On Component Hit”只会在他站立或摩擦地形时开火,所以两者都不会。
我应该如何检测玩家是否在地形中弹出?我可以决定稍后做什么(弹出它们、杀死它们、阻止它们出现等)。但现在我只需要将他们与触摸瓷砖地图并在其中区分开来。
有什么想法吗?
所以我最后做的是在我的播放器上复制胶囊对撞机。新胶囊(称为 'Terrain Overlap')忽略所有碰撞,除了它与 tilemap 重叠。
该组件有一个开始和结束重叠方法,该方法在字符上设置一个布尔值。
当玩家松开倒带按钮时,如果他们在地下(布尔检查),我可以触发死亡方法。
我的 2d 平台游戏有一个“时间旅行”机制。 你在一个位置放置全息图(没有碰撞和一些漂亮效果的演员)。
当你按住“倒带”按钮时,你的角色的碰撞和重力被关闭,他慢慢地向全息图移动。
当你松开倒带按钮时,它会重新打开他的碰撞。
我的地图设置为“阻挡”棋子(这样他就可以在上面行走等)。
如果你在他与地形重叠时松开按钮,然后重新打开他的碰撞,他就会卡住。
我在想该怎么办。 Unity 会自动“弹出”一个与不应该重叠的对象重叠的对象。
由于地形被设置为阻挡棋子,我无法触发重叠事件。 “On Component Hit”只会在他站立或摩擦地形时开火,所以两者都不会。
我应该如何检测玩家是否在地形中弹出?我可以决定稍后做什么(弹出它们、杀死它们、阻止它们出现等)。但现在我只需要将他们与触摸瓷砖地图并在其中区分开来。
有什么想法吗?
所以我最后做的是在我的播放器上复制胶囊对撞机。新胶囊(称为 'Terrain Overlap')忽略所有碰撞,除了它与 tilemap 重叠。
该组件有一个开始和结束重叠方法,该方法在字符上设置一个布尔值。
当玩家松开倒带按钮时,如果他们在地下(布尔检查),我可以触发死亡方法。