mcjRibbons for DS 1,2,3,4


this curtain was created using mcjRibbons


mcjRibbons lets you create objects using 2 curves,

this process is sometimes called Extrusion

- the Profile curve is the curve defined by the positions of a series of objects you selected

- the Path curve is the trajectory followed by the selected objects as they travel during an animation created by you


the Zip file is found at the bottom of this page under the name mcjRibbons.zip

unzip it in your daz content folder

typically this means C:\Program Files\DAZ\Studio\content\

once installed the script will be in Studio/Scripts/mcasual

The other zip file named mcjRibbonsManual contains the

document you are presently reading, it's the manual.


Lets create 8 spheres and place them in circle.

The Spheres are named Sphere1, Sphere2 ... Sphere8

Helper Script: mcjPrflr

Instead of spheres, you can use Null nodes to create the profile curve.

Creating large numbers of Null nodes can be tedious, so i created the
companion script named mcjPrflr and packaged it in the same zip file
as mcjRibbons.

the UI looks like this and should be easy to figure out.

The imaginary line going from Sphere1 to Sphere8 will be called "the profile curve"

Create a null ( Null1 ) in the center of the profile curve and parent the 8 spheres to it

this way we can move the 8 spheres using Null1

We set the Animation Timeline for a 37-Frames animation

the Play Range is from frame 0 to frame 36

we create a Null ( Null2 ) and we place it 9 meters to the left of the Profile curve

then we parent Null1 to Null2

At Frame 0, we set Null2's ZRotate parameter to 1 degree

At Frame 36, we set Null2's ZRotate parameter to 360 degrees

We change Null2's ZRotate parameter back to 0 degrees ( we did that be sure a keyframe is created )

we change the Play Range to : frame 0 to frame 35

here's the result

The gray lines were added, for illustration purposes ( using the mcjTracer plugin found elsewhere on this site ).

You may notice the 8 balls speed up and slow down, this is a sometimes-unfortunate side effect of the way Daz Studio treats keyframes.

To fix this you could use my "SetInterpolation" script, and change Null2's keyframe interpolation to "Linear"

Now the balls move at a constant speed

the Path Followed by the balls from the first animation frame to the last is called "the Path Curve"

Select the 8 balls one after the other, in the correct sequence

Launch mcjRibbons

Click on the Save Button and specify a filename for the obj file that will be created

example: torus001.obj

Now import torus001.obj using Daz Studio's File / Import / Wavefront Object

Use "Poser" settings as your import Options

And here's the result ( i applied a texture to make things clearer )

Closing the Profile curve and the Path curve

Since we did not specify "Close Profile Curve" we can see a slit running along the side of the torus.

and since we did not specify "Close Path Curve"  the torus misses a slice.

If we change this ...

we get a complete torus

Adding end Caps

When the Path curve is open and the Profile curve is closed

it's possible to add caps


i changed the playrange to Frame 10 to 25

and i checked the two Cap checkboxes

Stabilization of profile UV U

The UVs of an object determine how the textures/images are "painted" on the object's surfaces

the "U" part of the UVs is the coordinate along the profile curve, the V part of the UVs is the coordinate along the path curve.
By default, mcjRibbons spreads the U values according to the lengths of the segments that form the profile curve

in the example above, the left side of the road narrows

the left image shows mcjRibbon's default handling of the UV-Us, the paved portion of the road drifted

the right image shows the UV-Us with the "Sample UV U at current frame and maintain" checkbox checked

mcjRibbons sampled the UV-Us at frame 0 of the animation and maintained them.

Other objects created with mcjRibbons

Spiraling Staircase ( 3 objects )

Soft Sofa ( 1 object )

a skirt with tulle

a short and winding road
note that this object was converted into a subdivision surface
using Daz Studio's Edit/Convert to Subd menu
unfortunately this introduced a defect in the texture ( where the asphalted surface shrinks )
to avoid this you could perform the subdivision in a program like Blender3D

mCasual Jacques,
Sep 25, 2010, 11:40 PM
mCasual Jacques,
Sep 25, 2010, 11:34 PM
mCasual Jacques,
Sep 26, 2010, 7:22 PM