Download

Begin/EndOverlap

Hello there,

I am trying to get an automatic sliding door, controlled by a trigger volume.
Now my current setup is as in the tutorial. (see attachment)

My Problem now is that it is quite easily possible for the player to stand at the edge of the trigger volume which results in the door jumping back and forth… can I somehow stop this from happening?

Thank you already!

Greetz,
JayCox of On3studio

Do you do intersections based on the skeleton of the character, would explain opening and closing since the characters moves with animation and the collision volumes could move.
That would be solved by having a collision sphere and use that for collision checks instead. The sphere should not move back and forth.

Or do you mean then when a player gets close and steps back and forth he will make the door move a lot?

That could be solved with some kind of timer I assume, increase a value based on delta as soon as the character is overlapping, when you reach the treshold do the call to the animation. or add some kind of logic that checks if the door has reached it’s full open state before handling the close state.

Theories. Not Answers. Hope it helps.

Oh another one.

Is the collision volume for the door connected to the moving door, meaning that the door will open, stop intersecting and close, and on closing it will intersect with the player and start opening again.

If thats the case, remove the trigger volyme as a child of the door and give it a fixed position in the frame instead.

That happened in real sliding door also right? I remember doing this when I was young, jumping back & forth in the sensor area to ahve the door open & close,…unitl someone showed up & I ran.

You may want to change ‘play from start’ to ‘play’. This will prevent suddenly jump to beginning of play animation. Another gameplay approach is you can disable movement of player until the animation is complete or a cutscene.

Or you can add a delay or a method to ensure that a certain amout of time have passed when the person step out of the trigger before activite the door closing. I am sure there are other methods also.

Play around & see whats best for you.

Thank you for your answers, but I think I didn’t phrase my question correctly…

What I intend with my setup is that the player walks into the trigger volume, the door opens, the player can go through the door and when he leaves the trigger volume the door closes. That works perfectly.

BUT
What I mean is that if the player were to STOP right at the edge of the trigger volume with a part of the charater inside the trigger and a part outside - WITHOUT the player moving just standing still - the Blueprint doesn’t know wether to OPEN the door or to SHUT the door… so the animation bounces back and forth…

What I need is a setup where I say the following:

  1. OnHit → play complete Opening animation
  2. Before Reverse animation can be triggered the player has to move again
  3. EndHit → play complete Closing Animation (Reverse Animation)
  4. Before Opening animation can be triggered again the player has to move.

Now, I think I know how the logic would have to be phrased but I do not know what nodes to use and I have honestly no idea what I am looking for … I assume I would have to set a condition of some sort?

EDIT: Alright I think part of the problem is me using a box as trigger volume. The problem only occurs when I stand near a corner and hit two edges of the trigger volume… If I stand on one of the edges without interesecting with another edge I do not get the problematic bouncing animation…
Tried using a sphere, didn’t change… only made it worse actually…?
Capsule didn’t work either

Any ideas? Thanks again in advance!

Hello,
not sure that this will help but for my multi level lift i used a boolean to ignore click on anim and a box in door closed position with a collision set. with a 2 s delay loop check.

Hey Fen,
from the sound of it I think that is what I am looking for, sadly I do not understand what you mean by “ignore click on anim” and how you set up the box in the closed position

Currently I have the door in the wall surrounded by the trigger volume (see attached pic…) and if you stand on the corner of the trigger volume my problem occurs…

I really have the sense that I am just missing one single button/node …

Ok, your first blueprint should work. “BeginOverlap” means when the player enters the trigger box. If the player stands still ANYWHERE in the box (the corner, included), the “EndOverlap” event should not fire. This means that somehow, while standing still, the player is repeatedly entering and exiting the trigger box area.

TheSpaceMan had a good potential way this could happen which you have not addressed. If the character has an idle animation, they may “swing” back and forth while standing still. And if somehow your player capsule did not have collision enabled on it, the game may only be able to use the skeletal mesh for collision. So as the character’s idle animation swings him forward, his arm enters the trigger box and the door opens. As the character swings back, the arm leaves and the door closes.

If you do not have an idle animation set up or your player capsule has collision set on it, this will not be the issue.

This confuses me a little bit. Perhaps you can give a screenshot of the components panel so we can see the door? This is what I’m imagining (I’m at work and have only MS Paint available):

e46d4545be605226e2ac1ae5dd2069dce3fcef6c.png

Sliding door in the middle, slides to the left. The dotted line is the trigger box. What do you mean when you say the player “hit two edges”?

Ok so I do not have a skeletal character, only the player capsule with the firstperson camera on it. First screenshot is the Detailspanel of the CapsuleComponent.

About the corner:
I hope the second picture explains better what I mean :wink:

The blueprint components can be seen in the post before that I probably posted while you were typing :slight_smile:

Oh For F**K sake …

You know what the problem was?

The Trigger Volume was a Child of the animated Door…
Ergo:
The OnComponentHit started the Animation which moved the trigger volume
The relocated Trigger Volume then Triggered the EndComponentHit and so forth…

Tadaaaa…

Thank you all anyway!

How I figured it out? I turned my FirstPerson Camera into a make-shift 3rd Person, made everything accompanying it visible and instantly got my answer…

Lesson learned… :smiley:

Have a great day!

Reading the fisrt sentence, I thought you are going to F us for not giving you clear solution. LOL

Glad it worked out for you.

Out of curosity Fen, what function or node did you sue to disable click events? I could use such a features.

Anway, I have an interesting issue with my door, I post it on a new thraed when I get home.

I use “set collision response to all channels” I set it to “block” on construction script (it can be on begin play) then on event “mouse click” i set my bool to ignore new click, then :


This is a sliding open and close system where i set collision overlap or block when needed to open door without collide bug and close door only when place is empty. I use overlap to check if door is free or not to be closed with a 2s delay.

to disable click event i just set a bool condition at begin of event. When event : branch with bool as condition, on false do event. Then set bool “true” and set it "false at the end of event.

Thanks Fen again. I cannot completely use your solution, but I have an idea.

I found Enable Input /Disable Input functions works in my case.