View Full Version : Realistic Ribbon sim with nCloth

05 May 2008, 03:24 AM
I am trying to simulate a realistic ribbon; kinda like a chinese ribbon dance where the dancer swings the ribbons and they create beautiful loops.

My main problem is that a ribbon is a pretty stiff material, in that it does not really crumple onto itself.. it remains pretty smooth while still bending. Any suggestions on how can I recreate this characteristic?
Just increasing compression/ stretch resistance is not helping yet

Any suggestions would be greatly helpful!

05 May 2008, 05:51 PM
Hey, is it that time of year already?

Guess lots of dancing ribbons are to be seen soon,
I did little experimenting myself and its pretty difficult
effect for simulation, even for really good ncloth engine,
Its long thin shape in itself is solutions nightmare, needs
to be stiff otherwise you could scrape it from the walls and
must be nice and bendy too. Since we are talking motion path
animation here maybe adding one more constraint to the path,
very weak one to prevent the tail
from going wild, then maybe one can use less stiff cloth,
I dont know its just an idea
if you look at the reference, them ribbons are following
pretty strict paths with litlle flailing and random motion
they are not flying all over like crazy
But how about hair, should try that.

05 May 2008, 06:49 PM
Just a long single quad strip should do it (keep the quads square if possible). Have the collision thickness small relative to the quads and use full surface self collisions. The stretch resistance should be fairly high and you may wish to have raise the bend resistance as well.

The key effect is to make the mass low. This will increase the effect of drag on the ribbon which will have it trace out shapes as the leading edge is pulled (presumably with a constraint to an animated stick). You may also need to increase the substeps, depending on how fast the stick is moving and how many polys are in the ribbon.

To add detail and smooth it further do poly smooth on the output(simulated) mesh. Turn off keepBorders on the smooth node for nice edges.

I've attached a simple ribbon example.

05 May 2008, 08:07 PM
Wow! Thanks for the example! I have to drop it into my scene but that looks so much better than what I've been getting!
I do notice that you've iincreased the Sub Steps and Max Collision Iterations pretty high.
I think the most I went is 4 or 5 for these values.
Do you mind me asking how significant those values are?


05 May 2008, 09:09 PM
When you have a long chain or high resolution mesh and/or objects are moving fast you need higher substeps so the solver can better integrate the effects over time. Substeps are critical for good collisions and for avoiding things like excessive stretch around colliding regions.

In this case there was also a problem where low substeps caused problems with bend getting broken( when this happens bend gets confused as to the rest state and the mesh could become kinked ). Due to this problem it sometimes helps to use thick vertex self collision which can simulate bend resistance through self collision instead of relying on the bend attribute.


05 May 2008, 12:02 AM
Thank you, Duncan. Those comments are very helpful!
And nCloth is indeed the best cloth simulation system around!


CGTalk Moderation
05 May 2008, 12:02 AM
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.