Scarlet Witch VFX Recreation: It’s All in the Details

Here I am again, back after spring break, which unfortunately didn’t end up being as much of a break as I hoped. Nevertheless, this week it was back to work as usual for my Scarlet Witch VFX. My mission when diving back in this week was further developing the minute yet crucial detailing found in the main body of my magic orb. My biggest issue in past passes of this effect was that the detail of my magic outer orb was always washed out, both in the original render and even more so after one too many blurs and glows in comp. So, after I stripped back and tried out some new methods last week, this week I sought to try out some more alternate methods in hopes of getting even closer to that cinema-quality detail.

Most of the progress I ended up making this week was all thanks to the incredibly helpful and talented VFX artist on youtube: Mats. Mats happened to make a video covering a very similar kind of magic effect to the wispy Scarlet Witch effect I’m currently working on, and his turned out really amazing looking in the end. So, I took a look at his tutorial to get an idea of additional things I could implement in my own work in order to improve its quality.

Interestingly enough, Mats created his magic particles by utilizing a smoke simulation to drive his POP network, which created a very interesting volumetric effect to his magic. I would love to try that method out one day, but I don’t think it’s entirely suited for the specific look of this Scarlet Witch magic I’m going for. Aside from the smoke simulation, another thing that stood out to me was the way that Mats colored his particles in a gradient driven by the “rest” attribute. Mats also rendered out his effect using RedShift, which is an aspect of Houdini VFX that I am unfamiliar with and am unfortunately not currently working with, so his methods weren’t directly applicable to me. However, with the help of my supervising professor, I was able to replicate the gradient coloring by creating my own attribute to use within the attribute adjust color node.

As I mentioned before, Mats utilizes the “rest” attribute, which he previously adds to his particles by inserting an aptly named rest node earlier in the process. To create a gradient suited for my own particles, I used the attribute wrangle node to divide the age of my particles by their life value, resulting in a brand new variable I titled “norm_age”. After that, I simply plugged this new attribute into the attribute adjust color node, and changed the corresponding gradient to a classic Scarlet Witch red. To further enhance this gradient, I followed back along with Mats’ tutorial to use an attribute VOP node to create a ramp that would affect my gradient colors. I then cranked up the initial value of the ramp while turning the end value down way low, ending up with this nice gradient from bright core to fading perimeter.

Along with these color adjustments, I also decided to opt to switch out my original particle clumping node created by an attribute VOP for Mats’ method of clumping with an attribute blur node instead. They both achieved pretty much the same effect, but I was amazed to find that my render time for my wedges was pretty much halved when I stopped using the attribute VOP clumping. Yay for rendering efficiency!

After applying these new methods and findings to my branching tendrils simulation and rendering those out as well, I felt pretty optimistic about taking my new particles into Nuke to get started on some comp work. Unfortunately, the particles didn’t exactly come out looking how I hoped they would.

After all my minute adjustments and value changes, I somehow ended up with something I was much less satisfied with than my previous renders. Even trying to do some comp work with this version proved to be difficult, but at the very least I learned some lessons about what exactly went wrong with this version of the outer orb. My biggest issue was in the coloring of the orb— I realized that I shouldn’t have made the darkest value of the gradient actually black, since it didn’t mix well with the merge nodes I wanted to use to bring the effect over top of my background. I also realized I needed to go back and revert some changes I had made to the POP net itself, since one of the values I messed with seemed to result in some much spikier-looking particles as opposed to the smoother wispy ones I had before.

Armed with this new information, I quickly turned back to Houdini to revert some of my changes and adjust the way I was utilizing the new methods I had found. I pretty much changed the POP net of the outer orb back to exactly how it was, then shifted the life expectancy back just a little bit. I also opted to add my color gradient after all my wedges so I wouldn’t have to completely re-render out all 10 of my wedges when I wanted to adjust the coloring of my particles. Finally, I went in and fixed the color gradient itself to be a more subtle shift from a lighter to a darker red, getting rid of the pure black from my particles.

With this second round of fixes done, I re-rendered everything once more and went back into Nuke hoping for the best. Thankfully enough, I was much happier with this version, though it probably still seems like a minute change in comparison to last week’s work. If there’s anything I’ve learned during my time working on this project though, it’s that the tiniest details are the ones that can make the biggest difference. If I can come out of this week saying that I’ve made even the slightest improvement, that’s a win in my book!

Hopefully you guys enjoy seeing small improvements over time like I do, even though they don’t seem like that big of an achievement in the moment. Honestly I’m glad I started this blog so I have a comprehensive way to look back on my progress and see how far I’ve come, even if writing about everything is an extra step to add to my dysfunctional procrastination workflow.

Previous
Previous

Scarlet Witch VFX Recreation: Inspiration and Improvement

Next
Next

Scarlet Witch VFX Recreation: This isn’t the End?