Download

Approach to prevent door to swing into your face?

So I have a standard door, open & close fine, with tidy animation that turn the handle, release the latch, & swing in the define direction (clockwise or counterclockwise) control via a Enum that can be set in creation. All nice & all.

However there is a small issue. Its not a problem when the door swing outwards. However, when you stand too near the door, & the door swing inwards, you get a smack in the nose, or in my case, the door pass through me.

So I am wondering what are the solutions you guys have to resolve this issue?

The obvious solution is to have the player pulled back, let the door open, then allow the actor to proceed, but how to do that. Whats the approach? I would like to hear from members here.

As i said in the other post, by adding a box at door closed location and set it “block” before movement and set it “overlap” or “ignore” after movement you prevent any action. Overlap have an interesting thing i’ve just discover. when using “get overlapping actors” on box component when it is the actor, my delay (in blueprint i posted in other thread) works fine but if not, it just push the character out (i was using 2 different characters (mycharacter and aspcharacter) so no collision. Which means that by setting collision without check it would push away all actors.

edit : Not using get overlaping actors can be a trouble. Sometimes door have issue.

edit 2 : If you attach your box to your door it will move with and push any actor near.

Wouldn’t the box method not work when your nose (or your belly, depends which protrude more) are one inch away from the door? I wanted to avoid invisible wall.

Anway, when the door moved towards me (1st person view), it pass me. However, the collision works when the door isn’t swing to my face. Not sure why.

I set a delay to not have this trouble. If overlap by actor, wait, if not set block and anim. Then even if the character comes back it is too late. He is out.

Sorry, I meant to say you are an inch from the door before you activate opening the door. Just to clarify, I use click event to open door.