Jump to content

High Resolution Explosion


aghourab

Recommended Posts

pretty fantastic solution by bunker. its like an aggregation system based in fluids, which makes a lot of sense for that kind of effect

Agreed. It really does the trick.

Sidefx should produce example files like this demonstrating the real capabilities of the pyrotools and that sophisticated, deeper control for volumes you get only in Houdini. All in all, DOPs remaing extremely blurry area when it goes beyond the "pick a sphere and click pyro fx from the shelf". Various data, their solving order etc. are difficult to perceive. Thus files like Bunker's -not too large but not too simple- would be most welcome.

Link to comment
Share on other sites

Wow, this is turning into a watercooling thread :lol:

Anyway, this is my setup for adding some details to an explosion (or to some volcano smoke):

volcano_001.zip

Quite simple, as Peter explained. Just think about hot ashes in volcano smoke, with cold air around.

Those hot ashes makes the air expand (positive divergence).

That gives you the basic expansion and rolling motion, that you can break up with vorticles.

let me know if you have any question.

have fun :)

Nice stuff! Thanks for sharing :)

Link to comment
Share on other sites

Thanks Peter for the explanation, I will study better how the vorticles works now..

In the bunker's file example there isa a gas recycle vorticles, but in reality inside it's entirely replaced with a custom sop solver to generate points with attributes (the vorticles).

I tried to put the sop solver outside the gas vorticle recycle and in fact it works.

can I ask why bunker started from the gas recycle vorticles?

The points are generated in the same fashion as the points in the other sop solver to generate the divergence field.

Link to comment
Share on other sites

Simple, the shelf tools gave me what I needed in an instant: a basic vorticles setup

since I use a resizeable smoke sim, I updated the vorticles recycling, hence the quick hack ( to get a prototype working quickly )

Since then, I've cleaned the file and solver too. It's much faster without the usual sink,pump,fuel,heat,burn,collisions... in the default smoke solver, and can handle much larger sims too.

Thanks Peter for the explanation, I will study better how the vorticles works now..

In the bunker's file example there isa a gas recycle vorticles, but in reality inside it's entirely replaced with a custom sop solver to generate points with attributes (the vorticles).

I tried to put the sop solver outside the gas vorticle recycle and in fact it works.

can I ask why bunker started from the gas recycle vorticles?

The points are generated in the same fashion as the points in the other sop solver to generate the divergence field.

Edited by bunker
Link to comment
Share on other sites

I just came to think, what sort of a force data should be attached to vorticles or what ever points controlling the field flow, if one wanted to make small vortexes or tornados scattered on to the surface of an object ? Wouldn't local vector curl associated to every point cause smoke to start circling around them ?

edit: assuming that every tornado rotates around an axel generated from local surface normal.

edit2: Well not so surprisingly it seems to happen by creating a small point tornado around every point, calculating their velocity and compositing that with gas calculate to velocity field.

Edited by Hazoc
Link to comment
Share on other sites

Thanks for the example!

I tryied to use the divergence many times but with no succes. I can´t see any diference in the simulation when changing the values in the gas calculate. Is posible to visualize the pdiv field or the divergence itself to have a better idea off whats going on? They look completely flat, maybe the values are very subtle or very big?

Link to comment
Share on other sites

@Hazoc:

you can use the gradient of the density to get the normals of the smoke with a "gas Analysis"

IMO, no need to do complex and slow calulations here: buyancy and the difference of temperature

between the core (hot) and the outside (cold) of the smoke will give you a rolling motion already.

@Putoparri:

you can display the divergence: in the "visualization" tab of the "smoke" object, just select "Divergence"

you should be able to view pdiv in green ( by default in the file I gave ) the controls are in "scalarfieldvisualization1"

to control the divergence, simply change "source premult" in "gascalculate1" - a value of "50" is here already

Link to comment
Share on other sites

Thanks for answering Bunker.

That´s what I have allready tryied, the problem is that both appear to be empty (constant in all the field). Also tryied to change the value in source premult in gascalculate1 but nothing changed in the simulation. :huh:

I get some errors on loading the file (allthought I think they don´t really matter) so maybe that can be the problem, which houdini version are you using? I´m using 11.0.469.

In a basic smoke from object setup, there is always some divergence? I thought there isn´t because I can really see anything except constant field when trying to visualize it, either like smoke visualization or a plane. So I used a copy density to density with a value off 1.2 to get a expansion effect but your solution seems to be much better.

Thanks!

Link to comment
Share on other sites

@Hazoc:

you can use the gradient of the density to get the normals of the smoke with a "gas Analysis"

IMO, no need to do complex and slow calulations here: buyancy and the difference of temperature

between the core (hot) and the outside (cold) of the smoke will give you a rolling motion already.

