Niels Dewitte discussed in detail how he created comet projectiles in UE4 and shared a few useful resources for novice VFX artists.
In case you missed it
You might find these articles interesting
Introduction
I am Niels Dewitte, a technical VFX artist from Belgium currently working at Agni-Flare in Japan. I graduated with a major in Game Development from Howest Kortrijk Digital Arts & Entertainment and have worked in the game industry for 3 years now.
Before moving to Japan, I worked at nDreams where I helped prototype what has now become Phantom: Covert Ops, a VR game about stealth missions in a canoe.
In fact, I started out wanting to be a gameplay and AI programmer. While studying, I noticed I also really liked the art side of game development, so I started looking for a way to combine the two. VFX and especially Technical VFX happen to combine programming and art in a really satisfying way.
Comet VFX: Idea
Every month, on realtimeVFX.com we organize what we call VFX sketches. We usually take a simple idea, and in the span of a month, build one, or multiple effects around that idea. This month, the sketch topic had been decided by our community to be “Comet”. Because I am one of the organizers of the sketch, I typically don’t join officially to keep things fair. Instead, when time permits it, I try to make my own version for some inspiration, and because I enjoy doing it.
I set out to create a series of variations in which a stream of comet-like objects fall from the sky and strike an area. The variations can have themes like “Voxel”, “Fire”, “Electric" or they can start from colour schemes, concept art, or even just a simple abstract idea.
To start, I opened my physical sketchbook and scribbled down “Comet Variations” with 4 key pillar elements next to it: Location Telegraph, Comet Shape (essentially the head), Comet Trail, Comet Impact. These function as a framework for the effects, I consider them essential for the effect to work, and in every variation, each of these elements should also vary.
In addition, I noted down two extra elements: Comet Spawn and Effect Area Extra (essentially a catch-all for “things that might happen to the area because of the effect”). These are elements I would consider adding if it makes sense, if it helps the effect or if I feel particularly creative.
Initial Steps
Lately, I have been using Niagara almost exclusively for my personal projects. The tool is incredibly powerful and fun to use. The Niagara team at Epic have done an insanely good job on it, I really cannot wait to start using it in a real production environment.
I start off by creating a quick blockout of the effect using elements I already have in my project.
For me, a blockout isn’t so much about timing, or feel, or any aesthetic value. It’s more about getting all the required elements in the effect. That way, I can start iterating quickly. I’m also looking for openness. When iterating, I like to work broadly, from a large number of possibilities, filtering down towards the final effect. For that reason, it is crucial that none of the variables are locked in, nothing is defined explicitly.
I also try to figure out if there are modules, materials, or other assets that can be reused in this project. For example, when creating the particle trails, I used my particle location module to read in source locations. Also, for the telegraphs, I used a cheap decal material which I developed a few months before this project. Reusing assets like this can help you establish your vision in engine faster and with fewer roadblocks, so it is almost always worth looking into.
Organization in Niagara has also become a lot clearer than it used to be in Cascade. Mostly, I try to use location-based organization now. Emitters that are similar in functionality or are related somehow are put closer to the emitters they are related to. I also often use comment boxes to group emitters of the same element. For example, trails might use multiple emitters, but to keep that tidy, I make a comment around those trails marking them as such.
Sparks
I use a custom particle location module in Niagara to spawn sparks at the location of the Comet head. The module also allows me to have the velocity of the source particle affect the velocity of the spawned particles. In tandem with that, I used the event system to create ribbons following this same comet head. These ribbons help create a more visually interesting comet shape.
Lighting is done in two steps. First, I use particle lights with a simplified emitter to get as much “real light” in the scene as possible. Particle lights are expensive though, so I use them sparsely. After that, I use fake billboard lights as well as simple soft particles to fake fill lights and add glow and other light effects.
Impact on the Ground
I’m using a collision module on the comet guide particles to detect when they intersect with the ground. For optimization reasons, I also kill those particles so they cannot generate multiple collisions.
These collisions generate collision events for the impact emitters to catch and read from. This allows each of these emitters to react differently to the information it finds in the event. For example, the impact sparks spawn between 5-10 particles per collision at the collision position. The telegraph circle, however, only spawns one particle per collision but doesn’t overwrite its position, and as such spawns at the centre of the effect. By organizing it this way, we can use one event to generate a large number of variations.
If I wanted to add some damage to the ground, I could quite simply read in this same event, spawn one box mesh particle at the collision position. I could also reuse the cheap particle decal material that I used to project my telegraph on the ground here, saving some more time and performance over having to use real decals.
If I wanted to add some damage to the ground, I could quite simply read in this same event, spawn one box mesh particle at the collision position. I could also reuse the cheap particle decal material that I used to project my telegraph on the ground here, saving some more time and performance over having to use real decals.
Minor Reworks
I typically try to make these sketch effects in one sitting in less than 2 hours. This restriction helps me focus, but sometimes my vision becomes a bit too focused on the few specific things I’m trying to achieve, and I become unable to see the mistakes in the larger picture.
In this case, I ended up focusing too much on trying to get the burst spawn animation to feel good. The effect I originally settle on was incredibly monochrome and lacked variation and impact.
So, the next day I ended up playing around with adding some more variation. I added larger, slower stars in a contrasting colour for the viewer's eyes to rest on for a bit. I added some subtle and some less subtle glow elements to the impact and changed the timing on the telegraph to fade out a bit slower, giving the feeling of the effects cooling down.
Educational Materials on VFX and Niagara
First and foremost: realtimevfx.com. Not only is it a great community of like-minded artists all improving their craft, but it is also home to a large collection of resources to learn from, contests and challenges to sharpen your skills, and a Job section to find an awesome company once you are ready to make that jump.
If you want to learn more about my techniques, you can also have a look at these mini-tutorials. They are written tutorials focusing on one specific technique or system. They are great if you don’t want to sit through lengthy tutorials trying to find that one solution to your problem.
I also have a pack of useful Unreal resources. From Niagara modules to a tool for creating spline meshes – and best of all, it is completely free to use!
If you want to start learning Niagara but have absolutely no idea where to start, I suggest the video below. It does a great job at condensing a lot of important information in an understandable way and arguably more importantly, it demonstrates the kind of mindset you want to have when developing inside of Niagara.
Advice
The thing I want to say to aspiring artists is, unfortunately, despite improvements in recent years, there still is an enormous shortage of game VFX artists. This makes finding the right resources and path towards learning quite difficult. We do have an awesome community though, so if you show your passion, you will surely find help!
That being said, it is probably a good idea to find the process of creating effects enjoyable. You’re going to have to create a lot, and most of the effect won’t turn out the way you want. If you only enjoy the end product, it is difficult to find the motivation to keep going, but if you enjoy the creation, there is no reason to give up!
Niels Dewitte, Technical VFX Artist
Interview conducted by Arti Sergeev
Keep reading
You may find this article interesting