top of page
  • zarahnajmi

Avatar VFX Shot Recreation Weeks 8&9: Fireballs!

Notice: I've decided to group both weeks 8 and 9 into one, since both weeks were a bit slow.


Hello! Welcome back, it's been a while hasn't it? The week before was spring break hence the lack of an update, but I am back now. I'll start with a quick run through of what I did over break:


The Samson Model

The majority of my break was focused solely on this model. I've gotten around to finishing a good chunk of components in hi-res, including the majority of the body. The things remaining are the windows, landing skid, and a bit of the tail. And then details come later.


The biggest challenge for the next week (or weekend) is going to be getting those windows down. What I did so far was create the cockpit piece without windows as a base surface, and the plan is to use Maya's "make live" tool to create a new mesh with the windows drawn in. Make live is a tool used for retopology. For example, a sculpted object with messy topology can be made life and then drawn over with proper topography. This will create a new mesh that is basically shrink wrapped to the live object underneath. In my situation, this will allow me to draw on my mesh flow with the windows without having to worry as much about pushing and pulling points to keep things smooth. I've already drawn out a plan for how my final topology might look:



Apart from that, here is a screenshot about how the model looks now. It feels incomplete around the body but once I get those windows in, plus some extra detail panels across the body, it'll look much better.


Pyro Trails

The other thing I worked on over break was pyro trails. To initially research this, I dove back into the configure aerial explosion.


I decided to start off with the smallest pyro smoke trails that can be seen in the reference. They're the closest in look to what the pyro trail nodes can create, so they were a good starting point to practice.


To create pyro trails, you need two nodes. A pyro trail path and pyro trail source. The first lets you determine the paths that your trails will take, their direction, length and speed. The second creates source particles based on the previous settings.


For my trails, it was difficult adjusting the paths of my trails so that the movement of my trails would look good with my camera movement. In the pyro source, I made it so that the trails were long with a thin radius. The pyro trail source also lets you add noise to the length of the trail.




From there it's really just volume rasterizing and plugging everything into the solver.



In the pyro bake shader, "secondary fire" is supposed to create a small tip of fire on the pyro trail. However, for some reason I couldn't get both the smoke and secondary fire tabs working at the same time. Having smoke turned on always resulted in secondary fire turning off.


In Solaris, I figured I could just render the two separately then layer them in comp, as I did with the missile trail. However, secondary fire is not showing up in Karma render view. Sound familiar?


I'll be rendering just the smoke for now until I can further troubleshoot this.


Now, for this week's stuff:


Fireballs

The first thing I worked on was creating those larger fireballs of debris that fly off from the explosion. I started by grabbing my source centroid that I had from the explosion and creating a pyro trail path node. I only created two trails since on the reference there are only two fireballs visible. Next, a pyro trail source node creates source particles that run along this trail. However, rather than using the source created for me, I wanted to copy-to-points a sphere at the end of the trail for a better "fireball" look. In hindsight, this may not have been the best plan, but it's always fun to try new things I suppose. The get my sphere, I used a fuse node to collapse the initial source particles into single points. Then I copied a sphere to those.


From there, it was a matter of just creating a pyro source on those spheres and adjusting the density, temperature, burn, and velocity attributes with noise (as usual). I did the first three attributes on the sphere before copying to points, so I didn't have to worry about rest attributes on my noise. I also trailed my source, keeping the trailed pieces relatively close together to prevent obvious stepping.


I had to bump up the amount of velocity quite a bit to prevent obvious stepping, but this had the side effect of making my fireballs look massive. I made my initial spheres a lot smaller, which only helped a little. Still, it's not the absolute worst, so I'll leave it for now.



Adjusting the Main Pyro

This is going to be a title you see on literally every post :)


Two main issues: 1) My trailed source is still clearly visible and creates blocky artifacts within my flames, and 2) my velocity noise is being sourced from P instead of a rest attribute, which may be causing a bunch of mushrooms in the smoke.


Fixing the Trailed Source

