FORUMS: list search recent posts

making cable faling - how to avoid the cable intersect it self?

VIEW ALL
 making cable faling - how to avoid the cable intersect it self? by r303on Sep 22, 2005 at 9:56:52 pm

I'm making an elevator cable snap and falling down the shaft.
Now, I extruded a circle curve (cable body) along a straigt curve (cable path), while having construction history on.

I created clusters along the straight curves vetices.
I created little cubes an placed them on exact the same vertices for the straight curve.
I point constrainted the clusters and cubes (one by one).
I spring constrainted the cubes. Again one by one. 1 to 2. 2 to 3. 3 to 4 and so on.

This gives me a row of cubes interconected with springs and each cube again controling the shape of the straight curve.
Which again controls the shape of the extruded circle (the elevator cable).

Now when i translate a cube, it alle works fine the cable start to swing and ocillate.

I now want the cable to fall down. I atach graviti to all the cubes and the fall pulling the curve with them.
It works fine. But on the way down the curve spins around and intersect it self. This doesen't look good. The cable would
have been made out of steel and can not pass throug it self.

I tried to make the extruded circle a passive rigid body, but the deformation of the straight curve (conected to the extruded circle via the construction history) seems to overide the passive ridgid bodys function of not passing through it self.

Have I taken a wrong aproach in order to make the cable?
Any ideas?

 Re: making cable faling - how to avoid the cable intersect it self?on Sep 23, 2005 at 6:24:24 am

Hi, r303. This is a tricky one you've got.

First of all, I believe that you've made the creation of the cable a little too complicated. If I were attempting this scene, I would have started out with a softbody curve for the cable path; no need for clusters or a series of rigid cubes. With a softbody curve, you can apply a spring object automatically, instead of creating spring constraints one at a time. Also, overall, the processing necessary to achieve the motion should be greatly reduced because the softbody is a much simpler setup.

All that being said... I'm not sure if there's an easy solution to your problem.

The trouble is the way collisions are detected--in fact, the way collisions are defined. A collision (someone please correct me if I'm wrong?) is the intersection of a point's path with a face of a collision object. Got that? A *point* intersecting a *face*. Other intersections--for example, between edges--are not detected.

This makes collision detection and self-penetration for any kind of tube or cable problematic. In general, we want to define these objects using a few control points, with a smooth interpolation between them. That's how NURBS work, and when you created your series of cubes along the length of your curve, that's how your setup worked too. But the problem is that, since we're only detecting collisions every so often along our curves--where the control points are--the spans between our control points will be free to penetrate geometry and each other.

I honestly don't know if there's a quick and easy solution for this. In my softbody method, I think there's no possible way to fix it. In your method, you could use a 'brute force' method, and keep adding cubes until the gaps between them were very narrow. But this would be computationally expensive, and I'm not sure if the results would be good.

If there are just a couple of places where your curve self-intersects, you could fudge things by creating a small, invisible passive body and keyframe it to block the sections of the curve before they go too far and cause self-intersection. But this is an ugly, labour-intensive solution and the results, again, might not look good.

Hmmm. Maybe if you used a plane instead of a curve--a 'ribbon'--you could prevent THAT from self-intersecting, then extrude along one of the ribbon's isoparms, instead of a curve?

I'm sorry I don't have more to suggest; if I think of anything else, I'll be sure to post.

-Steve

 Re: making cable faling - how to avoid the cable intersect it self?on Sep 23, 2005 at 3:01:37 pm

Which version of Maya are you using? Using dynamic curves would be a lot easier

J.

 Re: making cable faling - how to avoid the cable intersect it self?by r303on Sep 23, 2005 at 3:10:35 pm

O ofcourse...I'm on 6.5

 Re: making cable faling - how to avoid the cable intersect it self?on Sep 23, 2005 at 3:38:48 pm

I'm on an earlier version--do dynamic curves solve that collision problem??

Argh, I really need to upgrade!

-Steve

 Re: making cable faling - how to avoid the cable intersect it self?on Sep 23, 2005 at 5:14:39 pm

yes, they do self collision based on a volume calculation. when the curved enters its collision volume it is repelled as if by a force until it's outside the collision volume. Only available in Maya Unlimited. Its not perfect and if the cable is moving fast enough the collision will never be detected. If you don't have access to dynamic curves but you do have maya unlimited (or syflex) you could create a stip of geometry as a cloth object. That it will have much more sophisticated self-collision detection and you could wrap deform your tube geometry to it.

 Re: making cable faling - how to avoid the cable intersect it self?by r303on Sep 23, 2005 at 9:34:11 pm

Sounds as if I have to spend the weekend inside... ;-)

Thank you.