Form and Space

creating CG 3D since 2001

  • Connect @
  • Linked in
  • Vimeo
  • Twitter
Plant forms made with the Path Constraint

MEL: Path Constraint ver.0.6

Matthew | March 7, 2013

No Comments

This is my third public release of the Path Constraint tool I’ve been developing for a little over a year. It has gone through a number of revisions, and is now at ver. 0.6. The former tool can be found here, and you can see significant changes have been made to the path constraint.

The biggest change is the use of more expressions to drive the offset, start, end, scale, taper, and twist of the objects along the path. Also, there is an up axis for all objects and uniform rotation for all objects.

Path Constraint Channel Box

Path Constraint Channel Box

Plant forms made with the Path Constraint

Plant forms made with the Path Constraint

plant path Constraint


When you run the tool you’ll find a “helper object” created and selected for you (which is actually the up vector using object rotation). In the channel box you’ll find a series of attributes, all of them can be animated.

You’ll find this tool not only essential to rigging, but also to the modeling and layout processes. You can easily create a row of bushes conforming to the landscape, or railroad ties on the railroad. In rigging, you would use this to smooth bind extra influence objects to a mesh, and get flexible characters in addition to the standard bipedal. I’m sure there’s much more to make and develop, but I believe you’ll find this very useful in most production situations.

Path Constraint, public release
version 0.6
Matthew L. Stoehr

Constrain objects to a curve with a linear distribution.

Select the object(s) to constrain, then select the curve.  
Run the script.

1.  Selection order is the order of objects on the path.
2.  Rotate the upvector object to spin the objects on the path (a better
    alternative is to use the Up, Rotation, and Twist controls
    on the up vector object's channel box).
3.  Change -worldUpVector to the perpendicular direction of the curve.  
    For example, a defualt circle should have an up vector of 0 1 0, or 
    a curve drawn from the front view should have an up vector of 0 0 1.
4.  This can be run on the same path multiple times.


Leave a Reply



Example Scene