I am currently trying to create an efficient rain system for use in a short 3d animation. I have played around a bit (I am still very new) and have managed to come up with a rain system using the POP network. However I have quickly realised that this is quite inefficient. Mainly because meshing it is incredibly slow (with VDB From Particle Fluid) and with a full scene for a 3D animation, it's not really a good option as it would become even slower.
Right now even with that method I am having a lot of trouble. Motion blur with Arnold when rendering it in Maya is not working properly and I have little clue as to why. It's probably something to do with my workflow using the Alembic Cache. A simple simulation with about 1K particles, once meshed with VDB takes all night to simulate/cache.
So I turned to 3DS Max and Particle flow, using it alongside realflow to mesh and it works, it's quicker, but I still run into motion blur issues, so I am guessing that has something to do with the alembic cache.
Then I did a little bit of research and looked into Pixar's “The Blue Umbrella” which has a fantastic example of CG Rain. They used Houdini for the rain system, and it seems to have worked very well for them. So clearly there is something that I am missing. The TD there says they created the rain separately. He says:
“For the hero shots, like when the rain hits the mailbox, we'd run high-resolution fluid simulations to get a splash element,” Burrows says. “But for a majority of the rain shots, 75 to 80 percent, we had a library of rain and splashes on the ground they could just run. One thing we did that was neat was to have splashes that don't correspond to any rain hitting. When you put the shots together, you can't tell.”
Firstly
What I am trying to figure out is, how can I isolate my POPNET simulation so that I only have SPLASHES, or RAIN. Right now the way I built mine, the rain falls and splashes upon collision with the ground. How can I seperate them? Do I make different popnets for each asset (eg. one for splash, one for rain) or is there a workflow to isolate them from the same popnet?
Secondly
The TD then mentions that they actually did not render the rain as a particle (from what I understand), but as curves:
“For the falling rain, rather than replacing particles from the simulation with curves at render time, the artists did the replacement before rendering and saved the simulations to a cached file format. ”We cached animated curves, not animated particles,“ Burrows says. ”By doing this further upstream, we could modify attributes on the curves in Katana."
I don't quite understand what he means. If someone can clear that up that would be awesome. I think this method they used is more efficient than rendering polygon meshes. But I have no idea how to turn the rain particles into “curves” (I don't even know what they mean by that, animation curves or splines?).
Here is the actual article: http://www.cgw.com/Publications/CGW/2014/Volume-37-Issue-1-Jan-Feb-2014-/Moody-Blue.aspx [cgw.com]
My end goal is to create a rain system that I can apply to my project and it be manageable (not bog down my scene heavily). I need it to have all the usual attributes like splashes, motion blur etc.. I don't need it to create wetmaps or puddles at this stage, right now I would love to just have a renderable rain with basic splashes (that behaves properly in an animation) that I can ideally render in Maya, however that is not a must. I am not sure if meshing the rain into polygons will be a good idea, and would love to emulate Pixar's method, however I don't quite understand it.
If someone can point me to the right direction I would be really greatful. Any discussion, theories or even a different workflow is welcome.
Thanks for reading the wall of text.