top of page
  • zarahnajmi

Avatar VFX Shot Recreation Week 5: Setting things Alight

It has officially been a month since I started this project! The main goal for this week is to get the main fire in the shot, though I'll start of with some adjustments based on last week's feedback.


Initial Fire Source Adjustments

Starting off short and sweet, I just needed to make a few adjustments to my initial fire source. I adjusted the falloff to be a bit smoother through remap and another attribute paint node, and then I lessened turned up the pulse duration on my attribute noise nodes. This makes the flames look less flickery than they did last week, which was ruining the slow-motion look of the shot. Then, I made some adjustments to the voxel size in both the volume rasterize node and pyro solver node to make the starting points of my flames look less blobby. A discrepancy between the two values is what caused this, and that has been fixed now.


Creating Even More Fire

The main element I want to work on this week is the main smoke and fire that come pouring off the Samson after the explosion.


Catching You Up on Last Week

If you recall, this is something I had gotten started on last week but hadn't documented since I hadn't quite gotten that far. Basically, all I did was paint my emitter in much the same way I did the initial pyro emitters, added noise to density and temperature, and then connected everything to a volume rasterize and a pyro solver with disturbance and turbulence turned up high. It...looked bad.



Troubleshooting and Shaping

So, this week, I'm gonna work on shaping this column of smoke to better match the reference shot. My first thought was to mess with the divergence attribute. My professor talked to me about this attribute in our weekly, citing that I could use a higher divergence value in the first couple frames to create a mock explosion if the pyro burst setup wasn't working. Here's a little demo of how that would look:



This is with divergence set to 30 in the first 12 frames of the simulation then down to about 5 at the end.


I figured I might try using this to maybe give a more billowy look to my flames, so I started experimenting with different levels of divergence. Again, it just looked bad.



Then, I decided to mess with the velocity attribute a bit. Initially, I had to velocity being sourced. So, I used a point velocity node to get the helicopter's velocity on each point, used an attribute wrangle to reverse it, then finally an attribute adjust vector to spread it out a bunch. I also tied it to my emit via attribute wrangle.



This sadly didn't help all too much (actually it looks worse).



At this point, I was getting a little frustrated, so I decided to go to my professor for some extra help. He helped me thing through my shot and determine what was going wrong. The first thing that was pointed out was that there was too much smoke and fire being emitted, which is why it all looked like an ugly chunk. So, I had to go back to my emitter and repaint more localized areas of emission. Looking more closely at my reference, I determined based on the brightest sections that really only the inner floor, a bit of the cockpit, and a little piece near the right turbine were on fire. The rest of the spreading flames had confused me into thinking a much larger chunk of the helicopter was alight when it really wasn't.



So, here's the emitter upon being repainted:



After that, I used attribute remap nodes to convert the emit to density, temperature, and burn attributes. I adjusted the ramps to make the density falloff very smooth, and kept the highest areas of burn relatively small with a sharper falloff.


After that was done, the next thing I had to adjust was the velocity. It turns out that my flames had not been picking up enough velocity to really be influenced by it. So first, I simplified my setup quite a bit. Instead of grabbing the point velocity and then making adjustments to it from there, I simply added an attribute noise node set to "Set", and then bumped up the noise amplitude high. I added an adjust vector node too to increase the length of the velocity vectors.


I decided to do all these adjustments with the Samson standing still at the center of the world. It's easier to do R&D when you're not worrying about animation and camera angles on top of everything.



Finally, I rasterized my attributes and plugged it all into a pyro solver. I bumped up the turbulence to 3 (with a swirl size of 2) and added some disturbance as well. I also bumped up the density a bit, since the reference has some pretty thick smoke.



Much better!


Getting Better, Now

Time to apply what I've learned to the animated helicopter!


Unfortunately, initially I was ending up with another column shaped mass like last time when I did this. So, I decided to turn up the turbulence a bit more to maybe coax more swirls, though that didn't help much. Scratching my head a bit more, I realized that the fast movement of my helicopter as it falls was causing this. It was another possible cause my professor had pointed out to me previously as well, the flames were just sort of falling down with the rest of the helicopter. So, to counter this, I literally just bumped up the velocity multiplier on the pyro solver node way up. And...it worked! Here's a flipbook with a pyro bake with scatter turned on.



I decided to up the velocity scale a bit more, as well as add more burn and less dissipation (not too less, otherwise things were getting seriously slow). I also made a few minor tweaks to the color ramp in the pyro bake, mainly making the areas closest to the source a tad brighter.



Now we're getting somewhere!


Adding Secondary Fire

Now, I want to add a bit of extra fire here. Right now, the really hot sections of fire aren't too visible through the smoke with how I set up my pyro bake, so I want to add some more brighter flames on top of everything. The reason I used "scatter" instead of "fire" on my pyro bake is that it better fits the look of fire fading into soot and smoke as it cools, as can be seen in the explosion.


