how to get velocity field of particles in dops

   13762   6   2
User Avatar
Member
33 posts
Joined: Sept. 2009
Offline
Hello,

I'm trying to come up w a time efficient way of doing a very high res particle sim based on a low res one.
I know about wedging say 100k particles at a time and changing seed per wedge for 10+ wedges. That works but does take ages on a single machine.

I was wonder if i could do a pop sim in dops as a pop object and then in other pop sims use the low rest dop velocity field? I'm a bit lost if this is possible or how to do this.

So can someone tell me how to create a velocity field with just pops and advect another particle sim from this low rest field?

I tried dopimport in sops to grab the dop velocity field but I get nothing. Also I'm not certain how to advect a particle system. According to my understanding to advect pops I need a volume. Although my understanding could be way off confused..

tia
User Avatar
Member
23 posts
Joined: April 2012
Offline
Have a look at this thread: http://forums.odforce.net/index.php?/topic/16136-h12-1-flip-sim-changes-with-resolution/ [forums.odforce.net]
User Avatar
Member
33 posts
Joined: Sept. 2009
Offline
thanks cubiccube!

I had a look at that post and the file posted.
It seems that works great for flip fluid particles. Not sure how that would apply to a pops sim. for what I'm doing i'm not using any type of liquid motion.

Any idea how to translate the ideas in that flip setup to straight pops?

tia
User Avatar
Member
23 posts
Joined: April 2012
Offline
As that post mentions, there are a lot of different ways that you can do this.

If you just have point data that you want to transfer you need to create a velocity volume from your particle's v attribute. This can be done at the SOP or DOP level a ton of different ways. The Volume Velocity SOP is probably the easiest way in SOPs. In DOPs you'll want to use a Gas Field to Particle DOP.

It makes a lot of sense to create the your vel field in your low-res DOP. This also makes it easy if you have other fields in your sim affecting velocity and you want to combine into your vel field with a Linear Combination DOP.

You can bring your vel field into another sim at either the POP or DOP level. The easiest way to do this in POPs is with a Advect by Volume POP but it's super slow. You could probably do it with a VOP POP and get better performance but this is more complicated. Really though, you should do this in DOPs. Attach a SOP Vector field to your POP Object and point it to either a DOP Import Field SOP (if you want to run both sims live) or to a file SOP (if you've cached out your velocity volume).

Here's a file with a couple simple setups. If you template the low-res sim and run one of the examples you'll see there are major discrepancies between the sims. Upping the resolution of the velocity volume will fix some of this but play with extrapolation distance and the different microsolvers too.

Attachments:
pop_vel transfer_01.hip (225.9 KB)

User Avatar
Member
33 posts
Joined: Sept. 2009
Offline
omg that is on the point! thank you so much cubiccube

quick question, when you say Upping the resolution of the velocity volume will fix some of this", do you mean have more particules in the low-res sim?
I don't see anywhere a size/div setting in that setup for resolution.

I actually learned a few things from that hip file thanks again!
User Avatar
Member
23 posts
Joined: April 2012
Offline
No problem. By upping the resolution of the low-res field (Vector Field with data name “vel” attached to the POP object), I mean decreasing its division size. Since we're trying to transfer points (which don't take up space) to a field (a 3D grid of voxels), how close we can get to estimating the actual position of a point depends on the density/resolution of voxels in the field/volume.

Of course, if the point is to have an efficient workflow, it defeats the purpose if you have to work with super dense or very large fields. It totally depends on your scene, but if you're working with complex, overlapping motion or particles covering a lot of space you might try grouping similar particles and making separate fields for each group that you can then combine later on. Like always, it just depends on your scene and what you can get away with.
User Avatar
Member
33 posts
Joined: Sept. 2009
Offline
ahh i see it now, i was soo looking in the wrong place
ohh yeah i started to think i'm going to need separate fields per group. Glad i'm on right track then.

This is very powerful way of upres.

gawd i love this programe! and the helpful community.

Thanks again.
  • Quick Links