Jump to content

Particle collisions inside animated mesh


tomwyn

Recommended Posts

Hi all,

 
I'm trying to recreate something like this system made by Matt Puchala at 0.07 in this video:
 
 
Essentially, what I'm aiming to get is:
 
- Fill an animated mesh with a constant number of points that follow the mesh animation. (This is obviously harder than it sounds...)
 
- Apply collision/neighbour detect & repel force, to get the nice 'nudging' behaviour.
 
- Copy geo onto points that adhere to mesh surface (as in video).
 
 
Obviously he has made his own (awesome looking) collision detection system, but I'm wondering if a similar effect can be achieved with H's built in collision detection in POP's, and using the POP Interact?
 
As of yet I'm having zero success, so not even a .hip to share yet, but any pointers in the right direction would be very much appreciated!
 
Thanks.
 
(NB. Here's a link to Matt's website, some nice looking tools on there.)
Link to comment
Share on other sites

Hey Farmfield,

 

Having checked it out, yes, I suppose it could be done with the grain solver.

 

However, I'd really like something that doesn't require super long sim times (which the grain solver/shelf tools definitely suffer from imho), so was hoping somebody may have a VOPs type suggestion for where to take it.

 

:)

Link to comment
Share on other sites

Hi Everyone!

 
I’m Matt, I created the collision solver in the video above.
 
I’d love to shed some light on what is going on. Basically, there are two parts to the shot with the dude. Part one is the collision solver. which I created for an entirely different shot. If you look at my demo reel, its for the guy melting through the metal wall. Its used for volume preservation in the liquid metal. 
 
The solver is implemented entirely through VEX and then used inside a SOP solver to calculate collisions frame to frame. 
 
To address Johnny, yes it is completely doable with grains! I love grains! They are my favorite new feature! However, they have a lot of tech built in that is there to make it, well, look like sand. But that makes it seem like over kill for a simple case like in my demo. So I made a bare-bones version that sims very quickly and does just what I need.
 
Part two is getting the points to stick to the mesh. So here it is…
 
      1. Scatter points on a mesh.
  1. In a SOP solver, advect the points with noise or however you would like.
  2. Find the nearest point on the surface and snap to it. 
  3. Solve for collisions. 
  4. Go to next fram 
 
I hope this helps!
 
-Matt
Link to comment
Share on other sites

I just thought it sounded like redoing something already in Houdini as that kind of setup would be "position based dynamics", so what the grain stuff does. If I understand it correctly. And about the grain solver being overkill for some setups, I imagined the sheets and solids deactivated the dry/wet sand solver parts, but I haven't really checked the underlying setup - I need to be in a particular mode to jump into the SESI setups as they have a tendency to break my mind slightly... ;)

Link to comment
Share on other sites

Hi all, thanks for the responses!

 

 

Hi Everyone!

 
I’m Matt, I created the collision solver in the video above.
 
I’d love to shed some light on what is going on. Basically, there are two parts to the shot with the dude. Part one is the collision solver. which I created for an entirely different shot. If you look at my demo reel, its for the guy melting through the metal wall. Its used for volume preservation in the liquid metal. 
 
The solver is implemented entirely through VEX and then used inside a SOP solver to calculate collisions frame to frame. 
 
To address Johnny, yes it is completely doable with grains! I love grains! They are my favorite new feature! However, they have a lot of tech built in that is there to make it, well, look like sand. But that makes it seem like over kill for a simple case like in my demo. So I made a bare-bones version that sims very quickly and does just what I need.
 
Part two is getting the points to stick to the mesh. So here it is…
 
      1. Scatter points on a mesh.
  1. In a SOP solver, advect the points with noise or however you would like.
  2. Find the nearest point on the surface and snap to it. 
  3. Solve for collisions. 
  4. Go to next fram 
 
I hope this helps!
 
-Matt

 

 

 

 

Also, as far as getting it to follow some animation... Unless you want the movement of the object to affect the behavior of the particles, I would simulate the points on a static mesh then deform it with the animation afterwards.

 

Thanks so much for this description Matt - very much appreciated! Got something (not as nice looking as yours) working using this as a basis, although have gone in a slightly different direction now based on client feedback. :)

 

 

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