COO of ActionVFX Luke Thompson and CEO of Undertone FX David Johnson have told us about the enormous fire VFX pack for Unreal and Unity, discussed the development process, and shared some knowledge about optimization.
In case you missed it
You may find these articles interesting
Introduction
80.lv: Please introduce yourself and your team. Where did you study? What companies have you worked for? What projects have you contributed to?
Luke Thompson, COO of ActionVFX: Hello! My name is Luke Thompson and I’m the Chief Operating Officer of ActionVFX. My team creates the world's best and largest library of professional visual effects stock footage.
In the 6 years that we’ve currently been in business, we’ve had the amazing opportunity to play a small role in projects such as Spider-Man: Far From Home, Stranger Things, and the Call of Duty franchise. On top of that, our work can also be seen in music videos for Taylor Swift, Twenty One Pilots, and has even been featured on-stage at the Grammy’s.
While I’m still fairly young (26 at the time of writing this), I’ve always had two things in common: entrepreneurship and technology. I began freelancing as a video content creator at the age of 15 and quickly realized that while I loved the art of telling stories, building things that don’t exist yet has a tendency to outweigh that.
I also often joke that I’ve never been to school a day in my life, simply because I was homeschooled throughout grade school and then I choose to not pursue any secondary college education because of the entrepreneurship opportunities afforded to me.
It didn’t make any sense at all for me to take on large amounts of debt to learn the same thing everyone else is learning. Not to mention, an objective of my career is supposed to be making money, not spending it, right?
Launching the Company
80.lv: How and when did you decide to launch ActionVFX? What was your goal?
Luke Thompson: Before we began, there was such a huge need to raise the standards in the area of VFX stock footage. It was frustrating how often you would see the same muzzle flash or explosion back to back in nearly any project you watch. But luckily, this proved to be a leading indicator of a deeper issue that we would be able to solve with what we were hoping to build.
In 2015, I connected with who is now our CEO, Rodolphe Pierre-Louis, as he was in the very early stages of creating a single action-based product for his VFX stock website he started while he was in college, RodyPolis.
At the time, he was hiring a video content creator to capture some behind-the-scenes footage for this product shoot, which is where I come in! We traveled to Chicago to work with some of the pyrotechnicians from Transformers, so we had some high expectations for what this project was going to look like.
Needless to say, the entire shoot did not go well at all. In fact, the entire budget was spent and we didn’t have any products that we felt would accomplish what we thought could truly be the next step in raising the quality standard of VFX assets.
So, in 2015 we took all of the behind-the-scenes content we’d gotten and we put together a Kickstarter crowdfunding campaign to allow the visual effects community to help us bring our vision to life. In just 30 days, we nearly tripled our original goal of raising $20,000 by raising $59,309 by 446 individual artists! This confirmed our suspicions that there was a great need for what we were wanting to do.
Right after that, we poured that entire $59,309 back into a single shoot for new products. And while that one wasn’t too smooth either, it gave us enough to officially launch the ActionVFX website with around 12 products in June of 2016.
Ultimate Fire Pack
80.lv: Please tell us about your latest pack of effects. Why did you decide to choose this project?
Luke Thompson: One of our latest innovations that is also one of my personal favorites, is our brand new line of “Game-Ready” real-time assets, which is a term we’re using to describe this new type of product.
A Game-Ready asset is something that we build out as far as it can possibly go (in both Unreal Engine and Unity3D) so that the end-user simply has to import it into their engine and they are ready to use it. There is no additional setup, no building out particle systems to raise or lower properties of the effect, nothing! Because all of that work has been done by our team for you.
Another really cool point is that this is just the beginning of what we’re hoping to offer. The future of visual effects is very much real-time, and we’re going to be continuing to expand in the real-time space. My personal goal is that someone wouldn’t be able to look inside a corner of the Metaverse without it having a hint of ActionVFX somewhere. Whether it’s atmospheric smoke or a campfire.
To learn more about our wider vision, you can check out our “Future of Realtime FX” keynote, here.
Creating the Pack
80.lv: How was the production organized? What’s the first step? How many artists do you need to create such a set?
David Johnson, CEO of Undertone FX: First was a handoff of the filmed fire footage from the ActionVFX guys. We started a Perforce Depot so that we could get multiple artists working on it. We probably had 5 or so artists touch the project when all was done, but generally, only one or two artists were on it at any one time. We had a few intermissions during the production when we got swamped with client work, so it was a bit on and off over the course of about a year.
The first step was compositing, which our artist Faraji Benson took point on to get the footage from film ready to game engine consumable. Then we had other artists take over the Cascade, Niagara, Shuriken, and VFX graph implementations. The Unreal one came first, and the Unity was a rough match of what we had set up in Unreal. Our artist Neal Krupa did the heavy lifting on the blueprint and Niagara technical setup. I personally did a polish pass to work out any kinks and make sure the quality was there across the board.
80.lv: What are the main challenges when creating such packs? Could you discuss the workflow and explain some of the technical nuances?
David Johnson: There's a full technical overview and demonstration of the compositing process to prepping the footage for game engines here. But in short:
- The footage is brought into after effects and narrowed down to loopable sections whose frames are output in rows and columns in a single 4k texture that the game engine can consume.
- The textures are brought into Unreal, and Niagara particle systems are created that use fire as a texture. The fire footage is the basis, but other particles/textures/layers are added for embers, smoke, glow, lighting, distortion, bursts of embers, etc.
- It needs to work in full 3D, so some treatment is done to make the fire work when looking straight down at it... some "fire licks" are added, and the primary fire texture is Fresneled out, so it disappears when looking straight down on it.
- There is quite a bit of material work to make it work for a lot of cases – clipping through geometry, we need a depth fade noise, Fresnel when seen edge-on, emissive overdrive so it's nice and bright and glowy, phase randomization so that the particles aren't all in sync with one another, etc.
- Lots of blueprint work paired with Niagara set up so that a placed actor has a ton of "user variables". So that a non-effects artist can use these assets and customize them. Do subtle tweaking to ever placed fire. Disable whatever layers they don't want to use.
- Lay it all out in a gallery setting so that we demonstrate each version of the fire placed in a level, looking good, and a "texture gallery" that shows off all of the textures in isolation.
- We do all of this in Cascade also, for teams that are on older builds of UE.
- Do it again in Unity in both Shuriken and VFX Graph. It was a lot more of an undertaking than we initially expected.
Optimization
80.lv: How are the effects optimized for different projects? What are the peculiarities here?
David Johnson: Two sides to talk about – Memory and CPU load.
Memory
The textures are implemented in a "the whole shabang" approach. We expect the typical user (non-games effects artist) will just open the gallery level, copy the placed nodes (likely Niagara versions) and go to their level. When doing this, you're going to get all the full-res textures, and the memory load will be about 300MB. Probably too high for most game projects, but fine for "no-hassle" virtual production implementation.
We expect that users will "tune to fit" the memory load. If it's a big-budget game, and these are hero elements, go to town, use them as is. That's probably too much memory. There are two primary ways to lower memory:
- Drop Mips. Tell it to max the texture resolution to 2k, instead of 4k. That will cut the memory down to around 75MB from around 300MB. This takes about 5 minutes to do. You're just changing a single setting across 16 textures.
- Fewer variants. The fires call all 4 variants for maximum randomization. It's not hard to tell it to use just 2 or 1 of the variants for each of the sizes. This will also "quarter the memory load", from 300 to 75MB.
- Do both, and you're down to about 19MB. So, it's fairly easy to customize these to whatever memory targets you want to hit... but right out of the box, they are set to maximum quality.
CPU
That's where the Actor setups come in handy. Again, our philosophy was to ship them with "highest quality" right out of the box, with easy-to-use suppressions to lower load. The actors have checkboxes for almost every layer in the fires. The heavier elements are the popping embers (high-particle-count GPU particles), so although they are GPU particles, they give a bit of a CPU spike as they spawn a lot of particles in a single frame. They can be just turned off to lower the load. Or... turn them off on 90% of the placed instances but leave one or two in any area that has them on so you get the coolness, but mitigate performance concerns. The light, distortion, etc. – all of them have single checkbox disables, so that people can balance load vs target platform. If you're using these on mobile – just turn pretty much everything off but the main fire layer, and you're good to go.
We do have some additional automatic performance improvements we're intending to include in our next update, for better distance auto culling, but already they are ready to rock in full game production.
Conclusion
80.lv: Could you also share some tips for beginners willing to get into the VFX industry or perhaps join your team? What do you think is the best way right now to get started with effects?
Luke Thompson: My advice for anyone interested in getting started with VFX, is first, figure out exactly what area you’re wanting to develop in. There are so many specializations and disciplines out there that it will be really hard to be great and stand out at one thing if you’re unsure of exactly which one you’re wanting to focus on.
This could be anything from creating simulations of fire and destruction in tools like Houdini and EmberGen or really narrowing in on a skill such as 2D compositing inside of Nuke.
Once you start by defining that direction, completely immerse yourself inside of all possible tools and training related to that discipline. There are so many resources for learning online, that if you don’t lean into those to grow your skillset, you’ll already be behind the other aspiring artists wanting to do the same. So set your path, put in the work, and always be hungry for more opportunities to grow!
We are huge on artist education, so as a result, we have a very extensive list of resources at ActionVFX for people wanting to learn for the first time or level up their existing skills. We have things like free VFX elements and free tutorials, and we also have some amazing new plans for other free resources that I can’t speak about just yet. But be watching for more!
If you are interested, the Ultimate Fire Pack is in the Unreal Marketplace Showcase until February 1, 2022, and can be bought with a 10% discount during that time.