Jump to content

Constrain particles to volume


Rudinie

Recommended Posts

I've been trying to birth particles from an object (sphere with a hollow center, so a sphere with a slightly smaller sphere inside it cut out of it) and constrain the particles movement to that volume. Collision has the possibility to slide particles to a surface, but that is the closest i could get so far. (one sphere a little bigger, and one a little smaller as collision objects but the particles form two "layers" this way.)

I want particles to "swirl around" in a sort of circular movement around the center and between the inner and the outer shpere so to say.

I could really use some help or tips on how to achieve this so anything is welcome.

Link to comment
Share on other sites

SDF is your friend, have a search for sdf particle collisions.

Basically in a vopsop you sample the gradient of the volume and use that to influence the velocity/acceleration of the particles.

You could also scatter points on your surface and assign them Normals in the direction you want the particles to flow, then in a vopsop with a pointcloud look up that normal and influence velocity/acceleration.

Both the above methods can be weighted using the distance to shell/to point.

Link to comment
Share on other sites

SDF is your friend, have a search for sdf particle collisions.

Thanks for you pointer, i found the thread on the Houdini forum (SDF for particle collision in particle network) where Koen gave an examplefile as well. Most helpfull. I have to look into the logic and workflow to build what i want in a voppop though. Nice challenge!

Link to comment
Share on other sites

I've been playing around a bit with the vex-builder in a voppop and this is what i've got so far.

There are a couple of questions arising from this though:

-How do i promote a parameter inside the voppop to a level higher?

-sometimes the vex-compiler gives a warning or a error and the only way to reanimate the whole vex builder network is to reload the file. There must be an easier way.

-when a particle gets outside the sdf, i now just set it's lifespan to 0 to kill it. Is there a way to just get those particles in a group so i can modify their behaviour outside of the current voppop.

-the voppop that Koen made and posted in the sidefx forum (http://www.sidefx.com/index2.php?option=com_forum&Itemid=172&page=download&id=4422) has got some math operators in it which logic i can't quite grasp yet. It uses the dot-product a couple of times and the crossproduct to get the tangents and the normals, which are added later on to get the bounce effect. Is this tangent + normal just a way to get the particle to bounce on the outer surface of the sdf?

I wish i understood his calculations to get the normal and the tangents and the normals as well but my days in school are long gone and so is the stuff i learned about goniometry. A little refresh course would be very helpfull.

Again, all help is appreciated.

VopPop_oefeningen.hipnc

Link to comment
Share on other sites

In regards to the math, there are some good books in this list which have helped me - or do a search here on odforce for learning materials (MIT has got a lot of free courses online too).

http://www.amazon.co.uk/Technical-Directors-books/lm/R3ES60SQKYX1EM/ref=cm_lmt_dtpa_f_1_rdssss0

Have a look at this file as well, there is an SDF collision in there:

A bit cheeky, but hey :), in my dvd I also go over how to deal with dot products and cross products:

http://www.3dbuzz.com/xcart/product.php?productid=58

Link to comment
Share on other sites

A bit cheeky, but hey :), in my dvd I also go over how to deal with dot products and cross products:

Hey Peter,

i bought your dvd pretty much the day it went on sale so that's quite some time ago. Can't remember seeing the dot product and the cross product though (shame on me, didn't pay attention ;-) )

Thanks for the other links as well.

Link to comment
Share on other sites

it's in the part that deal with the smoke rings and how to get them to rotate around the parent particle. But anyway, there are lots of places where you can find info on that stuff and really do invest a bit of time in fully understanding vector maths as it will help you hugely!

Link to comment
Share on other sites

  • 3 months later...

I'm trying to do something similar using SDF's. I want my particles to sort of walk along the surface of the volume. I've tried setting it up 2 different ways, one where the vop is in sops and one where the vop is in pops. Both vops have the exact same setup but I am getting very different results. The example where using the vop pop seems to be working better because the particles are at least sticking to the volume surface for the most part. But they are clumping into certain areas and at the top of the sphere volume. This seems to be happening outside of the SDF. Some of these clumping spots have particles that are kind of "popping." The vop sop example seems to lose respect for the volume after a few seconds. Not sure why.

My goal is to have particles walking along the surface of the sphere in a non-uniform way without going inside and without any popping. Also, I would like to avoid the clumping areas if possible. Imagine ants walking all over your arms, thats the kind of effect I'm going for. Similar to the way you can get particles to walk along a grid using the creep sop or pop. I dont think Creep will wont work here though because I eventually want to substitute in more unusual concave geometry that will most likely be a a bunch of polygons which is not one mesh.

Any advice as to why I'm getting these issues, or maybe a different technique to get particles moving along a concave surface without having them fly off the the surface go or inside it. Thanks. Here's my file

demo_sdf.hipnc

Link to comment
Share on other sites

I'm trying to do something similar using SDF's. I want my particles to sort of walk along the surface of the volume. I've tried setting it up 2 different ways, one where the vop is in sops and one where the vop is in pops. Both vops have the exact same setup but I am getting very different results. The example where using the vop pop seems to be working better because the particles are at least sticking to the volume surface for the most part. But they are clumping into certain areas and at the top of the sphere volume. This seems to be happening outside of the SDF. Some of these clumping spots have particles that are kind of "popping." The vop sop example seems to lose respect for the volume after a few seconds. Not sure why.

My goal is to have particles walking along the surface of the sphere in a non-uniform way without going inside and without any popping. Also, I would like to avoid the clumping areas if possible. Imagine ants walking all over your arms, thats the kind of effect I'm going for. Similar to the way you can get particles to walk along a grid using the creep sop or pop. I dont think Creep will wont work here though because I eventually want to substitute in more unusual concave geometry that will most likely be a a bunch of polygons which is not one mesh.

Any advice as to why I'm getting these issues, or maybe a different technique to get particles moving along a concave surface without having them fly off the the surface go or inside it. Thanks. Here's my file

Your VOP POP works fine.

It´s the noise pattern in the force POP that clumps your particles together. Up the frequency and set an offset.

demo_sdf_fix.hipnc

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