Jump to content
7ofDiamonds

RBD Chains?

Recommended Posts

Hi guys, I'm trying to create some chains, these are small scale chains, but there's lots of them (maybe 100s?).

Here's a reference:

 

Would like to constraint them to two main objects, (eg: the two rings at the ends in the example) and have them move and interact to these main objects.

 

What's the best way to go about doing this? I would appreciate any tips or a workflow that could help me make this process efficient. Thanks!

 

post-12698-0-35089400-1446873536_thumb.j

Share this post


Link to post
Share on other sites

I've came up with something simple that seems to work for me. I've attached a hip file. The chain collisions seem to be working well, other than the weird jiggles that I'm getting.

 

Also, another question regarding the building of the chain itself. I'm trying to alternate the rotation of the chains, but I'm not getting the desired result. I'm using if ($CY % 2 == 1, 90, 0) for the rotation but it's like doubling up and doing every two chains instead of every other. What I am I doing wrong?  :(

 

49bcexee9n.jpg

 

 

This network is marked red in the hip file under the chainlink geo`. 

 

I appreciate all the help, thank you!

 

chain_test_v2.hipnc

Share this post


Link to post
Share on other sites

last time i did chains, i used bullet.  i generated proxy geometry using spheres (simple way from geo of link: vdbfrompoly node -> vdb to spheres node).  if you have fast motion, you'll need to crank up the substeps potentially, but bullet is pretty fast so large numbers of substeps is not too bad.

 

you're making your copy too complex.  just rotate 90 every time with cumulative.  or turn off cumulative if you want to use your expression.

  • Like 1

Share this post


Link to post
Share on other sites

last time i did chains, i used bullet.  i generated proxy geometry using spheres (simple way from geo of link: vdbfrompoly node -> vdb to spheres node).  if you have fast motion, you'll need to crank up the substeps potentially, but bullet is pretty fast so large numbers of substeps is not too bad.

 

you're making your copy too complex.  just rotate 90 every time with cumulative.  or turn off cumulative if you want to use your expression.

I forgot to mention that the second post with the example file was built with bullet and it seems to be working fine. I'll test out the proxy geometry with spheres.

 

Thanks for the tip on the copy! Somehow that just flew by me, didn't think about the cumulative. Thanks!!

Share this post


Link to post
Share on other sites

last time i did chains, i used bullet.  i generated proxy geometry using spheres (simple way from geo of link: vdbfrompoly node -> vdb to spheres node).  if you have fast motion, you'll need to crank up the substeps potentially, but bullet is pretty fast so large numbers of substeps is not too bad.

 

you're making your copy too complex.  just rotate 90 every time with cumulative.  or turn off cumulative if you want to use your expression.

 

Have a couple of questions regarding the vdb to spheres method. Should the entire chain link be an RBD packed/fractured object? If so, where can I plug in this proxy geo? There doesn't seem to be a proxy geo input for the RBD packed/fractured object. Or should I be using something else?

 

P/s - I'm trying the setup that I have in the file above, but somehow, if the chains are smaller, they seem to just randomly break at certain times..

 

**UPDATE**

I've attached a hip file for what I have right now. Just a simple chain dropping onto the floor. Collisions seems to work for a while, but after frame 14, things just break, I have my global substep at 4, and the substep on the bullet solver itself at 300! I feel like I'm doing something wrong.  :(

chain_test_v3.hipnc

Edited by 7ofDiamonds

Share this post


Link to post
Share on other sites

yeah, packed rbd object.  you use proxy geo directly (the sphere representation) and then when you dop import your sim, you feed your beauty geo to the dop import and just import the xform's for each named piece.  you have to set up your names, tho.  so set up a single link with proxy geo, then pack it and use a name attribute, then do your copy to make the chain links.  that is then your geo for your sim.  i'm trying to remember which bullet geometry type to use -- just run thru them and use the one that makes the bullet geo look retain the sphere shapes you set up.  the docs should have a section on the whole proxy geo and dop import thing.

 

if you have a any kind of instantaneous forces, you may need even higher subframes on the dop (20+ isn't crazy, so long as your sim times don't bog you down).

  • Like 1

Share this post


Link to post
Share on other sites

yeah, packed rbd object.  you use proxy geo directly (the sphere representation) and then when you dop import your sim, you feed your beauty geo to the dop import and just import the xform's for each named piece.  you have to set up your names, tho.  so set up a single link with proxy geo, then pack it and use a name attribute, then do your copy to make the chain links.  that is then your geo for your sim.  i'm trying to remember which bullet geometry type to use -- just run thru them and use the one that makes the bullet geo look retain the sphere shapes you set up.  the docs should have a section on the whole proxy geo and dop import thing.

 

if you have a any kind of instantaneous forces, you may need even higher subframes on the dop (20+ isn't crazy, so long as your sim times don't bog you down).

 

The concave bullet geo seems to be representing the spheres correctly. However, my sim times are through the roof, even with just 3 links, and even with a substep of 20+, they seem to be breaking, even worse than without the proxy geo :/

chain_test_v4.hipnc

Edited by 7ofDiamonds

Share this post


Link to post
Share on other sites

There are several steps to optimise your scene. 

First uncheck Create Packed Prims  on assemble SOP. Then promote names to points. Or just remove assemble and set the names using wrangle.

Then go to DOPs and set geometry representation to Convex Hull. Check 'Create Covex Hull per set of connected polygons' and thats it you re back in business :D

 

EDIT: even better : it also works with 'Create Packed Prims' turned on and without any change in SOPs, BUT you have to use Active object instead of Deforming active object.

 

Cheers!

chain_test_v5.hiplc

Edited by rayman
  • Like 1

Share this post


Link to post
Share on other sites

There are several steps to optimise your scene. 

First uncheck Create Packed Prims  on assemble SOP. Then promote names to points. Or just remove assemble and set the names using wrangle.

Then go to DOPs and set geometry representation to Convex Hull. Check 'Create Covex Hull per set of connected polygons' and thats it you re back in business :D

 

EDIT: even better : it also works with 'Create Packed Prims' turned on and without any change in SOPs, BUT you have to use Active object instead of Deforming active object.

 

Cheers!

 

Thank you so much Pavel! The collisions seem to be working very well this way! 

I tried using Create Packed Prims, but I seem to be losing the names from the groups (I created an output group in the copy sop). 

 

I also added a DOPimport with "Transform Input Geometry" on and plugged my beauty geo into the it. It doesn't error out, but it shows nothing in my viewport. I thought it was something to do with the Packed Prims since they lost their names, but even with the Create Packed Prims turned off (and naming in tact), it doesn't seem to be displaying anything at all.

 

I really feel that it's caused by the Packed Prims but I cannot pin point it. I tried it with just a simple box as proxy geo, and a sphere as beauty geo, and it seems to be working fine as an RBD object, but not as a Packed object.

chain_test_v6.hipnc

Share this post


Link to post
Share on other sites

Its even better to set it up using transform pieces - that way you just need to cache output point cloud and use it to transform your hi-res pieces.

chain_test_v7.hipnc

  • Like 1

Share this post


Link to post
Share on other sites

Its even better to set it up using transform pieces - that way you just need to cache output point cloud and use it to transform your hi-res pieces.

 

That seems to work pretty well. Thank you so much!

Will post the final results here when it's done!

Share this post


Link to post
Share on other sites

Hey guys! As promised, here's the finished piece. Would love to go in and fix some things with the smoke and some artifacts, but this is it for now!

https://youtu.be/r0SrUmXZMgA

 

Would appreciate feedback!

Also thanks to Pavel and Miles for helping a lot with the chains!

Edited by 7ofDiamonds
  • Like 1

Share this post


Link to post
Share on other sites

that is a VERY good sim.

 

nice job!

 

Thank you very much Michael! I really appreciate it!

 

Awesome! Can I share it around?

It's setted as unlisted so I think it's better to ask first.

 

Hey Alvaro! The reason it's unlisted is because it's not completely finished yet. I would probably take another week or two to go in and fix some issues with the smoke, lighting and stuff. Once that's done, I'll update this thread. But I don't mind if you wanted to share what I posted above :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×