Category: Final Project: Theory and Practice
All Together Now 🙂
After months of work, here is the final result. Although it is only one minute and there are still many mistakes, I am still happy with the outcome, and I hope the next project will be better.
Reflections
In conclusion, I have learned much and recapped many lessons from this project. I think there are three main takeaways for this FMP.
Firstly, I think planning could be better. I was a little too ambitious at the start of the project, as I wanted to do many things within a short period of time. I think I was too comfortable with just doing FX, and I forgot that other departments, such as storyboarding, animation, and compositing, also require time to complete. Consequently, I had to change the story halfway through the project to lighten my workload. If this was a group project, I think that the initial idea of the project would be feasible.
Secondly, I could have done the animations and compositing better. However, that being said, I think I am a little better at it now. Furthermore, doing the whole workflow by myself made me appreciate animators’ and compositors’ work. This would help me plan the work schedule better as well.
Lastly, I am really glad I got to try Davinci Resolve for compositing because I am really attached to how smoothly the workflow complements Blender 3D and other DDCs. Although I didn’t manage to explore crowds in Houdini, I still got to recap pyro simulations, which is still nice.
END
For sound effects, all of the sounds are downloaded from Epidemic Sound, which has a large library of sound effects available. Even though some sounds aren’t exact matches, I was able to find substitutes for them.
Below is the timelapse of me compiling all the sounds together. Towards the end, the software got laggy, and the screen froze every 5 seconds. I suspect it is a problem with my workflow. I should not lump all the shots together; I should make the sounds separately based on the shots. Initially I wanted to use Davinci Resolve’s native sound editor but I realise not all footage was inside the editor so I switched back using Audition.








Compositing is the most important part of the whole pipeline, as it is the final step for the visuals before shipping them off. For me, compositing means keeping all the images consistent and telling a story. I am not good at compositing, but I will try my best. I consulted with my classmate Chay for his comments because I think he is a much better compositor since he has done professional compositing work. The comments I got were that I need more contrast and camera lens dirt.
Here, I try to adjust and grade all the images so that they look roughly the same. A lot of work was put into masking and giving the shot a gradient look so that the overall look would not be so flat.
Here is the timelapse of a section of the composition.
This is the first time I have tried Davinci Resolve for compositing. I wanted to try an alternative free version of a node-based composition software. Hence, Nuke (not free) and After Effects (layer-based) are out. I am glad I tried it out because I think this software would be my go-to compositor from now on, as I really liked the UI and the whole experience of using it.
Lighting Setup

The lighting for the short is relatively simple. Since I am not a professional lighting artist, I intend to keep it less complicated. For the main lighting source, I plan to use the environment HDR. The lighting would be an afternoon sunset to evening setting. For the first part of the shot, any additional lighting would be signal lights from the jet planes.

For the second part of the short, other light sources are from the missiles, the base spotlights and explosions.


Rendering
I am sticking to the traditional film pipeline for the rendering workflow. Renders are in multi-layer EXR format. The main advantage of rendering in EXR format over PNG format would be the amount of information stored in EXR.
I exported the depth layer for my shorts to add defocus in post-production. Also, I am highly concerned with how the explosion will turn out, as rendering takes a long time for shots with volumes. Hence, I selected the volume passes so that I can have more control when I am colour grading during compositing.
If time permits, I would render out the other more commonly used AOVs, but setting up the nodes would take a long time; hence, I decided to pass on them. In the future, the proper way would be to combine all the main passes to get the final render. But in this case, I skipped this step and went straight to colour-grading the render.

Also, before exporting, I denoised the individual passes to remove fireflies. However, the render sample might be too low for some shorts, and the final output render for some sequences is blurry in the darker regions.
Jet Trails

For missile trails, the fx was first set up with a rough particle simulation to place an estimated pyro source for the primary simulation. The particles in the source simulation are assigned relevant attributes such as temperature, density, and velocity. Next, the particles are converted to volume fields, which are inputs for the pyro simulation. In this case, the pyro source is located at the back of the missile and has a velocity going in the opposite direction of the missile’s motion. The result is shown above where the initial stream is straight, but the trail becomes more defined after a while due to the various forces in the air at work.
Muzzle Flash


The base setup for the muzzle flash is an explosion setup in Houdini. I orient the explosion’s source volume to the cannon’s barrel and simulate the smoke out of the AA guns. I turned up the smoke’s dissipation to make real-life examples of a tank firing or an artillery gun.
Projectiles

