Cut Scene VFX :
   

Recreating the precise moment of a tank firing    I    EmberGen - Houdini - Unreal Engine 5.4    I    2024   I   8 Weeks









Details
Project Brief : The power and intensity of a tank firing are truly captivating. Even though the muzzle flash lasts for less than five frames, it carries immense visual weight. The unique motion of the fireball, as it rapidly expands and is pushed away by the exhaust gases from the barrel, adds a dynamic element that's often overlooked.

My goal for this personal project is to capture and convey the power of a large-caliber gun firing, incorporating as many details as possible while ensuring it runs in real time. I aim to highlight the contrast between the violent muzzle flash and the subtle shockwave and ground dust, emphasizing the raw intensity of the moment alongside the nuanced aftermath.








Disciplines :







Credits :
Embergen: Fluid Simulation
Houdini: Volume Processing
Houdini: Model Processing
Unreal Engine: Sequencer
Unreal Engine: Environment Layout
Unreal Engine: Animation


Tank Model, Sketchfab,  zcoder  






Research & Observation



Reference

To accurately capture the precise movement of the muzzle flash, the timing of the ground dust, and the motion of the tank absorbing recoil, I extensively researched and analyzed numerous real-life footage of tank firings. This allowed me to identify key aspects of a tank’s muzzle flash and understand how it impacts the surrounding environment.



Key Aspects

The rapid motion and duration of the fireball: 
The initial fireball reaches approximately two times the height of the tank. Within a single frame, it’s blown away by the barrel’s exhaust.

Stretched fireball length: 
The elongated fireball can extend beyond the length of the tank.

Timing of ground dust: 
Ground dust should appear after the muzzle flash dissipates. It carries a lot of weight and lingers, quickly affected by wind.

Shockwave timing: 
The shockwave occurs simultaneously with the muzzle flash.






Model Processing








Houdini Model Processing and Animation


After finding this tank model on Sketchfab,
I used Houdini to separate all the moving parts for animation and posing. The animations include suspension movement, barrel recoil, and the tank body recoil. Although these motions are subtle due to the tank's massive weight, they are crucial for conveying the powerful impact of the firing sequence.

Later, these animation will be transfered in to the UE5 using ABC GeoCache Workflow.






EmberGen Fluid Simulation








EmberGen Fluid Simulation

Utilizing this amazing tool, I was able to edit and preview complex fluid simulations in real time. This process required significant time and effort to meticulously polish and recreate all the necessary motions within the firing sequence.



In the slow motion GIF to the left.

You can see my attempt to capture the “blast then blow away” motion, as described in the key aspects of tank firing. My solution involved emitting a fixed amount of particles, then converting them into a volume. I timed an invisible line force to push and stretch the fireball. The ground dust spawns with the muzzle flash, incorporating added weight and a cooling rate to convey the material’s properties.

Later, those volume will be transfered in to engine using VDB.






UE5 Environment & Implementation









Environment  Design

Utilizing powerful Unreal Engine assets from Quixel Bridge, I was able to draft and complete a realistic scene for my VFX shot. I used the distant mountain line to guide the viewer's eye and added secondary stones and weeds to anchor and balance the composition.

On the left is a brief overview of the process, showing how each element comes together.


VFX Assembly

I modulated each part of the muzzle flash to maximize flexibility. Each layer is further adjustable in Unreal Engine sequencer, allowing for precise blending and fine-tuning to achieve the best outcome.