Using a POP network to turn a point cloud into particles

   3258   8   1
User Avatar
Member
16 posts
Joined: March 2014
Offline
Hi all, I'm still a little green when it comes to Houdini, so I have a pretty noobish question that

I'm trying to do an effect where I generate a point cloud on a mesh based off a texture mask, and then affect those points as if they were particles.

I've managed to generate the point cloud I want, but I'm having trouble currently figuring out how I'm supposed to get the POP network to just emit on impulse the specific number of particles based on the number of points being fed to it, as opposed to constantly emitting points all the time.

Here are some screenshots of the current network:

http://i.imgur.com/NN50buk.png [i.imgur.com]

Inside the POP Network:
http://i.imgur.com/X3U4hfv.png [i.imgur.com]

If I use the npoints() expression and point it to the Add SOP in the parent context level that creates the particle system primitive, nothing gets emitted. If I set the impulse count to a specific value, the particles are constantly emitted over time, rather than just being emitted once, which is the behaviour I'm trying to achieve.

Would anyone be willing to point out what I'm missing here? I'd appreciate any advice on this, along with if there's an easier way to accomplish the effect I'm trying to achieve as well.

Thanks!
User Avatar
Member
459 posts
Joined: Oct. 2011
Offline
Hi
Your npoints expression needs to point one level higher: “../../create_particle_system” not “../create_particle_system”

“../” just points to the same level

Cheers
Bonsak

EDIT: And your “Life expectancy” should probably be set to 1/“your frame rate” unless you want them to live for a full second.
http://www.racecar.no [www.racecar.no]
User Avatar
Member
16 posts
Joined: March 2014
Offline
Cheers bonsak, I totally spaced out on the expression there for grabbing the number of points from the parent context, however I'm still getting the problem of constant emission of particles, as opposed to just emitting a specific number of particles though:

http://i.imgur.com/AEceTZy.png [i.imgur.com]

Setting Life Expectancy to 1/$FPS doesn't fix it (naturally), somehow the node seems to be doing constant emission for some reason.

Am I supposed to use a different workflow for getting an impulse emission of particles instead?

EDIT: The scene file and geometry are available here:

https://onedrive.live.com/redir?resid=8B0609E969E8BC0A [onedrive.live.com]!230516&authkey=!AGv4nXSurZPM_AQ&ithint=file%2chipnc

https://onedrive.live.com/redir?resid=8B0609E969E8BC0A [onedrive.live.com]!230467&authkey=!ACUPpice5PefcSQ&ithint=file%2cOBJ
User Avatar
Member
459 posts
Joined: Oct. 2011
Offline
Not sure i understand what you want to do
Right now your'e emitting the same amount of particles pr frame as there are points in “grp_particles” and they live for one second?

-b
http://www.racecar.no [www.racecar.no]
User Avatar
Member
16 posts
Joined: March 2014
Offline
Hmm, let me see if I can explain differently: I have a point cloud, and I want each point in the point cloud to be treated as an individual particle so that I can affect them with POP force nodes. i.e. blow the points away from the surface of the mesh, for example, or have them vibrate about their positions.

Similar to this effect, but instead, the particles I have already exist as points, if that makes sense.

https://vimeo.com/95644892 [vimeo.com]

I imagined that I would be able to emit a single particle for each point in the point cloud with a specific lifetime, and then affect them that way. However, I can't seem to stop the POP network from constantly emitting particles, as opposed to just emitting one particle for each input point at the start of the simulation.

And yes, the effect behaviour itself I'm trying to achieve is very simple, haha. I'm having trouble figuring it out though, unfortunately.
User Avatar
Member
459 posts
Joined: Oct. 2011
Offline
Ah. Just set “Impulse activation” to “$F < 2”. Then it will only emit on frame one.

-b
http://www.racecar.no [www.racecar.no]
User Avatar
Member
16 posts
Joined: March 2014
Offline
Ah, did not think of that! Works perfectly, thank you very much! I need to get more familiar with Houdini expressions…
User Avatar
Member
16 posts
Joined: March 2014
Offline
Hmm, not sure if it's ok to ask stuff like this but I'll give it a shot…

https://youtu.be/jTbV_zwCm6c?t=5m12s [youtu.be]

So I am trying to re-create that sort of effect, my question is right now I'm using a crazy amount of particles to get the kind of resolution of the skin peeling off that is shown in the video. Also all my particles are affected at the same time by my POP forces, rather than bit-by-bit as the video shows (though I guess I can group them by a fractal texture and then have POP forces affect each group differently to kind of simulate that behaviour better),

I wanted to ask, though how the effect in the video seems to be achieved to have that look of a mesh surface, rather than just individual point particles? Am I mistaken in thinking that it looks like a surface that is fractured (like cloth) and then affected by forces? (It doesn't look like particles to me, but that's the only way I know how to replicate that effect at the moment)

Would anyone more experienced in effects be willing to take a look and offer some hints as to what I should look at doing with my particles, or a totally different workflow?
User Avatar
Member
459 posts
Joined: Oct. 2011
Offline
Check out Rohan's tutorial on particles for how to apply more random forces to particles. There are many more but the principle is basically the same: https://vimeo.com/95644892 [vimeo.com]

For the liquid fracturing theres a ton of tutorials about fracturing and dynamics. So if you nail the particle force randomness, the fracturing wont be a problem
Good luck!

-b
http://www.racecar.no [www.racecar.no]
  • Quick Links