how to make particles stick on surfaces

   19361   8   0
User Avatar
Member
160 posts
Joined:
Offline
Use source POP emit particles ,how to make them stick on the emitting surface (the surface is moving)and can be blown off by wind?

thanks
User Avatar
Member
229 posts
Joined: May 2006
Offline
from the top of my head,

for the sticking: you could try:

store the UV where the particle was birthed from ? and try to use this information later to get the current position in space of that uv-coordinate (i dont know if there is actualy a node/expr that can do this right away?)

if you're not constantly birthing geometry and the topology is not chaning
you could use rest position of where you're birthing from,

1) –> animated Geo add Rest Position attrib
2) –> pos->savePos, swap Pos & restPos,
3) –> pCloud magic using ParticleRest Post to get savePos from (2)

for the blowing of:

check the Acceleration if it is above a certain value move the particle to another group which does not do the sticking

cheers Seb
User Avatar
Member
160 posts
Joined:
Offline
thank you.
but it is diffcult to understand what you said.
could you post an example file for me?
User Avatar
Member
229 posts
Joined: May 2006
Offline
i#ve build something, this is for the approach using the rest position & birthing just on the first frame.

Seb

Attachments:
particleStickToSurface.hip (79.3 KB)

User Avatar
Member
160 posts
Joined:
Offline
Infernalspawn
i#ve build something, this is for the approach using the rest position & birthing just on the first frame.

Seb

thank you very much!
i have downloaded the file and will learn it
User Avatar
Member
617 posts
Joined: Aug. 2008
Offline
not sure how to set that up in Houdini, XSI nodes come with a lot of stuff,
some of them actually call “Stick to surface” and you just need to plug witch surface or object you want, and it also comes with the setting to how much you want to stick and if you want to un stick them how much force need to be apply, i am Sure we can build something like that in Houdini.

maybe creating a group for a distance to the surface you want, the particles that enter into that group can get into a rest state. and after some times jump to anohter group that continue the simulation.
User Avatar
Member
257 posts
Joined: Nov. 2007
Offline
you can also look into the follow pop:
First in sops:
*) you need to make a pointcloud for the particles using a scatter based upon the area that you transfer from your static geometry (this assumes your topology stays the same).
in Pops:
*) emit a follow group,
*) emit a target group,
*) update the positions from the target group with the position from sops (you can use a point expression in an attribute pop)
*) Assign a follow number to the follow particles with the property pop.
*) collect the two streams with a collect pop
*) Append a follow pop. Set the follow pop to individual particles and play with the strength. Set the groups to follow and target for the leader group.
(This will behave more like a softbody when the strength is weak, and more like a rigid body when the strength is high), when the strenght goes to 0, other forces like a noise can take over completely.

You can also rebuild the “follow” in vops and do it manually by blending velocities (that way you have more control over the weighting - distance based or several “follow targets” blending (similar to blendshapes) using ramps.
Cg Supervisor | Effects Supervisor | Expert Technical Artist at Infinity Ward
https://www.linkedin.com/in/peter-claes-10a4854/ [www.linkedin.com]
User Avatar
Member
52 posts
Joined: July 2007
Offline
Infernalspawn
from the top of my head,

for the sticking: you could try:

store the UV where the particle was birthed from ? and try to use this information later to get the current position in space of that uv-coordinate (i dont know if there is actualy a node/expr that can do this right away?)

if you're not constantly birthing geometry and the topology is not chaning
you could use rest position of where you're birthing from,

1) –> animated Geo add Rest Position attrib
2) –> pos->savePos, swap Pos & restPos,
3) –> pCloud magic using ParticleRest Post to get savePos from (2)

for the blowing of:

check the Acceleration if it is above a certain value move the particle to another group which does not do the sticking

cheers Seb
whilst my uv change every frame,how to ?
User Avatar
Member
3 posts
Joined: Oct. 2013
Offline
Peter, are you able to upload an example file please?
  • Quick Links