Pile of particles form another object

   3786   5   1
User Avatar
Member
6 posts
Joined: June 2015
Offline
Hey all,

I'm quite new Houdini (coming from a C4D background), so please forgive my ignorance. I've have had quite a lot of success getting particles to emit from one object and take the form of another, in both a dynamic and non-dynamic way. (so DOPs and SOPs?)

So now I've been tasked with making a pile of objects that take the form of another object. Essentially making a pile of little rubber pellets take the form of something else. Since it has to start as a pile, I figured I'd start playing with Sand. I can make a GREAT pile with the sand solver. Where I hit the wall is trying to make those take the form of another object, or giving them custom geometry.

I had considered doing this with sand and then reversing the sequence, but that just feels like it was reversed, and thus far can't figure out a way to sim backwards… :wink:

Ideally for how fast this animation is, I would like to do this without DOPs and just add a little extra spring with a CHOP. So to do that, I essentially need to extract and initial state from the DOP/sand and apply that to my other particles. Is that even possible? I know I can drive my DOP particles with the non-dynamic but I'm not sure if it goes the other way.

Am I totally off base on this or over-thinking it? I'm nearly a week into production on this with far less to show for my efforts than I had hoped.

Any help would be fantastic. Thanks!
User Avatar
Member
2628 posts
Joined: June 2008
Offline
What if you just used two objects, state-1 and state-2. Scatter the same # of points inside each one. Use VEX code to add an attribute to each state-1 point which is the companion scatter location from state-2. Copy your objects on to the state-1 points and then drive the migration of points via a pop seek goal? The goal gets set by VEX code from the location attribute that was previously added.

Just brain storming here…
Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
6 posts
Joined: June 2015
Offline
Thanks for the reply! That sounds like a potential option, although I'm not sure what I would use for the VEX code.

I've been using this method to transition from one object to another. https://vimeo.com/112711809 [vimeo.com]

Also, since your suggestion uses a POP Seek Goal, it sounds like you would use a DOP system?
User Avatar
Member
2628 posts
Joined: June 2008
Offline
Here is an example of what I was thinking of.
The shape of the first pile is determined by the particle sourcing.
The shape of the second pile is determined by scatter points within a target geo.
The particle count and scatter point count are matched.

Every frame the VEX code runs and calculates a distance between each point and it's companion scatter target location.
When the distance between the point and target point is very small, velocity and force are set to zero.
To lock the particle into the final destination it's location is set to the target scatter location.

Use the Force Scale and Braking Distance values of the Pop Steer Seek to control how the particles approach the target shape.

Attachments:
ap_particle_shape_to_shape.hipnc (311.3 KB)
Untitled-1.jpg (357.1 KB)

Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
6 posts
Joined: June 2015
Offline
This is awesome! Thank you so much! This is very close to what I'm needing. I think I can massage this a bit to get it where I need.

Thank you again!
-Brian
User Avatar
Member
7 posts
Joined: July 2014
Offline
I updated this for Houdini 20.5 and added a "stopped" attribute of 1.0 if the particles are less than 0.05 from their target.
Seems to work.

ed
Edited by Ed B - Aug. 6, 2024 08:51:44

Attachments:
eb_particle_shape_to_shape.hiplc (330.9 KB)

  • Quick Links