Last Light is a collaboration piece I made together with artist Oliver Lincke. It was made using Unreal Engine 5.6 in 5 weeks half-time during the Specialization course at The Game Assembly. Oliver approached me with the concept and I thought it looked cool, so we decided to work together on this.
I mainly focused on Shaders, Particles and Technical solutions while he focused on Asset creation, landscaping, textures, rendering and lighting. Both of us worked heavily in the materials and the sequencer, so it was important to keep good communication during the project.
Corrupted Grass has a different color, a vertex offset and a withered opacity mask. The same goes for flowers.
In addition to fading out over it's life time, the fireflies opacity is also tied to corruption with a randomized offset to make sure not all fireflies die at the same time.
The wood surface is withered using Vertex Offset combined with a noise texture to create this effect. All colors are also desaturated, including the Vertex-painted moss.
Similar to the grass, the leaves change color, vertex offset and opacity mask when corrupted. It also has reduced movement in the wind to make it look more stiff and dried out.
This idea came about halfway through the project when assembling everything together for the shot. At first, the video was supposed to end on a sad note with the Willow and the Last Light overtaken by corruption.
Since the Corruption system worked well in both direction, we thought it would be fun for the Last Light to give a Last Stand against the corruption and cleanse it with a big explosion. This ending felt a little too happy though, so we made the crystal crack and go out in the end, paying a price for the cleanse.
The corrupting vines get cleansed away with an erosion calculation inside the vine's material. I had to add a Cleansing bool to the Last Light for the vines to only erode when cleansing the corruption and not while it is moving towards the Willow.
The Wind system uses a similar design to the Corruption system, which controls wind direction and intensity for materials and particle systems.
The willow tree's leaf material is one of the more complicated materials in the scene. Both of us worked on it a lot, and it was a big challenge to get it looking good. It has a lot of specialized interaction with both the Wind System and the Corruption System. The hanging leaves are vertex-painted to be more affected by the wind than the rest of the crown.
At the start of the project, we planned to use splines to animate the corruption vines throughout the scene, and we made sure to prototype this early to see if it would work.
Unreal splines have an infamous problem where the spline mesh will twist when going upwards and crossing the Z-axis.
We also had trouble making it animate smoothly when rendering and causing some performance bugs. These are all solvable problems, but in order to save time and not dive too deep into this rabbit hole, we chose to pivot into another solution.
Instead of using splines, we made a few different meshes that we animated in the Unreal Sequence. We also added vertex animation to make it less stiff-looking. My favorite is the Corrupted Vine Doughnut that we use a lot in the background.
We had daily syncs in the morning during the project and we were constantly iterating and testing stuff out. It was a great way to inspire and motivate each other and a good way to get a lot of regular feedback. I think it is a lot more fun to work in a group to help each other and to amplify each other's work.