Is it possible to create a rising water effect with blueprint?

Thanks in advance for any help that anyone could offer.

I’m building a game, and on a specific level, I want to create a puzzle. Once the puzzle or “Event” as been triggered, I want to gradually fill a room with water( or create the illusion via Blueprint). Theoretically, the player will then have a certain amount of time to activate a set number of triggers to stop the room from flooding which would ultimately end the level or game.Is such a thing possible Via Blueprint? And if so how?

I’m assuming I could create an actor ( Simple plane) attach a water material to it. As well as a post processing volume that would simulate being under water. The issues that I’m having are :

  1. How do I get both the plane and post processing volume to gradually increase their z axis value until the room is filled?
  2. How to create a system that will check the height of the " Water level " And end the level when the z value reaches a specified amount?
  3. And lastly how to stop the the flooding ( rising water level) when all the triggers have been enabled?

I know this is a lot but thanks again for any help that can be offered.

Hey there! Below I have attached some screenshots of the setup that I used to create this system. To make this easy, I will simply make a “to-do” list.

  1. Create a blueprint from your water plane and place it in your level.
  2. Create a post-process volume and attach it to your water plane blueprint.
  3. Create a trigger box that will allow you to end your level when the water reaches the top.

That setup should look like this when completed.

Now you simply need to create the movement of the water and create the variables that will allow for your water to be stopped by the “Triggers” that you have in your level. Another list!

  1. To make the water move, you will need to use a “Set actor location” node. By itself however, the water will simply move to straight to the new location, not rise slowly. (THIS IS IN THE LEVEL BLUEPRINT)
  2. Create an “ease” node to fix this.
  3. Create a very simply timeline that will make your water rise slowly.
  4. Create a variable to assure that your water only triggers once… perhaps called “Water Moving”
  5. Now, we will create a branch after your event that makes the water begin to rise, and get “Water Moving”
  6. Let’s connect it all up!

If you don’t know how to use timelines, take a look here!
-- YouTube

Now we simply need to make sure the water ends the game when it gets to the top.

  1. Create an “On overlap” event for the trigger box you placed in your level.
  2. Grab a branch and a “Get class” node
  3. Lastly, get an “class=class” node and find your water plane blueprint.
  4. Connect!!

WARNING!!! Your water plane will not generate an overlap event unless you make it!!! Do this HERE.

Lastly, Let’s set up your triggers to stop the water.

  1. Create your triggers
  2. Create variables for each trigger that will be used to stop your water
  3. Off of a “Event Tick” node, add branches that will use your variables that you just created and add a “Stop” node at the end to stop your timeline

It should look like this. Mind you, I have used to additional trigger boxes to do this, however, you can use any method of setting these variables. Ex. buttons, levers, keys, etc.

109047-5.png

There you go! Let me know if you have any problems! Good luck!