Download

One trigger box triggers several sliding doors

Hi guys,
I’ve build a scene where I want one trigger box to open several sliding doors. My basic visual script is like Zacks in a tutorial, but when I copy several OnActorBeginOverlap I get an error of course. I read in some thread to use Component, but I can’t find what they used. I can just have more trigger boxes at the same spot but I want the more elegant solution. What’s the obvious answer I’m missing?

Thanks

Here is a tutorial about sliding doors https://wiki.unrealengine.com/Blueprint_Automated_Door_Tutorial

Maybe you get the error because you have to use the predefined trigger event inside your Trigger Volume component? If you want to code it use a set boolean on event. Then add a different event, maybe “on tick”, on each door component.

Hm not sure about that. Here’s a script for my one door.

4151d317b69312d3ba2184331533344e00196d3e.jpeg

Now I tried copying that for the rest but I get an error.

Also…is this how I would set initial positions of several objects?

Untitled-2.jpg

Anyone? I’m kinda stuck, and can’t find specific solution for this. I know it’s obvious, but not to me lol

You can keep going with how you have the top 1. Just duplicate your “set actor location” and add it for the other 3 doors and with your + node on there just do for each door.

The blueprint example project has something similar where if any of the cameras spot you the alarm sounds and closes the door. It uses a blueprint interface to connect all the cameras

Thanks for help guys! This kinda worked…but now I have the same problem for closing since I can’t connect reverse.

258f27b521e6efb60fceedaec08cd02c65fa18d9.jpeg

Can anyone explain what do they mean in docs for OnActorBeginOverlap with this sentence:
Each event can only execute a single object. If you want to trigger multiple actions from one event, you will need to string them together linearly.

It means that you have to string them together like you have so that it runs through linearly, so you cant just run off to multiple different locations.

Simplest way for you to achieve the reverse is to duplicate everything you have there and connect the OnActorEndOverlap to reverse. It’s an incredibly messy an bad way to do it but it would achieve your desired result. Personally though I would change things around a bit and use array’s and loops. If you create an array of all your doors and do a forEach loop through them all, setting their location and having a delay before doing the next 1 like you currently have then you should be able to do it quite easily

I think I know what you mean. I will have to see into loops.

Still, here, where and how would you connect the reverse? I can only connect it to one timeline, where would other timelines get their trigger from?

I’m just a hobbyist, so take what I say with a grain of salt.

On my doors I took the “finished” plug on the timeline and ran it through a delay node, then to “reverse from end” on the timeline. I also use the trigger box to make sure the player is not under the door when it closes.

Thanks…makes sense. Still will have to see into loops first and try to make everything as it should be :slight_smile: