pushing a curtain aside



Can anyone give me a tutorial on how to create a curtain and pull it to one side, like someone is drawing a curtain aside.

I’ve tried doing this in Syflex and though I’ve used nail constraints and animated them moving across, I get an xmas present wrapper effect - the curtain moves to one side but it isn’t at all smooth or fluid and doesn’t have that followthrough effect.

If someone could explain step by step just how to do this, it would be really appreciated. I just need to know how to do the setup and then I’ll try messing with the attributes, but if anyone knows settings for this sort of thing for a curtain, all the better!




  If your useing maya v6 and syflex v3, I'll mail you a small example file..  (4.0K)

I'd attache the file, but I don't have permission


now I do… so file is attached


Thanks for the file Jeff. (I had a minor problem with opening the file - it said there maybe some data loss, but didn’t look like it lost any data when I played it through).

So it looks like you used nail constraints at the top of the curtain, then grouped these and animated the group being scaled, whcih pulled the curtain to one side. Then you animated the cylinder object moving along and made it collide with the curtain.

Thanks, this really helped me understand how to do this. I was getting really stuck! Now I can experiment more!


This may seem like a silly question but how do you get the playback of every frame of the animation in the render globals window to go with say the frame rate set at PAL of 25 secs to play together? For example, if I play back the curtain animation with the character pushing the curtain aside at the set PAL rate of 25 secs, won’t the curtain animation act strange since it’s not playing every frame?


ya it was really simple, but I hope it was enough to give you some ideas. I kinda set it up to be
doing both, drawing the curtain open (without an object interacting with the cloth), as well as having an object collide with the curtain.

as far as scaling the pins, I did that just cause it was cheap and fast to do. If the curtain was not being drawn open from the curtain rod, but just by interaction from a character, then disconnect the scale on the group node and re-animate the cylinder to better approximate what your char would be doing. Or do both, and make a better curve for the scaling of the pins…

And yes you must have playback set to everyframe in order for syflex to work right in gui mode…
do that under “Window>Settings/Preferences>”
Playback Speed set to play every frame
and in “Settings”
Working Unit Time set to Pal

But if your just rendering or playblasting, there should not be a problem. But maybe I don’t understand that part of your question. :slight_smile:


Hey, thanks a lot.

This is such a great help.

By the way, what do you mean by making a better curve for the scaling of the pins?

Yes, you answered my question about the playback settings which is what I was confused about. Or I hope so, I’ll find out soon…(!)

I did a quick curtain anim, however how do you get one side of the curtain to stay still or pretty much so so that it’s not blowing all over the place when you draw the curtain - is there a setting for this under one of the syflex forces?


:By the way, what do you mean by making a better curve for the scaling of the pins?

In my example, I made a real simple anim curve to drive the scale of the group node.

have fun toadlover


I read through the thread real quickly and if I’m correct you are using a constraint to pull the curtain aside? I wouldn’t use constraints, it’s too fixed… I’d simply use a mesh, simply animate your character opening a curtain, then make some collision objects and push it aside. Ofcourse, if you want the curtain then to slide open, you might want to key the constraints on top.


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.