Jump to content

Constant Sourcing of Vorticles


Annon

Recommended Posts

Hey all, I've made a simple scene to show you what I mean.

I want to constantly source vorticles from the emitter, I guess killing them later etc.

Would the normal way be to use a pop or sop solver in dops to source points from the emitter and simply add vorticle to the data name? Anyone have an example?

Thanks

Christian

sourceVorticleTest.hip

Link to comment
Share on other sites

I'd create popnet with source pop (sourcing from volume or surface of your emitter) instead of scatter sop in sops, define group for newly born particles, delete all other. Then use sop solver in dops to import these new particles and add to vorticles data. Or you can do it without solvers: import vorticles data in sops and merge with newly born particles from popnet, then slightly change Gas Vorticle Geo dop - dive inside, change Time to $T and behaviour to Always in the sopgeo dop.

first way would be faster imo.

oops. I forgot gas vorticle geo dop sets up and pscale attribs inside, so you should do it yourself if using only sop solver dop (inside or in sops).

Edited by bloomendale
Link to comment
Share on other sites

  • 1 month later...

if you don't want to resimulate your smoke, then there is no point creating vorticles since they alter the simulation bidirectionaly

but if you just want some points to move with your smoke, then you can emit points in POPs from the same emiter as smoke and use Advect By Volumes POP to fetch your already simulated smoke velocity and advect the points with it

you can do it in DOPs as well with Gas Advect DOP

or you mean doing some second pass like upres process?

Link to comment
Share on other sites

I've tried the Advect by Volumes approach, it works but doesn't look as good as a Gas Advect with vorticles as seen in Christian's hip file. How can I take my already simulated volume and advect particles using Gas Advect? thanks a lot for the tips by the way.

Link to comment
Share on other sites

In response to Ryan's question: Here's a file attached that uses gas advect -- and indeed, it is a lot better. With high velocities there's a little bit of wonkiness in the pyro grids that get cached out because the sources are done at the end of the timestep I believe. The gas advect vs using a vop in either pops or a sop solver still looks much better in the way it pushes the points. P.S. You could add age and such to the points as well if you needed.... but I was doing this quickly. :)

GasAdvectPoints.hip

Edited by Solitude
  • Like 3
Link to comment
Share on other sites

nice one Solitude! I'm getting some good results with this method. I now realize why I couldn't work with my cached simulation, and that is because I was exporting the wrong part of my fluid sim (I was trying to advect particles using the visualization from dops, when I really just need to use the dopio to get the density and vel from my smoke object)

Link to comment
Share on other sites

  • 2 weeks later...

I find that splatting the density field from the low res smoke sim onto the advected points (gas field to particle) and then converting those points to a volume produces some really nice sharp details providing the number of advected points is dense over a million points..

Link to comment
Share on other sites

  • 1 month later...

Hey guys,

I like your conversation, I was just trying to practice this kind of effect.I checked the scn solitude shared. If there is a collision involve in the thing? I will have to had something in the "dopnet point advect" to make the particles see the collision. What can I use to do that.

Thanks

Link to comment
Share on other sites

Yeah it's working if I had a collider in your scn, but not in mine, I will check what is different.

Do you think if the velocity is too strong, it could give problem to the advected particles to collide even if the smoke sim react correctly ?

Link to comment
Share on other sites

It definitely could cause issues, but it should pretty faithfully follow the vel field using gas advect. You could try different trace methods on the gas advect dop to see if that helps. There are other ways of making the points collide, the easiest thing I can think of is to use a sop solver and snap the points out to the 'surface' of an sdf representation of the collision object.

Link to comment
Share on other sites

bringing the timescale on the gas advect node will allow you to slow down or speed up the advection along the vel field. Solitude, you mentioned using the dual rest fields and noise to get a tendril like appearance? I haven't really used rest fields a lot but I imagine it works like fluid mapping in fumefx? Allowing you to place and align a texture to the fluid without having it "drift" right?

Link to comment
Share on other sites

Yeah, thats exactly what the rest fields are for. It's on by default I think for the pyro solver -- as well as the pyro shader. It uses two fields, offset in time that you blend back and forth so you it doesn't get too stretched out. The timing is controlled on the pyro solver, so it'd be in the original sim, but like particles, you should be able to do another gas advect setup for new ones, where you can re generate just the rest fields without resimming the original pyro.

Link to comment
Share on other sites

  • 3 months later...

Hi guys. Sorry to butt in, but I'm really curious about these dual rest fields, and I'm trying to follow along. I don't believe I've ever tried to map textures to my pyro sims. I'm a little confused about what these two rest fields represent or how they're used in the pyro shader - are they used to distort the volumes at render time?

Link to comment
Share on other sites

Hi guys. Sorry to butt in, but I'm really curious about these dual rest fields, and I'm trying to follow along. I don't believe I've ever tried to map textures to my pyro sims. I'm a little confused about what these two rest fields represent or how they're used in the pyro shader - are they used to distort the volumes at render time?

^A single rest field works by storing the initial 'position' at a certain frame, and then advecting it along with the simulation's vel fields. You can use this rest field for looking up the position in a 3d noise function in the shader, using it for multiplying the density, expanding/displacing the volume if you want, etc. Usually you just multiply density though, thereby adding extra details at rendertime. The problem with a single rest field is that the noise will usually get pretty streaky and elongated rather fast, so that's why there's a Dual rest field. It's basically just two rest fields that cycle and have offset timing -- you blend back and forth between the two to create something that is less streaky (though it can look stroby(?) if you don't have enough frames in the blending). The pyro shader makes use of the dual rest field, so I'd suggest using that, or adding the dual rest field vops to the billowy smoke shader.

Link to comment
Share on other sites

I see - that's very clever, thanks for clearing that up. It wasn't clear to me that the rest fields were being sampled at different points in time, but that makes more sense to me now; blending between the two fields at the right rate will help to preserve a nice, fluid motion where you might otherwise get streaks, without necessarily having to up your substeps.

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