logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Creating a Flamethrower Visual Effect in Unreal Engine 4 & Houdini

Sabyasachi Bose has shared a small breakdown of the VFX project the artist worked on, talked about sources of inspiration, and explained how he achieved a smooth motion of flames.

Introduction

Hi, I'm Sabyasachi Bose and I am from India. I am a passionate gamer and also like to explore different real-time workflows for games and cinematic. I'm currently employed at Technicolor Games as Real-time FX Supervisor. 

In 2008, I started my career as a CFX artist (Character FX) where I worked on the first two Disney Tinkerbell movies. Then I started doing VFX for animated movies and TV series, where I learned many different tools and techniques which are essential for an FX artist.

Journey into Gaming and Real-Time

In 2015, I got a chance to explore Unreal Engine and do VFX for a game. Most of my learning was from online tutorials, talks, and self-exploration of the engine. Having an FX background definitely helped me but I also realized that working with Game Engine and in real-time, one should keep an open mind and the right thought process to accept new ways of approaching things. I am glad that I got to work on that project and since then I have worked on various VR, AR, and games projects and real-time has become my thing. 

The Flamethrower Project

I started creating the flamethrower effect for a test in Unreal Niagara. One of the references I followed was a video from The Slow Mo Guys YouTube channel. Having references is very important in many ways. Even if we end up creating an effect that is completely our own in terms of visualization, a reference always helps us to get the basics right. Once we have some references and the idea, there are many things to be considered like the look & feel, different elements, shape, color, scale, behavior, blending of all elements, and definitely optimization.

The Creative Process

Keeping the reference as a guide, I used some of the starter content textures and made a quick version of the effect in the Niagara System. It is very important to get a quick block out of the whole effect and then we can keep on iterating after that. So I iterated each FX element until I got the desired results. The breakdown of those FX elements can be found below.

Once I was satisfied with the result, I created the user parameters in Niagara System to have control of the important parameters in one place. I also created the FX parameters control setup in the Construction Script, which gives us the flexibility to tweak the FX parameters locally at any level. 

A very important thing to keep in mind is the scale of an effect. So I downloaded a flamethrower model (CGTrader) and started using it in a scene with the effect. Having the model provided a context in terms of scale and overall feel.

Since the flamethrower is like a weapon and I wanted to have that feel of firing it. So I created a blueprint having the model and the FX with a simple setup of activating and deactivating the effect with user inputs. Now when you enter the game mode and fire it, it gives you a totally different experience compared to a non-interactive effect. 

I wanted to have one more setup, a simple flamethrower animation which is a primary functionality if you use a flamethrower. For faster visualization, I created a sequencer timeline and animated the flamethrower blueprint. Animating the flamethrower with the effect helped me to visualize the overall behavior of the effect, the size and rate of flames, and the visual feel when the model is in motion. This is a good way to understand how much we need to tweak the different FX elements so that it all feels natural. 

Working in Houdini

After the first variation, I wanted to have another variation of the flamethrower effect. This time I choose to go for custom textures that were created in Houdini. Houdini is a great application and for an FX artist, it has some spectacular features which can not only be used for films but also for many game dev requirements.

So I created two setups, one for a fire/flame simulation and the other for a smoke simulation. Once I got a nice simulation result, I created the texture sprite sheets using the Labs Texture Sheets node. You. can find the reference tutorial for using the Labs node here.

Then I imported the generated texture sprite sheets into Unreal and used them in the Niagara System. I had to make a few tweaks and adjustments based on the new look and then we have a new variation of the effect ready. 

Optimization and Challenges

A very crucial factor for any real-time effect is how optimized it is. Optimization is as important as having a great visual look and feel. VFX can have a high bottleneck when it comes to real-time performance. Some general optimizations can be done by having a lesser number of particles, unlit shader, particle scaling, etc. In Unreal, we use the shader complexity mode to visualize the overdraw and complexity. In Niagara Particle System, we have an option of particle cut-out, which helps to cut out the unused empty spaces of a texture in the render, thus helping in reducing the overdraw. 

I wanted to optimize the flamethrower effect to a certain degree and keep it flexible so that it can be used and further enhanced or optimized as per requirement. One of the biggest challenges was to have a smooth motion of flames and to keep the particle count in control. So a balance between the visuals of FX elements, their physical behavior, and their performance was the key. 

Tips for Beginners

Game VFX is very vast and there are many parts to it. One must focus on visualization and understanding of the fundamentals of FX and definitely has to have a passion for game and game VFX. Technically, apart from particle system creation in an engine, a game VFX artist needs to know some basic modeling, UV-ing, shading, texturing, lighting, simulations, etc. Aesthetically, one must know the basic principles of animation, shape language, color concepts, sense of scale, and how it all can be blended together for creating an effect. 

Tip: File organization is also very important. Having a proper folder structure with good naming conventions really helps to keep things organized for you and your team.

For starters in Unreal Niagara, I would recommend the tharlevfx YouTube channel where there is a video playlist of 'Niagara' tutorials for beginners. Other than engine knowledge, one should also look into learning other applications such as Houdini, EmberGen, and Maya, for creating various effects and also any texture creation tools like Photoshop, After Effects, Substance 3D Designer, etc. 

To learn more, you can refer to the Unreal documentation, the Unreal Engine YouTube channel, and definitely the Real-Time VFX website.

You can also check my works on ArtStation, Instagram, itch.io, and my blog

Sabyasachi Bose, VFX & Technical Artist

Interview conducted by Theodore McKenzie

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more