top of page

Pressure Plate System

Here's a blueprint I've created in Unreal Engine 5 for a pressure plate system that communicates with other blueprints when activated/deactivated through blueprint interface

  • When interacted with it triggers behavior in the connected blueprint

    • This allows for the pressure plate to be multi-purpose

    • Can be used dynamic scenarios​

Adding/Removing Spline Points

Details Panel

Details_AddFloor.png

New spline points are easily added and removed in the details panel.
New spline points are added at an increment of the previous spline point + the "Distance Between Floors".

Add a Floor

F_AddFloor.png

The new spline points location is based on the previous spline points Z value + the Distance Between Floors float. This allows for different distances between each floor to make it more dynamic.

Remove a Floor

F_RemoveFloor.png

Removes the last Spline Point in the index.

Update distance between Spline Points

F_UpdDistanceBetweenFloors.png

This button updates the location of all spline points to be the Distance Between Floors float value times the spline points index value in order to have them all with an equal distance between each other.

Doors

This elevator is equipped with a dual set of doors, it can open the front, back, or both doors, depending on the floor configuration.

Doors opening on each Floor

Details_DoorsOpeningPerFloor.png

I decided to use an enumerator where it can be set which doors should open on each floor, this way the elevator can be used more dynamically and allow for entering/exiting the elevator through either the front/back doors or both.

Open doors based on Enum

F_OpenDoors.png

When the elevator has reached its destination it checks the index of the enumerator array and compares it to the destination floor integer and then proceeds through a Switch on Enum to decide which doors that should be opened.

Timeline for opening & closing elevator doors.

F_OpenCloseDoors.png

Timelines are used to set the relative location of the doors when opening/closing.
Once all the doors are closed a short delay is triggered before the Elevator starts moving.

Elevator Movement

The elevator is moved using a timeline where the playrate has normalized to move the elevator at the same speed regardless of distance between floors.

Timeline for moving the Elevator

F_MoveElevatorTimeline.png

A timeline is used to move the Elevator between it's starting position to the end position.
Once the elevator has arrived at it's destination there's a short delay before the doors are opened.

Updating the Elevators Timeline's Play Rate

F_UpdElevatorMoveRate.png

I created a function that updates the play rate of the elevators movement timeline.
This is done to make sure that the elevator will move at the same rate regardless of the distance it will travel between it's start and end position.

Updating floor text

F_UpdElevatorFloorText.png

Here I'm using a for loop to compare the elevator's current position and compare it to the spline points in order to update the text component that displays the current and total amount of floors.

Event Graph

Here is the blueprint's event graph, feel free to look around if you want to see how everything is set up.

How to navigate:

  • Right mouse button to move around.

  • Hold down ctrl while scrolling to zoom in/out.

bottom of page