Creating a dynamic telephone cord

By -
5 mins
Last modification: 16 Sep, 2017 (scroll to the bottom to download related material) This file shows a simple and fast method for creating a dynamic phone cord using Maya Hair. 1. Model the phone and receiver and a curve that defines the start position of the cord. The cvs on the cord should be evenly spaced and the first cvs should be at the base of the phone with the last at the base of the receiver. The curls are added after the dynamics so you may only need about 10- 20 cvs. If desired you can use fewer and later increase the number of simulating segments by increasing the sample density on the follicle. 2. Select the curve and do "Hair: Make Selected Curves Dynamic". Turn off the "exact shape match" option if you wish to have more simulating cvs than curve cvs and increase the sample density on the resulting follicle. This allows one to model the rest shape of the phone using only a few cvs. 3. Parent the created follicle (folliicle1) to your phone. (in outliner middle mouse drag follicle1 onto the phone) The node "hairSystemFollicles" will now be empty and can be deleted if desired. 4. Edit the follicle node: pointLock = Base (start point of the hair is attached to the follicle, which is parented to the phone, end point free) restPose = straight (generally this is more stable if we add stiffness to the chord) 5. Select the last cv on the hair curve and do "Hair: Create Constraint: Transform". Parent this constraint to your receiver if you plan on transforming the receiver. The hair should now be locked at both ends when you play the simulation. 6. Select the hairSystem and do "Hair: Assign Paint Effects Brush To Hair". On the created pfxHairShape turn on "Draw As Mesh". You should now see a tube that tapers near the end. 7. On the created brush make the globalScale = 1 so that the width of the tube is the hairSystem hairWidth setting. On the hairSystemShape make the hairWidthScale ramp all 1 and increase the hairWidth to the desired cord width. 8. Now to create the coils: On the hairSystem make the clumpWidthScale all 1 and set the clumpWidth to the desired coil width. Increase the subSegments based on how many coils you need and edit the clumpCurl to determine the number of coils. You may need something like 10 subSegments and a clumpCurl of 2( type into selectedValue) depending on how long the cord is. Note that clumpCurl is generally better than the hair curl( under displacement ), because the twist along the cord is better handled. 9. To flatten the cord a bit (if it is more of a ribbon style cord) simply increase the flatness1 value on the brush. 10. To edit the cross-section points on the tube you can make the brushType = mesh and set the tubeSections. 11. The shading defaults on the brush will be wrong for a cord, but it is probably best to simply select the chord and do "Convert: Paint Effects to Poly" with history on. Then assign a suitable shader to the result. 12. Collisions: On the hairSystem turn on collideGround and set the groundHeight to the desired value( the table top, unless you need the cord to go below this ). For each object you wish to collide with, select that object and the follicle( or curve ) and do "Hair: Create Constraint: Collide Cube" (or sphere), parenting and sizing each constraint object to fit the object to be collided with. One can use geometry collisions, but they are more prone to sticking and errors. In general it is better to have these stand-in collision constraints sized to just a little larger than the object being collided with. Be careful not to overlap the curve ends, however, as this can push the curve out of connection with the phone. 13. Dynamics: Edit the stiffness ramp so it is very low in the middle and increase the stiffness to 1.0. This allows the cord to flex, but keeps it normal to the surfaces where it attaches. Depending on the number of simulating cvs you may need to adjust the iterations and lengthFlex attributes. Some length flex may be useful, as the phone cord can stretch due to the coils. Also if your scene scale is large increase the gravity value. The default gravity setting works when modeled such that each unit is interpreted as a meter (ignore the actual units settings, which are best left at cm). If you make the phone really large the gravity needs to be large. If needed you can adjust the collide width of the coil by tweaking the collideWidthOffset attribute. You can now animate the phone and handset. To allow the cord to be in a settled state on the first frame you could run the simulation a few frames then do "Hair: Set Start Position From Current".

editPfxOnPolyPath.mel parentToSurface.mel dynamicFollow.mel cameraFollow.mel confettiFall.mb oakBigLeaf.mel + oakBigLeaf.mel.icon
Posted By
Published In
  • Tutorials
To post a comment please login or register
| 7 years ago
ReVolotion option I am looking for a loop loft tool the creates a nurb curve from the centroid origin on a model, but the spline slides over top of a surface and has extra features to it seen one in any app yet? seen a mel script in maya of one yet? essentially it functions similarly in display to a cross section tool or how camera can be used to dolly image plane clipping plane in and out of a view ONLY that the clipping plane is the shell boundary of the polygon sub D or nurb curve surface.. the tool itself harnesses and has extra tools to it that uses the centroid origin of a model and it can automatically create a centroid origin SPLINE much like the time line points in animation only that if you imagine the origin to be the nerve center for how a spline is traced directionally over a surface then this will allow for much more robust resurfacing controls over a surface within maya Second if the model has limbs etc it can slide the centroid accordingly to any of the limb centroids. The tool then has the ability to create a loop spline which allows any artist to re-loft from a new set of clean isoparm splines that are NOT directionally dependent. to slide along a centroid which you can slide along its circumference the loop of a spline that is closed or OPEN and then tweak as you grow additional splines draping over top allows a modeler to resurface a model in mere seconds manually rather than hours.
Edited by xwxDhBS4 7 years ago
| 8 years ago
thanks a ton!
Edited by ITXaPUMt 8 years ago
| 10 years ago
Do not model your CV curve straight (for example in the front view snapping to the grid) otherwise you won't see the mesh of the pfx. ;-))
| 13 years ago
can you think of a way to do this in Maya Complete? Thanks! Dave
| 14 years ago
"In maya 8 there's "Cloth, Animation, Polygons, Surfaces, Rendering, Cloth, Live, and Customize," yet, no "Dynamics" I see "hair" and "fur" tabs which hav eall the options to create, yet there's no menu set." i can see dynamics tab in maya 8. it is just next to Animation and before paint effects.
| 14 years ago
Ottimo Duncan!!! Natale
| 14 years ago
In maya 8 there's "Cloth, Animation, Polygons, Surfaces, Rendering, Cloth, Live, and Customize," yet, no "Dynamics" I see "hair" and "fur" tabs which hav eall the options to create, yet there's no menu set.
| 14 years ago
"Hair: Make Selected Curves Dynamic". Where is this option in Maya 8? I can easily find it in Maya 7, yet not in Maya 8. Where did it go? The Dynamics menu set where it's located is not even in Maya 8. :(
| 14 years ago
Duncan, I'm working with fluids and need to create a 30ft gas fireplace. Basically its a pipe hidden in a wall below eyelevel. So when you look at the wall all you see is flames, you don't actually see the pipe. I tried using a surface emitter. I mimicked the settings from the 4th fluid example. All my settings are the same except for incadesance and opacity. The settings on the example are super sensiive to any adjustments. Could you point me in the correct directions. Thanks
| 14 years ago
thake you!
| 14 years ago
great solution Duncan thanks for always so sharing ideas so willingly. Brad