Jump to content

Pyro workflow question

Recommended Posts


This is a general question just to know how other artists tackle this issue.

When simulating a pyro shot, i.e. cigarettes buffs, I start with low resolution to get the motion right. Using low resolution guarantees that I can iterate quickly, hence get the initial look/feel I like quickly. However after that,  I want to produce more detailed simulation, so I run higher resolution simulation (i.e. smaller voxel size), but the problem now is I usually get different shapes than the original one?! Since it's a higher resolution, iterations are expensive and takes longer and I find it hard to reach my goal in a timely manner!

Now, my question: how other artists deal with this problem? Is my workflow right or I need do something different.


Link to comment
Share on other sites

One way is to not present the low resolution work-in-progress as a "final shape". Then you are not locked in with your client when the shape changes during the final render. Another way is to use GasTarget to make the pyro stay/conform to a shape.

I highly recommend monitoring your voxel count as you go. I add a float parameter to the SmokeObject and then paste this expression into the field.


This will produce a scientific notation numeral. +6 means x1 million, +7 means x10 million and +8 mean x100 million. If your voxel count goes over 165 million then you have too many voxels in your simulation. I got this number by watching an ILM breakdown of the Transformers movie. They use 65 million voxels for their preview and 165 million voxels for their final.

So don't feel like you have to have tons of voxels. Voxels are only part of the result. How you populate the voxels is the most important. So make use of noise in your velocity and density (i.e. fluidsource node) to increase the "richness" of the simulation.

Check out this video around 23 minutes to see how to install the above voxel estimate expression into the smokesolver.

Link to comment
Share on other sites

Thanks Atom...have not used gastarget before, but the name itself is promising :) I use low res to iteratre quickly, so I wonder you start with high res as you mentioned, don't you find too slow? thanks for that expression, it will make things more under control....but i am thinking, having a simulation farm will actually solve the problem?! have not tested it, but a company like ILM must have a huge simulation farm that makes very easy to sim *any* thing quickly!?

Link to comment
Share on other sites

In the ILM video I watched they were simming directly on the workstation GPU. They were leveraging their "plume" software. Their plume software allows them to skip the render step. Yes, they just grab the frames directly from the video card as it sims for their finals.

I typically start out around 1 million voxels. Which I consider low-res. But it is enough to get the general motion working. Once I have the basic motion setup I'll jump up to 10-20 million. This still works fine on my computer but it does sim a little slower. Once I have all that working I'll start kicking out unattended .bgeo.sc sequences at around 65 million or more. So I rarely sit there in front of the computer waiting to sim anything more than 20 million voxels. Save your high resolution exports till you go to lunch or sleep. Or take a break and play the drums!


If you want to know how to setup the GasTarget node check out this video.

Edited by Atom
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...