For the reveal trailer for the game War Mongrels, I was asked to make a bridge explosion. The idea was very simple – make in-engine effects composed of Niagara FX and animation. It was supposed to be real-time and without any tricks like adding explosions in outside software. All materials needed to work well during gameplay so optimization was key.
You can see the bridge collapse at 1:12 in this reveal trailer.
Before any work in Unreal Engine, I needed to make the bridge collapse in Houdini. The collapse was rather simple and the only challenge was to make a metal bend on the bullet. For optimization purposes, I needed to use FBX format, so I decided to stick to rigid bodies. I did some research and found inspiration on this Orbolt forum.
It’s from the research that I was able to make a believable metal bending effect with simple pieces.
I started by dividing Bridge mesh into parts sorted by material.
Then I started normal fracturing. I was trying to limit bones as much as I could to stay within certain limits.
The next step was to make constraints for each part and make special constraints for the metal pieces.
The next step was simulations and many changes into previous parts. I tried to make everything procedurally so changing fractures would not force me to do any manual work.
From a fracturing perspective, the procedural approach was useful, for staging the end effect it was not… As a result, in the end I decided to use SOP solvers to delete various constraints on fixed times.
The animation ended up as this:
After animation I wanted to use a new feature from Side Fx Labs – Baking the source position of particles in Houdini to use them inside Unreal Engine 4. I made smoke points by using a debris source and simple solver.
Pure smoke was boring, so I added sparks from the metal parts of the simulation.
Then as it still looked artificial, I added water ripples on the nearby river to catch an eye a little and distract.
The next big question was to import the project into Unreal. I tried Vertex Animation, but that feature is more fitting for destructions that are made at once. Considering I have lengthy animation and some parts split later on in the simulation, I decided to use normal FBX.
After making the animation I started making Niagara Effects. I imported all smokes, sparks, and ripple starting points with the Niagara Houdini Plugin. The last big task was to make good looking smoke that fit in the background. I wanted it to be fairly universal and usable in gameplay on other effects.
As the camera rotated I needed to be mindful of an inconsistent source of light. Also, I wanted it to be as cheap as possible. I tried many methods, from 6-point lightning to traditional normals, but everything was expensive or looked bad.
As a result, I made my own method.
I decided to use only directional light from the scene for the smoke. I made Material Parameter Collections and stored the direction of light, its color, and intensity on it. I treated every vertex of a plane as a vector from the particle center to it. Then, I multiplied the heightmap from the texture by using a Camera Direction Vector.
Those two vectors were added and normalized. It is my normal vector that I used to calculate light in every pixel of the particle plane. This method works on heightmaps that have no holes in the middle of it. This method is an approximation, but a very useful one nonetheless. The static effect looked like this:
Texture color is stored on red channel:
Heightmap is stored in blue channel:
Alpha looks like this:
Optional Motion Vectors (Used on higher graphics setting):
The lightning part of shader looks like this:
The Motion Vector part is here:
The tool is a new real time simulation tool for volumetrics. All textures were composited in Houdini to speed up the iteration process.
Pure FX without animation looks like this:
And when everything is combined in a cutscene, the final result looks like this:
Thank you for taking the time to check out this breakdown. If you want to see more of my work you can check out my ArtStation profile. And of course, if you ever want to learn how to create Real-Time FX, the Realtime FX for Games and Cinematics course here at Rebelway is incredible.
You can get free course lessons from Realtime FX for Games and Cinematics by simply filling out the box below. Just follow the prompts after you fill out the box.
By filling out this form you agree to receive email communications from Rebelway.
No risk. Just results.