Here, the projectiles of the AA guns are just fast-moving particles with a line inserted into the points. The line is then given thickness. I did not sharpen the two ends of the tube because the motion blur would do it for me during rendering.
Missile Animation

I would say this is one of the most complicated shots in this project because I have to layer many different simulations, and the different layers of FX also have to work together.
Firstly, I simulated the fall of the main missile. Using this animation, I input the missile animation into a rigid body simulation to get the fins breaking apart.
Next would be the animation of the smaller missiles hidden within the main missile. They are done by instancing the geometry of the smaller missiles to a custom particle simulation, which I configured to emit out of the main missile after the fins break apart.
Lastly, using the animated smaller missile geometry, I can use their animation path as a source for the smoke trails.
Explosion


The explosion for the last two shots was also relatively more complicated. It consists of two parts: the falling of the missiles and the explosion at the same time the missile touches the ground. The sourcing of the explosion needs to be consistent with the end of the missile dropping onto the ground. This would require me to code in a specific start frame attribute to the particles so that I can split the output into two groups. This problem stalled my progress for a few days before I could figure out the solution. Ultimately, the setup now works.
Debris
I originally intended for the last two shots to have debris flying off from the explosion centres. This would be a particle simulation with small, medium, and large rocks instanced on them. However, I decided not to add them in due to the tight deadline, as the shots were very fast. Adding them will give the overall scene more detail and realism but would add to the render times.
Shot002 – Planetside UI

This shot shows the jets’ active flight path heading towards their target, an enemy base planetside.
The background is a planet 3D render with moving clouds, while the HUD elements are done in After Effects. These are motion graphics elements that give it a military user interface look.
Shot005 – Radar UI

Shot005 plans to show the enemy base detecting the incoming threat of the base and deploying its anti-air guns in defence.
This shot’s elements were done in 3D. The world grid and the centre radar element are just simple geometry and planes. What drives this shot would be the holographic materials done in Blender; the look is achieved by blending a glass shader with an emission shader with fresnel as a mixer. This shot has no lighting because all of the elements in this scene have emissive materials. The other elements are also motion graphics done in After Effects.
Shot010 – Targeting UI

Shot010 depicts the targeting interface for the jet’s missile lock to the enemy base. There is a main target, and smaller animated targets show that every building in the base is locked.
The base and terrain are rendered in 3D, while the UI interface for the missile lock is done in After Effects. Similarly, the base geometry was given a holographic shader to give it a hologram look.
The animation is relatively simple for this short project. The main subjects that needed to be animated were the fighter jets, turrets, and missiles. This is carefully thought out, as I do not want to animate characters for my FMP. 3D character animation will increase the time and complexity of the project. As mentioned earlier, the main objective is to experiment further with the FX in Houdini.
Shot001
Frames:0075f
Frame Range: 0000f-0075f

Shot 1 consists of the arrival, where the mothership and three fighter jets jump out of hyperspace to the local planet. I heavily referenced the Battlefront II game cinematics for the camera movement and framing. I do not have much experience with animation, so I am rather satisfied with the results.
Shot003
Frames:101f
Frame Range: 0296f-0397f

For Shot 3, much time and effort were spent ensuring that the jet movements were realistic in terms of aerodynamics. The initial animation graph lines were linear; adding easing to the keyframes makes the stiff animation blocking more convincing.
Shot004
Frames:49f
Frame Range: 0398f-0447f

Shot 4 was also done similarly to Shot 3. I also closely followed the follow-through and overlapping action principle of animation. The planes are animated with a sense of inertia and bounce.
Shot006
Frames:163f
Frame Range: 0553f-0716f

Shots 6 and 7 referenced the movie Dune Part I invasion scene. The anti-air defence turrets are deployed to shoot down the enemy landing vehicles. The turret slowly emerges from its hidden compartments underground and fires in the general direction of the incoming aircraft. Special attention is given to the moment when the gun barrel fires. There has to be a jerk coupled with sufficient camera shake to show the massive forces and power of the gun.
Shot007
Frames:52f
Frame Range: 0717f-0769f

Shot 7 would be just staggering the different gun deploy animations. Their firing timings are also offset following the reference.
Shot008
Frames:154f
Frame Range: 0770f-0924f

This is another side view shot of the aircraft. However, I animated the pilot in the cockpit, giving the attack hand sign. This will be the final shot of the aircraft for this shot. The aircraft prepares the final approach to its attack target.
Shot011
Frames:35f
Frame Range: 1072f-1107f

