Jump to content

Pyro2 render passes help!


Recommended Posts

Hi!

I'm currently working on a shot where I have a Pyro2 sim with fire and smoke.

The comp asked me to give him those passes:

-ZDepth

-UV

-Smoke Pass

-Fire Pass

Now, I tried to export the standard Pyro2 planes (smoke/firepass and masks) but they're really pixelated (and they're practically IDENTICAL in contents even if in the sim they're not). Not a gamma issue, and the volume step size is fairly small for the scene scale. I just find them not usable.

For the UVs, is there a way to export them (maybe abusing Rest?) or to cheat it?

Depth...depth is a problem I think, I did some research and apparently the only convincing way to do it is using Deep Maps which Houdini doesn't support for EXR yet.

Any other ways? Maybe attach a light to the camera and render out a depth map and use that?

Smoke and Fire passes, as I found the builtin ones not useful, so I was thinking of rendering fire and smoke separately and then let the comp put them together? I don't think it's going to work unless I find a way to render each other with the other one acting as a matte?

Note: this is not going to be comped with RGB lighting so that's out of the question, unfortunately.

Any help?

Thanks in advance

Link to comment
Share on other sites

For the smoke and fire passes, try swapping to PBR render (try both). I had some issues with the secondary passes and I think swapping to MicropolygonPBR gave me the best/quickest results.

As for zdepth and UV, hmm, I'm not sure this is something that can be done quickly. Ask the comper if it's really that necessary.

Problem is with opacity, which voxel do you say is the one you're going to sample from. Could be the first one, but I'm not sure the results in comp would be that good.

I may be totally wrong on that though as I'm not a comper ;)

Link to comment
Share on other sites

Thanks for the PBR suggestion. I'll try and keep you updated.

For the depth I know it's a problem. Another quick cheat I was thinking about was calculating the bounding box of the fluid and use the closest BB point to start calculation of depth, but then again I wouldn't know how to reapply the ramp (startBB-endBB) to the fluid, using the correct direction.

Link to comment
Share on other sites

I used the built in smoke and mask passes and they worked for me. I used PBR to render.

smoke color -> 3 float (color image)

smoke mask -> float (black n white image)

fire color -> 3 float (color image)

fire mas -> float (blac n white image)

smoke and fire color are looking identical because the sorting happens by using the masks in comp as alpha for the color images. You might have to tweak the result a bit (saturation, brightness) to get it to match the beauty rendering, but it works!

My example (including breakdowns): Sorry for the bad quality, I had to lower the resolution in oder to get somehow acceptable rendertimes

Make sure to use scattered emission if you can. What I did to fake scattered emission (if you cant use real scattered emission) is to import the heat field from dops (which is a volume representing everywhere there is fire), convert that volume to a mesh, and make that a geo-light source (match the color of the fire). By doing so, you get a correctly dynamically changing geo lightsource that follows your sim. That gives you very nice lighting! Downside: this is very expensive in terms of rendering (but worth the effort I think). In conjunction with PBR, it gave me superb results.

Check it out! I hope that hepls!

Link to comment
Share on other sites

Hi Philip, the details on that sim are fantastic! Recently I've found that simulating pyro at a smaller scale (i.e. 1/10 of a centimeter unit scene) and scaling the volume back up not only helps with getting more detail, it also helps with getting the render time down by a factor of 5-10 times, especially with the micropolygon engine. If you don't mind my asking, what was the final voxel grid division size of the sim and the "acceptable" PBR render time you were getting?

Edited by melazoma
Link to comment
Share on other sites

the details on that sim are fantastic!

Thanks :) It took me about 10 weeks (beside work) from start to finish to do, because I hadn't done anything with pyro before. So it was not only to create it, but to do all the research and learning beside. But yeah, it was worth it :)

Most of the look of the sim is defined on the solver (combustion and shape tab). Dissipation, disturbance, shredding, sparpening, turbulence, confinement. Try to understand this parameters, and you will be able to "shape" your sim like you want it. Peter quint has excellent tutorials showing what the parameters do) The look is also dependent on how you source your pyro. I used a particle sim and "source from points" for my dragons breath,. Then tweak the settings on the fluid source node. Use turbulence on the fuel, maybe a bit of curl noise, etc. I think there is no way around some testing and tweaking involved here.

Recently I've found that simulating pyro at a smaller scale (i.e. 1/10 of a centimeter unit scene) and scaling the volume back up not only helps with getting more detail, it also helps with getting the render time down by a factor of 5-10 times, especially with the micropolygon engine.

strange...don't know what to say to that.

what was the final voxel grid division size of the sim

I used division "by size", and the actual voxel grid divisions are depending on the size of your container there. I think I went down to 0.08, but that is allways depending on your scene-scale. I think I head around 30million voxels in the end. A max axis uniform division of something above 300 (to 500) can be counted as highres. The old upres workflwo is no longer needed (refering to peter quint) because sim times got so fast in H12. I didn't use use "upres" in my case.

what was the final voxel grid division size of the sim and the "acceptable" PBR render time you were getting?

Actually, the pyro stuff wasn't the problem. What bumped my rendertime up drastically has been my geo light. Geo lights are extremely expensive to render, you need a ton of samples to get it to render smooth. Pyro actually rendered quite fast. Without the geo light, it took me about 10-15 mintes to render a full HD frame on my i7 860. (I hope I remember the times correctly). Turning on the geo light, resulted in a rendertime of 1,2h per frame. Make that 400 frames of animation...with serveral renderpasses, you end up having nearly a month of rendertime 24/7 -> unrenderable for me on one single machine. On a farm, and in a studio environment that's a different story. (Pixar for example renderes sometimes 5-7h per frame, and thats considered "ok"). For me personally, everything that renders around 10-20minutes on my machine is "acceptable" (allways depending on the resolution of course).

When you are happy with your sim, cache it to disk before you start rendering! (I cached the visualisation and the render-data). But be aware that caching highres voxel data uses extrem ammounts of memory on your disk. I ended up having 200GB of sim-data after the cache has been complete.

Very important to set first before you start working, and no later than when it comes to rendering: linear workflow! Go to edit -> color settings -> color correction tab and set the gamma to 2.2, turn on all checkboxes, hit apply. Why linear workflow? This is why: http://scripts.breid...correct_v12.pdf

With your sim brought back in (the cache), start tweaking the rendersettings.

Important parameters: pixel samples (3x3, 4x4 or max 6x6 (takes extremely long!) did the trick), minimum ray samples (which is a multiplyer for all sample values (lights, etc.)), Voxel-step-size (0.1 is fine for most cases, use 0.05 if you have to), stochastic transparency samples (i used 4-8, check how it affects rendertime and decide speed vs. quality). PBR: diffuse and volume limit -> 1 (=number of light bounces you want to calculate. 1 bounce was good enough for me)

I talked to Mario Marengo who actually developed the pyro 2 shader (and more?). He told me that there is no need to stick to micropolygon and shadowmaps anymore, you can go PBR and full raytraced shadows with nearly no speed loss during rendering, so why not do it, right? :)

check fxphd intro to pyro, peter quints pyro tutorials (and rendering tutorials (mantra, pbr etc), and the pyro masterclass by sidefx to get furhter insight of how that stuff works in detail.

Let it burn ;)

Edited by Scratch
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.

Guest
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...