VUE without competition
Can you please give us a walkthrough how to implement this into Maya? would be super helpful. Thanks a lot.
Oscar Bernelind, a VFX artist at Avalanche Studios, kindly shared the details of the VFX production for Rage 2: weapon & impact effects, vehicle combat, Overdrive mode, and work with colors. At GDC 2019, Oscar gave a talk on it, the presentation is available at GDC Vault (for subscribers only).
80lv: Could you introduce yourself to us? What projects have you worked on?
VFX Philosophy in Rage 2
80lv: What was your main design philosophy for VFX in Rage 2? The game has these amazing level of contrast, a lot of explosions, very bright colors and so on. How did the art direction influence the way you were crafting those things? And what was the general approach to the visual style of them?
I’d say, the main philosophy we had when it came to the VFX was to enforce this contrast in both color and intensity while at the same time try to maintain a grounded feeling in the world.
And a big part of that was when we actually applied all these colors. I mean, we didn’t want to add more color randomly just for the sake of it – it had to be always applied in a way that made sense and promoted gameplay clarity. So the main thing we looked at when deciding where we could apply these colors “naturally” was whether it was in line with what the player would expect, and the art direction of the game played a big part in guiding us.
Since we have this “Wasteland Cyberpunk” theme to the game, where old tech meets future tech, it created opportunities where the player wouldn’t have set expectations as to how something should look or behave. So, for instance, when we have an assault rifle, we would keep it more grounded in terms of colors and behaviors of the effect. But with something that looks completely foreign, like the Grav Dart Launcher, we had more freedom since the player would have no real reference point as to how that should look.
With that way of thinking, we tried to keep the world ambient and static effects in the world more grounded, while all our weapons and abilities would be the main source of color when it came to the VFX. This also served the purpose of giving a bigger contrast in and out of combat and making it feel more intense.
I’d say the approach we had when defining the style was that we wanted to get contrast both where we applied colors and in the use of those colors within the effects themselves. This means when we use a bright colorful effect we try to stay away from using just one single color, but always have a complementary secondary color to give it more contrast and bring out different elements within the effect.
80lv: Let’s talk a bit about creating the projectiles. How do you approach them? What were your main discoveries in the production of these effects? How did you build amazing impact effects with a wonderful cloud of smoke at the end? It would be amazing to understand how you worked on these weapon effects.
There are a few things that I’d say are important when it comes to creating this sort of weapon effects but probably the most important one is to treat the entire package as a single effect. We tried to identify where the highpoint of firing the weapon should be. Is it in the muzzle flash, the impact or the travel of the projectile? Then pace the effects around that.
One of the main discoveries when working on these effects actually involved the impacts. And that was how much it helped to add something you can relate to in terms of physical elements on top of the other elements already in there. What I mean is adding an element you can recognize that is affected by gravity if we want to give the impact more weight, or the opposite with embers flying away in the wind if we want it to feel more light. It all comes down to trying to give the weapons more of a distinct feeling compared to each other.
Using Contrasting Colors
80lv: How do you work with colors? It’s interesting to understand how you combined these bright pinks and violets with the realism a player expects and how you made the color to work for the VFX.
This is where the things I talked about earlier come together. To make it feel as realistic as possible we try to keep these more bright colors tied to the weapons and abilities that have more of the “Wasteland Cyberpunk” theme applied to them than, let’s say, the assault rifle. Also, we rely heavily on using secondary colors in the effects to add more interest to them and to make sure they read well in any given scenario.
For instance, if we have a gameplay scenario where there is a ton of fires spread around the combat space, a completely orange projectile won’t read very well. But if we add a contrasting secondary color like blue, it will read better in those situations.
Then, we tie these different color schemes of primary and secondary colors to different gameplay elements. For example, if we do something that affects gravity like the Vortex ability we have an ultraviolet purple as the primary color with a cyan as secondary.
So going by what I said about viewing all the VFX of firing a weapon as a single package, we tried to distribute the colors in that way as well. If we take the Charged Pulse Cannon, for instance, we used warm orange with a secondary blue color in its VFX, then distributed the gradient of those colors over the muzzle flash, projectile, and impact.
Usually, when I start working on these effects, I start with the projectile which in this case goes from orange and leaves a blue trail behind it as we want to use the warmer color to draw the player’s eyes towards the direction of the projectile. Then we take that gradient into account for the muzzle flash and the impact and lean more towards the secondary blue color in the muzzle flash and more towards the warmer orange tone in the impact.
80lv: You’ve done some fantastic work for the vehicle combats and the way the VFX works there is outstanding. Could you tell us about some interesting solutions for explosions, destructions, and other things? What was the most useful tech for them?
Thank you! We did quite a few iterations on the destruction of the vehicles and its pacing. The challenge here was that most vehicle combats happen at a very high speed in Rage 2, so if we just blow up the vehicle you wouldn’t really see the explosion. You would just drive past and miss the reward of taking it out.
The solution for us was to have a snappy explosion to give you that immediate feedback, then focus more on the tumbling of the vehicle once you’ve taken it down and better dress it with effects. What’s really helpful is that we can hook up values in our effects to be scaled by the parameters that are fed from the game, like the vehicle parts’ velocity, collision force, etc.
That way we can make sure that the burning car chassis reacts better to the movement of the tumble and extend the period of time the player gets rewarded.
80lv: I love the way you’ve done the blood splatter effect impact. Could you tell a little bit about the way this is done? How does it work with the character impact animations? What way do you work on these effects?
That’s awesome to hear! The particles themselves are normal mapped erosion particles with the textures generated in Houdini. For more detailed information on how to do those, I would strongly recommend taking a look at the Liquid Effects in The Last of Us GDC talk by Eben Cook which served as great inspiration for me when looking at how to do the blood for Rage 2.
When it comes to how they interact with the impact animations of the enemies, we want to cover as little of the character as possible with the effects while at the same time have something that reads very well. So what we focus on is trying to use the blood impacts to break up the character’s silhouette.
We do this by taking the normal of the impact surface where the bullet hit and orienting the impact along that vector, then we give the particles in the effect a lot of directionality. So in most cases when you shoot a character the blood will fly outwards, breaking the silhouette and staying very visible while not covering up the impact animations of the target.
Overdrive Mode Effect
80lv: How do you actually figure out that static influence effect you’re using in Rage 2? What are the challenges? How is it done?
Oh wow, that was a long process. It all started when we were in a meeting talking about how we should do the Overdrive where the player goes into this super mode, which is one of the major “peaks” of the combat loop. In this meeting, one of our UI artists showed a previs video he made where all these crazy video compression artifacts would start happening once you went into Overdrive.
It wasn’t really what we wanted since it impacted the visibility too much but it got us thinking about what we actually could do and that eventually led to the fullscreen glitch effect that we ended up using a lot in various places of the game.
But it came to us in stages. First, we started off with just applying a different color curve when you entered the Overdrive mode. Since we wanted it to be a really colorful moment, that served as a really good base without impacting the visibility of the player, and the glitch was then added on top as a secondary element to add more movement and interest to the screen.
The first thing we tried was adding in chromatic aberration, but we didn’t want to just use the regular red and green so we put in the function where we could pick any color we wanted. We used pink and cyan to keep in theme with the rest of the game.
The problem with that and the biggest challenge with doing something like this was that it impacted the visibility too much and became annoying to look at after a while – and that is the last thing we wanted! So we added in a radial fade to counteract that, but then we lost a lot of the impact it added.
This was the point where we started looking at adding in something more along the lines of MPEG/MP4 compression artifacts.
In order to achieve that, we first had these blocks and lines that would fill the screen and distort it as a base, and we could control the percentage of the screen that was filled and at what speed they would animate.
Then we added in the chromatic aberration again but only into those distorted parts, and that’s when we started feeling like we were getting closer to what we wanted.
The final detail we added was filling the blocks and lines with a solid color, and again we used the same color here as for the chromatic aberration, with the addition of yellow to get some more contrast.
With all these elements and the radial fade, we were pretty close to the finished result. The last thing we needed to address was the fact that the animation speed of all the elements was constant and ended up feeling a little bit like frame lag towards the edges. Again, this was something we absolutely did not want! So the final detail was to spline the different values like the speed and the fill rate to make it feel more random and inconsistent.
And there you have the final result seen in the video. It ended up being a really colorful peak in the combat loop so we were really happy with how that turned out!