For shot 11, the animation involves the missile rack and the missile. I added details to the scene by animating the fins moving in place before flying off. When released, the missile falls slightly due to gravity before thrusting off forward. The rest of the animation is linear and mechanical.
Shot013
Frames:115f
Frame Range: 1142f-1257f

This shot is referenced from the missile scene in the first Ironman movie. The main missile slowly loses speed and releases a swarm of smaller missiles it carries. The swarm radiates out from the main missile, and after a while, their thrusters fire and fly towards the target base on the ground. The animation is either procedural or simulated for the rest of the short. This is because I am running out of time, and animating every small rocket is unrealistic.
The “animation” consists of breaking apart the main missile, a rigid body simulation. The falling of the main missile is a particle simulation.
The missile swarm is also a particle simulation.
This shot contains other miscellaneous elements, such as the missiles’ thruster flames and missile smoke trails.
Shot014
Frames:46f
Frame Range: 1258f-1304f

Like the swarm missiles in shot 13, the small missiles here are also animated with particle simulation. I instanced the small missile models to points falling towards the enemy bases. Similarly, I will also instance the explosion source for the explosion simulation based on these falling particles. That will be further elaborated in the FX section of the FMP blog post.
Shot015
Frames:30f
Frame Range: 1305f-1335f

The last shot is the same as the previous shot, just with a moving camera. However, I planned for the explosion to gradually become bigger and eventually cover the entire frame, which led to a final cut to black, ending the video.
Fighter


The jet model is created using existing asset packs. However, other kitbash geometries are used to modify the base model, such as the main wings and side aerofoils. The textures for the model will also be adjusted slightly to better suit the context.
Carrier


The mothership was not adjusted because it is shown only in the first shot. So to save time, it was untouched.
Enemy Base


The images above were the initial planning of the base layout for the base. However, the meshes are detailed with a high polygon count. Hence, in the final render, the base will be reduced drastically. This optimisation will greatly increase the render efficiency and reduce render times.
Gun


The AA gun positions are padded with sandbags. This will allow me to hide a lot of extra unwanted meshes at the base of the AA gun. The sandbags also make the scene more grounded and realistic.
Missile with Ship internals


The missile was also sourced from existing assets that I possessed. Due to the need for this shot, I separated the missile’s main fins and tail fins for secondary movement when it was being deployed. The fins are offset inwards of the missile body. The fins will expand and snap back to their original position during the final missile deployment.
Terrain


Constructing the terrain was done using the method explained in my thesis. I downloaded height displacement maps of natural mountain ranges. These maps allow me to generate mountains based on their luma values. I can further adjust the heights of the mountains by intensifying the displacement amount. With this method, I can easily generate many terrains to be used as the background of my scene.
Reference
Mechs

Some reference images of mechs in battle give insight into camera angles and how to position the mechs so that they look very powerful. Another interesting thing that I have learnt is that to show the scale, it is important to place smaller objects, such as human characters or smaller vehicles.
Destruction

Some space destruction scene for reference. Initially, during the planning stage,
Turrets

Turret/Defence concept art helps me understand how a sci-fi scene works. I can make creative decisions on what should be a turret in my short look, including how it should fire and what kind of projectiles it will fire.
Lunar Outpost/Base

Concept of outpost/base layouts. Reference of some essential buildings in an outpost. What should the overall layout of the base be like? Circular round shape? or polygonal with sharp edges?
Troops (obsolete)

Troopers or soldiers that will occupy the base put up a defence against any attacking forces. What should their armour look like?
Swarm

The possible look of the enemy swarm. A reference for swam movements. I guess the main pop culture references for the swarms would be Starship Troopers or Warhammer 40k.
Missile

In light of the recent Middle Eastern conflicts, I was able to screengrab some of the rocket attack images. Although what is currently happening there is tragic, the images reporters took of the conflict zone are stunning.
Moodreel (obsolete)
From the mood reel, the main reference is from the StarCraft II trailers and “Love Death and Robot” episode “Suits”:
Storyboard (obsolete)

UPDATE***
The story has changed, as I realised that the workload for the previous idea would be too much for me to handle within such a short timeframe. Therefore, I changed the story drastically from swarms to fighter ships, as this will lessen the time and effort for the final delivery.
Storyboard II (current)

MoodReel II (current)
Misc. Tech Specs
Frame Rate: 24 FPS
Aspect Ratio: 2.39:1 Anamorphic
Resolution: 1920 x 804