k2p8 Posted June 2, 2020 Share Posted June 2, 2020 Hi everyone ! I have been working on a sparse pyro upres recently and did a video to test it. You can find the hda here : https://drive.google.com/drive/folders/1H4Y0HNELDJ6lmHsM43eEI_lRgNuCEaxX?usp=sharing More details about the solver : The sparse upres solver is a deeply modified sparse pyro that allow the user to quickly upres a smoke simulation from simple inputs. The core idea for the upres is to bypass every nodes related to velocity update in the smoke solver, like the project non divergent, vel advection, collision mask, ect. and replace the upres vel field by a copy of the low resolution velocity. One can then advect any dyes needed through that vel field to create an upres. In order to keep the pipeline as simple as possible i splitted the process in 2 nodes, a 'configure_inputs' which precompute some lowres fields and normalize inputs and the upres solver itself. The sparse solver needs to match the parameters of the lowres simulation to work properly (like dissipation, flame amount, temperature diffusion, ect.). To quickly set up the upres solver i added a python script, that copy and paste all relevant parameters of a lowres pyro to the upres solver. You just need to select which pyro solver to use as reference to match the parameters. The sparse solver itself has some simples parameters like noise / random that allow the user to inject details in the lowres vel field. Noises and randomness are stored on an separated field, 'noise', to be conserved through time since vel is simply copied from the lowres. That allow the noise field to be advected by the vel and then merge with it to advect other fields like density, flames, ect. Which create a more complex pattern than a noise directly merge with the vel. Color can be added at the upres stage if the source contains a Cd and Alpha volumes. Those fields will simply be advected by the upres solver like any other fields resulting in a colored smoke. Your lowres simulation needs no color. Retime can be perform by interpolating the source and scaling parts of the upres solver. The process is automated from a tab in the sparse solver. However, it can vary if you animate the retime or set it to low (especially with flame). The upres solver does not need any modification of the velocity other than small disturbance / turbulance details. If you add strong changes in the vel field your upres dye will deviate far away from the lowres vel field. Every major modifications of the vel field like wind or buoyancy need to be added in the lowres simulation. A fake divergence can be added through the process by computing the negative gradient of the density added to the velocity. Since pressure projection has been bypassed, important amount of this 'divergence' will result in compression in the vel field creating artefacts in the smoke. However, it can be usefull to break the sharp edges of an upres smoke if needed. At last, one can force the upres to match the lowres fields by simply removing parts of the simulation which are outside the lowres smoke by taking the lowres density field as reference. If the lowres is below a threshold value, the upres smoke is multiply by amount less than 1. This can be usefull is you have strong noises and need to dissipate them to stay in the bounds of the lowres. 7 2 Quote Link to comment Share on other sites More sharing options...
Noobini Posted June 2, 2020 Share Posted June 2, 2020 hey @k2p8, haven't done much pyro myself but reckon this would help so i'll say TIA. btw, what's your machine specs for the sims in the vid ? Quote Link to comment Share on other sites More sharing options...
k2p8 Posted June 2, 2020 Author Share Posted June 2, 2020 Hi @Noobini, i have a AMD Ryzen Threadripper 1950x (16cores) 3.40GHz, 64GB ram with windows 10, 64bits 1 Quote Link to comment Share on other sites More sharing options...
bunker Posted June 2, 2020 Share Posted June 2, 2020 I think I've seen this somewhere else before... 1 2 Quote Link to comment Share on other sites More sharing options...
k2p8 Posted June 3, 2020 Author Share Posted June 3, 2020 Yes my bad, i tought it could be a nice idea to post the solver here since it s finished now :V Quote Link to comment Share on other sites More sharing options...
Atom Posted June 3, 2020 Share Posted June 3, 2020 (edited) I'm wondering what fields I need to export to VDB to get the same look that I see in the viewport (in other DCC packages). When I try to experiment with the volume visualizer, I can't reproduce the same look in the viewport? Any tips on how to match the visualizer to viewport? Edited June 3, 2020 by Atom Quote Link to comment Share on other sites More sharing options...
k2p8 Posted June 6, 2020 Author Share Posted June 6, 2020 @Atom What does it means 'in other DDC packages' ? If you want to match a pyro look to an other pyro you can look at the volvis_ attributs created by the post process of the pyro. You will need density / flame / temperature fields and the values of the ambiant / reference temperatures in kelvin of the pyro solver. If you match all those values you should have an identical result. If you re importing smokes simulations from an other software you might need to fitrange / scale the fields first i think. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.