MCG Path Constraint a.k.a IncrCloneOnCurve

12 votes
Date Updated: 

This MCG constraints your object motion to a path. The motion can be repeated forever beyond the curve.

It can also be used to incrementally clone object along a curve and there is no need to adjust the distance

between the clones and count when length of curve changes.


Ver 1.01.00: You can now use a curve to control scaling of the clones.

Ver 1.02.00: updated due to SP2 catering for multi curves in a spline. However this will still work only on the 1st curve in a spline. I have not updated multicurves functionality yet.

I strongly advise you to get SP2 as this provides a great speed boost to MCG....and extra stuff, of course.

ver 1.04.00: now supports multi curves in a single spline. Also added Rotation control curve for Cloning, and Fake movement to utilise Scale/Rotation curves in PathConstraint mode.

Ver 1.05: added Pivot Gap option...WARNING: becareful with low gap there will be shitloads of clones for gap approaching 0, I've actually put minimum at 1 for safety reasons.

Ver 1.06: updated for Max 2017 to fix Spline/Path related flaw (please continue to use 1.05 for Max2016)

Ver 2.00: This version will work for both 2016 and 2017. Please note for 2017, you'll get deprecated messages, it's OK, it will still compile and run.

Ver 2.01: you can now rotate your path freely

Any small donations to [email protected] would be greatly appreciated. I intend to then fully donate onto the following:

Thankyou. Meow. Woof. Moooo. Oink. Grrrl.....Bzzzz...

3ds Max Version Requirement: 
Other Requrements: 
SP2, version 1.06 simply requires Max 2017
Video URL: 
vu_pathconstraint_1.00.00.zip17.62 KB
getcurvelength.zip1.07 KB
vu_pathconstraint_1.01.00.zip19.26 KB
vu_pathconstraint_1.02.00.zip20.48 KB
vu_pathconstraint_1.04.00.zip25.61 KB
vu_pathconstraint_1.05.zip25.75 KB
vu_pathconstraint_1.06.zip49.49 KB
vu_pathconstraint_2.00.zip25.58 KB
vu_pathconstraint_2.01.zip26.39 KB


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
k2000's picture

Error occurred in

Error occurred in Vu_PathConstraint defined in C:\Users\user\Autodesk\3ds Max 2016\Max Creation Graph\Tools\Downloads\Vu_PathConstraint.maxtool
- ViperEngine.ViperNullArgumentException, Parameter #0 named 'n' of operator ShapeFromNode cannot be null at Autodesk.Max.MaxPlus.ShapeObject ShapeFromNode(Autodesk.Max.MaxPlus.INode)
at Viper3dsMaxBridge.ViperMaxOperators.NodeOps.ShapeFromNode(INode n)
at _anonymous_type_21.{105}lambda_method(Closure , Single x0, Int32 x1) in C:\Users\user\Autodesk\3ds Max 2016\Max Creation Graph\Tools\Downloads\Vu_PathConstraint.txt:line 307
at ViperEngine.ViperPrimitiveOps.ControlFlowOps.Repeat[T](T init, Int32 n, Func`3 body)
at _anonymous_type_21.main(InstanceState state, Boolean UseScaleCurve, TriMesh mesh, Int32 AlignAxis, Boolean Flip, Single RotY, Single RotX, Single RotZ, INode PickPath, Single Gap, INode PickScaleCurve, Single ScaleMult, Boolean Reverse, Boolean PathPercent, Single OffsetPerc, Single Offset, Boolean OutOfRange, Matrix modifierTransform, Boolean Percentage, Single Perc, Int32 Count) in C:\Users\user\Autodesk\3ds Max 2016\Max Creation Graph\Tools\Downloads\Vu_PathConstraint.txt:line 290

k2000's picture

test scene - same issue no

test scene - same issue
no clones
I can see only 2 boxes in one spot, increasing number makes no sense

path_constraint_test_max2016_sp1_ext1.max - Autodesk 3ds Max 2016

k2000's picture

cannot get it worked

cannot get it worked (((
nothing happens, clones never show up
maxscript listener gives errors

Untitled - Autodesk 3ds Max 2016

vusta's picture

win10 ?

what about win10, I'm on win7, I hear win10 is not officially supported (for max2016 that is) yet.

Also, my mcg install is local ie. on my c:\blah blah....yours is not on some network location I assume (still, I don't really see a problem there tho)

vbn's picture


Hmm... I have Nitrous enabled so I'm not sure what causes the slowdown. I'm also not running any other processes or documents in parallel with Max.

I will test it on a couple of other PC with Max and will let you know the results.

vusta's picture

seems OK

after various tests, I'm getting about 150-200FPS, the odd occasions I see 70FPS.

Then I pushed the clones up to 100, did some more tests and still getting about 150FPS.

My system has a 4770K, 16Gb ram so it's less than yours...but this file is tiny so I think machine spec is not the problem. Dunno what it is...your machine was not stressed out by other processes right ?

What about graphics driver? I use Nitrous and was getting 150-200FPS,
I switched to default legacy direct3D and I got about 10FPS !!!

vbn's picture

Sure, please see attached.

Sure, please see attached.

path_constraint_test_max2016_sp1_ext1.max 84.03 KB
vusta's picture

is it possible for you to send the Max file ?

only then I would have a better idea...

I did a simple test with teapots, way more 'complicated' than a box and I get ~200FPS..lowest was about 60FPS and my machine is less powerful than yours...

vbn's picture

Problem with MCG

Very useful, thanks. I just installed the MCG (version 1.01.00) to try it out and it works but unfortunately it is really slow for me. When I start adjusting any parameter of the MCG modifier, the viewport updates very slowly and FPS drops dramatically (~5-10 FPS). I tried it with a box which is not a heavy object. My PC is i7 4930k, GTX 980 4GB, 32 GB RAM. Do you know what might be the cause?

Thanks in advance!

vusta's picture

added GetCurveLength compound

I've converted the Get Curve Length logic into a compound so ppl can use it more easily...does not require EXT1.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.