So, to do this, I just copy-pasted my pyro solver and set the fire lifespan to 0.2, and turned up the smoke dissipation way up. I also turned down the velocity scale and turbulence a bit so it looked a bit more smooth than the primary smoke and flames. I also set the pyro bake to "fire" this time instead of "scatter". Under the "Bindings" tab, I set the color volume attribute to density as it best suited the look I was going for. Through this process, I also realized I needed to turn down my time scale more. I set it to 0.4 from 0.75 (I also did this for all other pyro elements in my shot).


My flames still felt too noisy, so I turned down the disturbance and turbulence further and added a small amount of viscosity.



Better! Although they still seem to be moving too fast. I don't think simply lowering the time scale will help as much, so I'll have to look into this further.


You can kind of see a bit of the trailed source bleeding through, which I'll mess around with further, but I'm definitely liking this. I'll have to put this together with the primary smoke and fire in comp since simply merging them doesn't give much of the effect I want.


A Quick Revisit to the Initial Fire

I decided to make some adjustments to my initial fire emitter using what I learned from the main pyro elements, namely, I repainted my initial emitter to have more localized points of emission.



I left the initial smoke as is since I think it looks pretty alright already and doesn't need as much tweaking (unless my professor says otherwise 🙃).


Now, for the next item on my list:


Missile Trail Adjustments Round 3(4)?

It is taking way too long to get this missile trail down.


Remember again near the end of last week I said I'd done some messing around that I'd talk about in this week's blog? Well, one thing last week was getting my missile trail working how I wanted, adjusting the density and pscale as the particles age.


I got some help from my professor for this part, and from his demo I realized that the solution was kinda staring me right in the face the whole time.



...yeah.

After a few more tweaks in my wrangle nodes I got something a little closer to the reference, but I still can't get the density to adjust correctly, and I tried with the Alpha channel too with no luck. So, I'll need to refer to my professor again. Looking at the reference again though, I noticed that it's less the density going down and more the color getting darker, so I added an attribute adjust color node before my copy to points, and set it to remap the color by age.



I also tweaked my initial particle trail to be a bit more noisy. It doesn't look nearly as smooth and straight in the reference as it does in my shot. I did this by adding an attribute adjust vector for the velocity before my POP network. I set the adjustment to "rotate" to have the overall direction of the particle movements vary per frame.




It's a very subtle adjustment, since I didn't want to risk the particles getting too out of line, but I do think it fits a bit better with the reference.


Missile Trail Render Troubleshooting

So, I did some troubleshooting to figure out what was up with my missile trail not rendering. I created a quick small scale POP setup that I could use for testing without risking crashing my PC. First thing I tested was materials. I used an MtlX uniform volume on my test, which rendered fine. However, testing this on my missile trail resulted in another crash. So, materials were not the issue.


Next, the number of particles. My constant birth rate on the missile trail was set to 3000, and looking through my geometry spreadsheet showed that I had at most roughly 5000 points on my screen at highest. That's a lot of copied volumes! Now, my small scale test rendered fine previously, so I decided to test this one by turning down my constant birth rate on the missile trail itself to 10 and seeing what happened. Sending a quick prayer that my PC would survive the test (I had to turn it off and on again twice in a row last week to get it functioning properly again after I attempted to render this missile trail, do not want to repeat) I hit render.


Aaaand it worked! Finally found the issue (it really should not have taken this long 🫠). Now I had to see how far I could reduce my particle count so it still looked good without crashing my PC. If I couldn't find a sweet spot, I'd have to go back to troubleshooting and/or find an alternate method for creating this missile trail altogether.


So, I started as small as possible, since I really did not want to risk another crash. So, after some testing I landed on a constant birth rate of only 500, which also stretching the shape of my copied VDB to cover up any gaps.


Time to take a deep breath and see if this works.


Crashed :(


One restart later and I cut the birth rate to 300 and tested again. At this point the trail does not look as appealing visually, so I'll definitely have to back to the drawing board at some point. But if this crashes again, I can't really go any lower without further compromising the look, so this will be my final test this week.



Time to try again.


And another crash >:(


Looks like I'll unfortunately have to do more troubleshooting next week.


The Final Render

Putting things together in Solaris now (barring the missile trail, again). The main pyro elements are looking really cool next to the explosion! Also, the combined pyro and the secondary fire look great together, so I may not need to render them separately.



Although, looks like the main pyro may need more disturbance, and maybe a slightly lower voxel size. I looked back at my explosion's pyro solver for reference, and it had voxel size at 0.1 (same as my main pyro) and a disturbance of 37! So I bumped up the disturbance high and left the voxel size as is.


Also, notice how my helicopter looks much darker, and my fire ever so slightly redder? That's because I had setup ACES color space for my renders, which makes things darker and increases contrast. This makes the details in pyro renders a bit more visible.


So, after making some tweaks to materials and lighting to fit the new color space, and finalizing all my elements for this week, it was time to render!


And here's the final result for this week (forgive me if the colors look off, it may be due to how ACES translates when uploading to YouTube):




6 views0 comments

Comments


bottom of page