We're probably talking about different things here:) What I mean is to really have small tornados/vortex forces scattered over the surface of an object. They would probably have negative divergence or pump so they could attract nearby smoke. They also need to form a local twisting motion in velocity field and this is the part i'm not yet sure about how to achieve best.

This is what I'm talking about:

multiple_vortexes.jpg

Of course pretty much unrelated to the topic of explosions and heavy smoke:D

Edited by Hazoc
Link to comment
Share on other sites

Wow, this is turning into a watercooling thread :lol:

Anyway, this is my setup for adding some details to an explosion (or to some volcano smoke):

volcano_001.zip

Quite simple, as Peter explained. Just think about hot ashes in volcano smoke, with cold air around.

Those hot ashes makes the air expand (positive divergence).

That gives you the basic expansion and rolling motion, that you can break up with vorticles.

let me know if you have any question.

have fun :)

Thanks for sharing,

This may help a huge problem that i have it with making a "rolling clouds", so, i will try it now!

In my attempt to archive my goal( rolling clouds), i watch every tutorial, post, and thread!

So one thing that i discovered it is if you go to CVEX and using sample volume form file, even if your iso didn't have high level of voxels (beyond 200X200X200) you can add a lot of more detail to your sim...

this technic it's explain in Houdini Fractal Tutorial at CMIVFX ...

http://www.cmivfx.com/tutorials/view/280/Houdini+Fractals

But instead using i3d with it's more expensive to generate, i play with my upres Volume (with was saved to disc) using Volume Sample For File and get this results...

I still need to do a trick like pyro shader does with rest position (2 rest interpolated) to control how much my noise "stick" on volume....

The good news is : Render Fast! much more than using a Billowy Smoke Noise Shader!

the downside is : You cannot use PBR or GI since it's a procedural geometry like fur... it will cause your render to death!

so, is not bad at all, since it's too expensive anyway.

Note:: this is a simple billowy smoke from shelf with a pump object, with upres resolution at 115 grid voxels.

And the render was made with raytrace engine, with 3x3 pixels sampling only, and volume sampling set to 1(very low), and took less than 40 sec per frame in my lap.

And still have a detail!

I forgot to mention that it's solve my problems with weird artifacts caused by negative values too...

Sorry for bad english! :rolleyes:

And Cheers!

cvex_upres2.mov

Edited by exu
Link to comment
Share on other sites

Completed NCCA group project attached... Bunker, youre tips were a life saver though I have to embarrissingly admit I did not have time to fully implement them in the uni project due to time constraints, so Im afraid what has been posted will not do your help justice. That said, as I would like this to be a showreel piece I am continuing work on it.

Also, pyro shader quite difficult to get to grips with. I seem to get loads more detail in viewport than I do at render time! I spent a long time fiddling with it, but could not seem to get the correct range of colors which I could then comp correctly. I suspect the problem may be the to do with the amount of heat in the simulation and the density.

Anyway, here is link to group project. http://vimeo.com/20677105

Link to comment
Share on other sites

  • 4 weeks later...

Great file.. I really enjoy the multisolver setup! Great stuff.

It might be an obvious question, but it looks really great in the viewport with the three point lights, but how would you consider rendering it out?

Do I need to use ray traced shadows? if im using depth maps, I can only get a solid color as a final render.

What is your preferred render setting for this?

Cheers!

Edited by viezel
Link to comment
Share on other sites

  • 1 month later...

this is a great setup thank you. I having an issue hooking up a pyro solver instead of the smoke solver. the multi-solver node doesnt seem to like the pyro solver, or im not understanding the data types it excepts.. I may also not be understanding the internals of both solvers. any input would be great.

thanks

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
  • 1 month later...

I have some questions to Bunker about his setup.. but first...

A _HUGE_ thank you.. This file, by far has taught me more about gas-solvers and multisolvers than any other tutorial or masterclass hands down.

Now the question:

In the create_divergence_points node, we generate some particles and merge the result with basically the previous scattered particles correct? there by we are aggregating the particles each frame.

I am unclear as to how data is handled in this loop. Here is my current understand, please correct me if I am wrong:

time 0: some density is advected, divergence partiles are created based on the current density. Geometry data now exists in DOPS.

time 1: advection occurs with previous divergence data. new divergence particles are created with current density, and merged in with the previous divergence particles (contained in the geometry data).

time 2: advection occurs with previous divergence data.. etc

I also would like to know if in fact we are aggregating these particles with no "limit".. does this not mean that for really large simulations the amount of memory used could blow up?

A few random ideas that may totally be wrong:

1. could be hackey but would it work if we just put a animated parameter that would essentially stop the merge after a certain number of frames has elapsed?

2. or.. could it be possible to read in the previously calculated density, add it to the current density using volumemix, then scatter points? In other words, we are aggregating density instead of geometry.

How would one actually read the previously calculated density? Dopimport seems to only read in data at the current time.

Thanks again!

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