The biggest issue is my source trailing. My professor suggested that I lessen the about of density, temperature, and burn further down the trail. I could always slap in an attribute paint and just subtract from values, but that would be too inefficient in the long run.


So, I thought I could try creating an attribute that determines a trailed point's distance from the original, and use that as a multiplier for my pyro source attributes to reduce them down the trail.


I did this in an attribute VOP. I plugged in my trailer points to the first input and the untrained points to the second. I then subtracted the P attributes of the two, then took the length of the result and exported that as a trail_distance attribute.


For the second input's P attributes, I connected the ptnum value to the id value in the get attribute node, so that so that each position was subtracting from the corresponding trailer point.


However, I had to create a second trail node for my second input to create the matching number of points. I just turned town the increment value. By adjusting this increment value though I was also able to affect the strength of the gradient of my trail_distance attribute.

Finally, after I had a trail_distance, I used an attribute wrangle to ramp the density, temperature, and burn values based on this new attribute.


Top viewport: visualizing trail_distance
Bottom viewport: visualizing temperature

Now, my source doesn't show through the pyro as much. However, there is the added affect of my smoke looking a lot thinner in some areas due to the reduced values, so I'll have to continue messing around with that.

Velocity Noise from the Rest Attribute

The second issue is that my velocity noise is being sourced from P rather than a rest. Remember I talked about this in the previous post? So, to create a rest attribute, I used a time shift node to essentially freeze the source at a single frame, then took its P attribute and copied it back to the animated source as a rest attribute.

Now, I'll admit I already messed around with this quite a bit over spring break as well. Unfortunately, it looks like the smoke is stepping once again, and I'm getting far too uniform smoke. I turned down my pulse duration by a lot but any lower and the fire near my source will be appearing to move too quickly again.


This is the best I've gotten so far, just tweaking a whole bunch of settings.



I think ideally what I'd like is for something like faster noise on the velocity farther away from the source, and less near to it. I'm trying not to fixate on it too much right now, since I also know that things may change quite a bit when I add those custom velocity fields for the rotors (coming next week!).


For right now, I'll unfortunately have to render without this new rest attribute adjustment since I really don't like how the smoke looks with it right now.


The next week I'm going to (finally) get those velocity fields in. No more delays now. It needs to be done.

...I might also just start entirely from scratch. I'm not a huge fan of how things are progressing at it may be more beneficial to start anew rather than messing around with present settings and risking messing things up further.


Compositing

My sequences have rendered and it is time to jump into Nuke! My professor has asked me to start doing some compositing work in my scene since I'm getting close to end now. This week I'm going to keep it simple by just adding some glow to my explosion. I'd like to add some glow to my fire as well but I'm not sure how I can separate it from the smoke without rotoscoping it all (I render smoke and fire together to get their overlap).


Also in the reference is a faint shockwave that occurs after the explosion. To add that too, I started by taking a single frame of the explosion near its beginning, and blurring it a whole bunch, also making it more transparent and less saturated. I then simply used a transform node to key it quickly getting larger to fill the screen. I also keyed the opacity to go down as the shockwave expands.


I also added a tiny bit of camera shake around when the explosion happens. I can do this in Houdini too if needed, but it's faint enough that I wanted to see how it looks in comp first. (Spoiler, it's barely visible 🙃)


The Final

Admittedly I'm not too happy with this week's render. Seeing everything together it looks like there are numerous shading issues, like my smoke looking too orange, and the elements don't blend together very well.


Also, for some reason the smoke in my main pyro after the explosion is barely visible? It looks perfectly find in Houdini's render view but the moment it's in Nuke it just looks awful. I'm definitely going to have to crack that one.



Goals for Next Week

I'm going to start writing down my next week goals as we get closer to the end here. So:

  • fix the stepping issue on the main pyro

  • finish the windows, landing skids, and tail of the Samson model (and any other major components remaining)

  • Animate the helicopter rotors and create a custom velocity field for the smoke

  • Dive back in to procedural islands

  • Fix shading issues in render

6 views0 comments

Comments


bottom of page