Resume
FR EN
← Back to Home Printable Version

Unreal Engine Test Breakdown


Subject

The exercise was to imagine a shot featuring a projectile hitting a wall. The debris from the wall had to fall into the ashes just in front of it.

Provided elements:

Constraints:

Software:

Approach

To complete this exercise, I chose to use the following software:

Process

I broke down my work into several steps:

For the overall effect, I chose Houdini for the simulations and Unreal engine for the real-time rendering.

Projectile simulation

I chose to simulate a kind of cannonball crashing into the wall, following the trajectory indicated in the instructions diagram.

For the Houdini scene setup, I broke down the different elements by type to create the colliders. For the ash pile, I used the displacement map to give the collider the right shape.

Houdini capture - Projectile simulation
(Houdini capture)
Unreal capture - Projectile rendering
(Unreal capture)

Debris simulation

I started by creating 3 very light geometries (Blender) that make up the brick pieces detaching from the wall.

Debris geometries
Debris instancing
Debris simulation

These geometries are packed and instanced on a total of 271 particles. I placed the UVs of these debris on bricks from the wall's albedo texture.

Before running the simulation, I set up the velocity, angular velocity, mass, and scale parameters to maximize variation. For example, the scale ranges from 0.5 to 6, all plugged into a curve, which gives more small elements than large ones.

Then I packed everything and ran a simulation using the rigid body solver.

Plank simulation

Since the cannonball hits the planks when it falls to the ground, and to get a more convincing result, I quickly simulated these planks. The principle is the same as for the debris, using the same solver.

Decal creation

For this step, I started by creating the entire scene in Unreal engine. Then I found this alpha on Artstation:

Alpha found on Artstation for the decal

I then created two geometries (starting from a grid) using Zbrush, one completely flat (low poly), and the other with the alpha applied (the high poly):

Normal map opacity and ambient occlusion - Substance Painter
Normal map opacity and ambient occlusion - Substance Painter

I was then able to create a normal map for opacity and ambient occlusion using Substance painter.

The final step was to create a decal in Unreal engine and integrate it into the level sequence, then animate its appearance as soon as the cannonball hits the wall.

Decal result in Unreal
Sequence speed x0.25 (slow motion)

Adding dust and Niagara sprites

After this result, I decided to add a dust effect when the debris falls into the ashes. I decided to add animated sprites using Niagara, which gave a better result and dressed up the space nicely while respecting all the exercise constraints.

So I kept the 200 particles from the wall debris. I halved the number of ash particles (100 in the end), leaving 100 particles for the animated sprite system. I used the following texture found in the Unreal content browser:

Sprite texture

I applied the sprites to a particle system using an emitter spawn burst instantaneous, with a point attraction force to project the particle, then played with opacity to make them disappear according to the particle's age. I also applied rotation to get a smoke roll. Then I added all the basic modules of a particle system: velocity, drag, noise...

Final result

Production time

Day 1: (2 to 3 hours)

I started my Unreal scene, placed all the elements (provided geometries) while waiting for the simulations and the decal + thinking about the feasibility of the effect, documentation, etc.

Day 2: (about 4 hours)

Setting up the cannonball and debris setups

Day 3: (about 11h)

Setting up the planks + several tests to find an interesting combination between the three simulations.

Decal creation

Finalizing the test in Unreal engine + creating the different sequences.

Day 4: (about 8h)

Creating the particle system using Niagara and implementing it in the sequence