Jump to content

How do I add collision to a popnet?


Recommended Posts

Hello, 

I have scene where I am emitting rings from the center of the world with a pop network, and a sop solver inside. The problem is that they don't collide within one another. I am a beginner so I am not sure where to go from here. All the progress I have is with the help of tutorials and help from the forums.

Scene:

image.thumb.png.1e539100183de53cfc87ac6cd17c032e.png

Pop net:

image.png.710f81c5dce7dbb919e486ed123a8fa4.png

Sop Solver: 

image.png.6ba70e871981193f98b497a5dfbbb1f1.png

ring emitter.hip

Link to comment
Share on other sites

Hello Carl45456,

Is there any specific reason for using the pop solver instead of the RBD bullet solver? I believe the RBD bullet solver has collisions built into it while the pop solver needs a little bit of work to get collisions to work properly.

Link to comment
Share on other sites

Hello Carl45456,

I had a look at your file and I now understand what you are trying to do. Sorry for the earlier post.

A quick solution is to use a vellum solver and simulate the geometry as a string.

I went ahead and made the necessary changes to your hip file. Please see if this is what you are after. The file I posted essentially has all the same forces that were used in your pop solver, but I changed the solver to Vellum. I also had to make a few changes to the initial setup to configure the input geometry for Vellum.

Now you have the collisions in your sim. The only downfall is that the resample node that you had inside your DOP network cannot be used as it might mess up the Vellum simulation. There are a few ways to get around this problem. One of which is to add the extra points and create new constraints to account for the added points, all of which has to be done inside the DOP Network itself. Another method is to simply increase the points in the initial geometry. The former method might be too difficult for you if you are a beginner to Houdini, so I went with the simpler latter solution.

You can dial down the simulation setting if you want. I cranked up everything high to avoid collision errors.

Hope this helps you out.

ring emitter_MODIFIED.hip

Edited by Eyeracker
Link to comment
Share on other sites

9 hours ago, Eyeracker said:

Hello Carl45456,

I had a look at your file and I now understand what you are trying to do. Sorry for the earlier post.

A quick solution is to use a vellum solver and simulate the geometry as a string.

I went ahead and made the necessary changes to your hip file. Please see if this is what you are after. The file I posted essentially has all the same forces that were used in your pop solver, but I changed the solver to Vellum. I also had to make a few changes to the initial setup to configure the input geometry for Vellum.

Now you have the collisions in your sim. The only downfall is that the resample node that you had inside your DOP network cannot be used as it might mess up the Vellum simulation. There are a few ways to get around this problem. One of which is to add the extra points and create new constraints to account for the added points, all of which has to be done inside the DOP Network itself. Another method is to simply increase the points in the initial geometry. The former method might be too difficult for you if you are a beginner to Houdini, so I went with the simpler latter solution.

You can dial down the simulation setting if you want. I cranked up everything high to avoid collision errors.

Hope this helps you out.

ring emitter_MODIFIED.hip

Thanks man! I really enjoyed looking through your edits. Especially how you used a delete node to control the birth rate. I never knew you could do that.

I couldn't figure out how to preserve the popcolor, so I used a mops falloff to control it, less dynamic than controlling the age but seems to get the job done. I also managed to figure out how to fuse the ends of the circle, by adding a fuse after the resample node.

I also noticed some weird shading issues, not sure how to fix that yet.

 

image.thumb.png.fb4aa3a067fe0cd6df7c7d6c7d2fc2fa.png

 

 

Link to comment
Share on other sites

Worry not, the color is a simple fix. If there was an age attribute, you can color the points in post using  'color by range' option in the color SOP. That way if you prefer to make changes to the color you wouldn't have to re-sim everything.

Vellum doesn't have an age attribute, at least not to my knowledge but then again I might be wrong. Basically, we have to implement a custom age attribute which can be done with a pop wrangle inside the DOP Network, incrementing the age by one time-step each time the solver is run.

I am not sure if the fuse SOP is required after the resample SOP. The vellum post-process SOP has an inbuilt 'apply welds' option that takes care of it. Infact I would advice not to use the fuse SOP becasue if the points get too close it might end up fusing the adjacent rings together.

As for the weird shading problem, it's because of the MOPS falloff node. It might be at the border of one of the falloff colour bands.

Here is the file for your reference. Hope this fixes all the problems.

ring emitter_MODIFIED.hip

Edited by Eyeracker
  • Like 1
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...