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\
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
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
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
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
Click on the Save Button and specify a filename for the obj file that will be created
And here's the result ( i applied a texture to make things clearer )
Now import torus001.obj using Daz Studio's File / Import / Wavefront Object
" settings as your import Options
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 ...
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 )
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
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