I have a blueprint here for a setup that consists of a sliding door (“Door”) and the two meshes representing the front- and back-facing of the door frame (“Side1”) and (“Side2”). There is no actual gap in the door frame for the door to slide through, so I want it to simply intersect/overlap the frame as the door slides open. The opening and closing of the door share the same function (“DoorMoveStep”) that will be called every tick when it is active. As I do need the door to stop if a player or object gets in front of it I still want it to generate hit events, and as such I elected to turn on sweeping in the SetRelativeLocation node of the DoorMoveStep function.
The problem here is that I can not for the life of me get the door to ignore the door frame. If I turn off sweeping then the door moves and ignores the door frame, but consequently can end up intersecting object requiring me to add extra functionality to the blueprint to compensate. With sweeping on, it stands dead still. I have added a few Print String nodes to debug and confirmed that it is in fact stopping on the frame.
I found two nodes that seemed interested, but no matter how I used them and combined them it seems the sweep still registers a hit and stops the door dead in its tracks.
- Ignore Actor when Moving
- Ignore Component when Moving
Is there a way to use SetRelativeLocation with sweeping and have it ignore certain components or actors? Are there alternatives to SetRelativeLocation that achieves the same result except for actually ignoring the parts I want it to ignore?
Here are a few quick pictures from the relevant parts of setup.