Project Aegis
For the Visual Effects Showcase at SCAD Savannah made in one semester.
Rendered in Redshift Houdini
Composited in Nuke
Edited in Davinci Resolve
Mech Modelled in Zbrush, textured in Substance Painter
Credits:
Andrew Deaver
Jordan Thompson
Reyan Mucadum
I did modelling, materials, rigging, animation, compositing, editing, and sound design for this project.
Music credits are:
Gaol in the Deep - Hyper Light Drifter OST
A Cup of Liber-Tea - Helldivers 2 OST
Animation and Rigging
Due to not needing a qualified animator for this short sequence I was going to be the animator for the mech. I have some personal knowledge on animation from when I was younger so I had a grasp on what to do for this. I also had messed around in rigging in Blender which made it an easy choice to animate in. Although, I would not say blender is a power program for either of those fields, it was good for someone who has “just dabbled”.
After
Before
In the AOV Mixing Tree, volumetrics do not account for visibility. So in certain senarios when a camera is inside a volume or the volume is so thick it blocks out what is behind it, the mathematics in the tree do not work properly.
To get around this, I created this tree that would use Depth to get what is and is not visible and had to reroute the background to include that in some shots.
The depth also feeds into a colorcorrect to get haziness over the objects and then the volume is merged over all of that so we have a nice silhouette.
Although not completely accurate to the beauty, that did not look good to us either as our camera was inside the fog and would not allow us to see the emissives through it. This technique would allow us to control emissives despite there being lots of fog in front of them.
I discovered in the bomb bay scene that appx 70% of our frames would not render. The farm spat out memory code so I could tell we were having either RAM or VRAM problems. To get around this, I rendered the bomb bay and the mech seperately which would be combined in post. To further increase efficiency I also cached the bomb bay after materials and other nodes had been run as well as the mech.
The bomb bay scene
(WIP SECTION: I do not have access to Redshift at this time preventing me from making a proper shader node breakdown)
A majority of my time was spent on the bomb bay scene to make a high contrast shot that does not reveal too much of the mech but reveals enough to interest the viewer.
The entirety of the bomb bay background was constructed in Blender. The only pieces i did not create were the rockets and the chair with the console. I used as many procedural methods of modelling at my disposal as possible such as mirroring and instancing. For example, there is only one real rivet that is then instanced across all the areas i needed them and those instances are then duplicated and mirrored across an area, such as one of the supports, which are easily manipulated by a single value representing the space between each rivet.
The scene consisted of lights on the bottom illuminating the background as well as lights that were toggled depending on the camera angle. These lights use a random value per frame to get a flickering effect. The lights were then multiplied by a value to increase or decrease the brightness and, if necessary, a base value was added to stop the flickering from being too harsh as going from a value of 0 to a value of 1 would not be pleasant if viewed in a dark environment such as a theater.
Exporting from blender realizes all of these parameters and are grouped by materials which can be selected in Houdini.
The Bomb bay was procedurally shaded in Redshift using both parameters in geometry nodes and OSL code. When there are repeated pieces such as panels or rivets they are all separated and given an attribute using connectivity and attribute wrangle. This attribute is used in the Color node that will color randomly by attribute which is then ramped in the shader network.
The OSL code is inaccessible to me right now due to not having Redshift at the moment. I did not create the OSL code but i did use multiple sources to construct a material made by me. I found OSL code that would give me random scratches as well as code that allowed me to tri-planar project. Eliminating the need to have UV maps and giving me the ability to have separate objects interact with each other such as using ambient occlusion to localize scratches in convex areas.
The mech is constrained as to make sure none of the pieces clip in with each other as much as possible and animated in IK. I did break them a couple times to make the animation more fluid but they are not visible. Things such as the pistons and wires all move realistically and the belt for the cannon shells shake and jiggle with accordance to gravity and are constrained to not rotate or move unrealistically as seen in the breakdown segment of the animation. The belt is pinned in two positions and the cannon magazine is used as a collider. It is designed by using an instance of the shell located inside the gun onto the points which are using cloth physics and constrained to the local Z, Y plane.
Compositing
Nuke is the choice as I am the most comfortable with Nuke and it offers the most options to composite with in my knowledge. I also discovered a math algorithm that uses AOVs to make an image identical with the beauty but it wasn’t all perfect as it did not take our smoke simulation into play.
Beauty = Diffuse (DiffuseFilter*DiffuseLightingRaw) + GlobalIllumination (DiffuseFilter*GlobalIlluminationRaw) + DiffuseFilter*SubsurfaceScatteringRaw + SpecularLighting + Reflections + Refractions + Emission + Caustics