View Full Version : rope elastic rotation

11 November 2009, 12:47 AM
i want to create a rope that is attached to a group of rigid boards that interact with a wind/air field. the boards are moved by the wind and they must rotate constrainted to the rope, so they must go back to their initial position after wind stops... how can i do the rope so the boards will react according to the rope flex and rotation possibility?
here's a picture...

11 November 2009, 08:18 PM
I like to use a diamond mesh setup when i have a rope and need control over twisting.

With a diamond pattern mesh i have a row of point that run down the center. So first make a Component to Component constraint down that center row. Then i make a Component to Component constraint for the outside points. I set both constraints to max distance instead of closest pair. Then adjust them so they make one connection between only the closest point.

I do this because i use these constraints to control stretching and twisting. One center constraint to add extra resistance to stretching. Constraint require much less iterations to resist stretching. Then the last constraint to control the twisting. I some time set the twist constarint to rubberband. To give the rope for swing freedom.

11 November 2009, 09:07 PM
Cool stuff Scott! :)

11 November 2009, 12:50 AM
thanks for the help with your model, it's really similar to what i want to get, but the difference is that it has 2 constraints, the one on the top and another on the bottom and the rigid bodies (the boards) attached to the plane... the only thing i didn't get is what did you do to your plane before making it a nCloth... the diamonds... :D

11 November 2009, 01:50 AM
It's just a plane with deleted faces diagonally.

Well i only got it started. Just add a transform constraint to the bottom. The rigid planks you can just attach your mesh with a rivet or follicle. Duncan has a script that could help with the follicle method. If you want them to be dynamic. Just use a point on surface constaint.

11 November 2009, 01:04 PM
thanks, i finally did the model, but had problems when i attached the boards, because i can't make the rope stay in a line... it just hangs out with the wind, and i tried changing the parameters of the strech and compresion, but do not want to change the rigidity or the deformation resistance, cause it will make that the rope won't twist... i constrained some points of the rope, so that it won't hang out with the wind, but then the twisting won't be so good as it should be... the thing is that when an element rotates, the other should rotate after it, as it was an elastic rope... it's strange that i can't make the rope stay straight. Maybe i should do the elements constraint to a line and put some elements between each one to control the twisting... but thanks for your help, 'cause your model had the best performance 'till now...:)

11 November 2009, 05:41 PM
Neat stuff scott. Out of curiosity what is the advantage of this versus a strip of geometry and an nCloth sim?

11 November 2009, 07:40 PM
I only had a little time to set this up. So I'm not sure this is exactly how i would really set up the planks. But it does work at least. For example I would probable not use full cubes for the planks. I might only use 2D planes. They would speed things up a lot.

11 November 2009, 08:07 PM
Hay Andy hows it going? There really isn't much. The main difference is that you have a center line without two strips of polys. The diamond strip is basically just a minimal set of polys to build a set of constraints. And you can define how you want it to behave with constraints. Since constarints stretch a little less I would rather deal with them.

That being said it's not good for all situations. If i wanted to sim something that was just a rope. I might want a strip of polys so that i could set the collision to just used edge collision.

11 November 2009, 11:28 PM
Interesting, thanks for commenting. I'd imagine there's less overhead with your method from having constraints versus an entire nCloth solver. Fun stuff!

CGTalk Moderation
11 November 2009, 11:28 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.