Flux and the Max Creation Graph Sample Pack 2

By - - 3ds Max
6 mins
Last modification: 3 Oct, 2017

To celebrate the fact that we now have over 3000 members on the MCG Facebook page, and to make up for the long periods without posts I wanted to share a new set of MCG tools and compounds: you can download the MCG Sample Pack 2 here.

Before installing the Sample Pack I recommend you first back-up your entire MCG user folder (%userprofile%/Autodesk/3ds Max 2016/Max Creation Graph). You can then un-zip the file contents directly into your MCG user folder. This package includes all of the tools and compounds from the original sample pack and includes updates to the MCG curvature sample, so overwriting existing files should be fine, unless of course you made your own modifications to these tools or compounds, which is why I strongly recommend backing up your folder!

At the core of this sample pack is a set of modifiers called the Flux toolkit for performing object cloning, placement, and creating animations. These mini-tools work together to enable users to create sophisticated effects as demonstrated in this video:



Even if you don't find the Flux toolkit directly useful it does demonstrate a very powerful workflow for MCG tools: using Map Channels to share data between tools. It also serves to showcase and test a large number of new compounds the address common challenges that arise when writing MCG tools. For example orienting objects towards another, generating random points on a surface, interpolating positions and tangents along a spline, and so forth. 

How Flux Works

Flux works by storing transform matrices in a map channel to represent the position, rotation, and scale of each cloned object. You place a Flux initializer modifier (e.g. Flux_Initialize_Vertices) on an object to initialize the map channel. Next you place the Flux modifiers you want. Finally you add a Flux_Evaluate modifier on top to generate clone a mesh at each of the matrices.

Things get very interesting when you use the Flux blend modifiers (e.g. Flux_Blend_Falloff) to interpolate between the top and previous Flux effect. This is where the “combine effect” check-box can be useful. Most Flux effects also have a "strength" value that allows you to control an interpolation between the Flux effect (or combined effect) and the previous effect. Flux effects can also be copied to and from other map channels to enable your to reuse intermediate effects (e.g. using Flux_Store_Data and Flux_Load_Data). 

Flux Modifiers

The following is a list of the Flux modifiers


Flux Modifier


Modifier Type




Flux Align Axis






Orients one axis of each matrix



Flux Blend Falloff






The effect is applied to matrices in a specified part of the array, with a falloff



Flux Blend Offset






The effect strength is applied to matrices with before the specific location in the array.



Flux Blend Randomly






The effect is applied with random strength to different matrices



Flux Blend Region






The effect is stronger near the specified node



Flux Blend Sine Wave






The effect strength is controlled by a sine wave.



Flux Circle






Arranges the transforms in a circle



Flux Concatenate






Adds two arrays of matrices together



Flux Evaluate






Creates clones of geometry transformed according to each matrix in the map channel



Flux Filter by Angle






Removes matrices that are rotated more or less than a specific angle



Flux Filter by Box






Removes (or keeps) matrices that are within a specific distance from the bounding box.



Flux Filter Overlapping






Removes matrices that are at the same position



Flux Filter Range






Removes a number of matrices starting from the specified matric



Flux Initialize Faces






Creates an array of matrices at each face of the base object



Flux Initialize Vertices






Creates an array of matrices at each vertex of the base object



Flux Initialize






Create an array of identity matrices



Flux Lerp Nodes






Positions matrices between the matrices of two nodes using linear interpolation (Lerp)



Flux Lerp Spacing






Creates new matrices between each pre-existing matrix that has the specified spacing



Flux Line Corners






Each matrix is duplicated. Every pair of matrices is oriented away from the line segment it creates.



Flux Load Data






Copies the matrices from another map channel



Flux Mesh Loft






Creates a mesh by lofting a shape along the path defined by the matrices.



Flux Mesh Strip






Creates a mesh strip assuming the first and second half of the matrix positions forms the bottom and top of the mesh strip respectively.



Flux Move






Moves the matrices towards a target node.



Flux Orient Axis






Orients an axis towards the specified node.



Flux Orient






Orients each matric towards a target using a primary and secondary axis of orientation.



Flux Orient to Next






Orients each matrix towards the next one.



Flux Path






Creates matrices evenly spaced along a spline.



Flux Redistribute






Treats the matrices as a path, and redistributes N matrices evenly or randomly between the other matrices.



Flux Replicate






Creates N copies of the matrices, each offset by some amount



Flux Reset






Resets all matrices to the identity matrix



Flux Rotate






Rotates all matrices



Flux Scale to Target






Scales all matrices according to the distance from a node



Flux Scale






Scales all matrices



Flux Scatter






Places matrices randomly on the surface



Flux Store Data






Copies the matrices to another map channel



Flux Translate






Moves the matrices


Extending Flux Yourself

While Flux is very flexible and powerful you may find that non-trivial compound effects require a lot of clicking to switch back and forth between modifiers, not to mention your scene will slow down substantially when there are too many modifiers on your stack. This is where you can look into using MCG to create your own Flux tools that combine effects. The graphs for these tools are designed to be small and easy to understand so that you can reuse and extend them.

Some of the samples even show how Flux can be extended to do unexpected things like creating meshes.

Final Words 

A big thank you to the amazing team working on Max Creation Graph and to the support of our user community! 


Published In
  • 3ds Max
  • Cool tech
  • Scripting
  • SDK
  • Max Creation Graph - MCG
  • Film & VFX
  • Games
  • Design Visualization
To post a comment please login or register
| 3 years ago
Congratulations MCG team! Any chance to play with flux opened splines?
| 3 years ago
Hi I'm only getting the Flux initializers in the modifiers list.
Edited by pQwH41yi 3 years ago
it's very good stuff.but I don't have some nodes.something like:MatrixSetOrientation,FluxTransformMatrices.....,did I need change my 3D max 2016 to 3D max 2016 design or something else version?
Edited by 330eBSDe 3 years ago
Edited by FjAbS7K7 4 years ago
| 4 years ago
I've added to this blog a list of all the Flux modifiers. The video without music can be found at: https://youtu.be/hHmHY_q3VBI Thanks!
Edited by SmsxxDGK 4 years ago
| 4 years ago
To bad, i´m not allowod to see this wonderful (supposed to be) piece of videoart cause its embedded piece of music! SaxnDi! Ah, found the one without the musik on ´tube, Thanks alot!
Edited by nmZ30QD5 4 years ago
Very cool stuff. Is there any overview of all the content in this MCG Sample Pack 2? Or should I just download it and play with 'em all? :-)
Edited by 5kOX0YuB 4 years ago
*Save $66 per month on Autodesk's Suggested Retail Price (SRP) when purchasing 1 year term 3ds Max or Maya subscription.