Introduction: The Max Creation Graph (MCG)
The president of the company I work for sent an email that said, “You are never too busy to innovate.” This made me think of the Max Creation Graphs (MCGs), a visual programming language developed specifically for users to “innovate” for themselves and others. For those who might not know about the MCG tool, I’d like to provide a simple tutorial to construct a MCG tool as well as present a few tools others have already developed and made available online.
The MCG was introduced with 3ds Max® 2016. It provides users with the ability to visually construct tools that could only be created by programming or scripts prior to its release. The MCG tool is a great alternative for users who struggle to grind through and learn scripting or programming languages to customize 3ds Max the way they want. MCGs are created using a node-based editor with input and output nodes wired together with links dragged between them. See Figure 1 for a complex but clear example.
Figure 1: The MCG editor
Tutorial – Create a Basic MCG Modifier
Step One – Begin by opening the Max Creation Graph Editor located under the Scripting menu. Once the editor is open, verify that you are working in a tab called Untitled. Once confirmed, select the area identified as Graph Area in Figure 2 and press “x” to open the search list. Select the Output: Modifier node.
Figure 2: Graph Area
Step Two – On the left side of the editor locate the Geometry – Deformers category inside the Operator Nodes window and double-click the PushRandom compound to insert a node into the graph area. Wire the value TriMesh output to the PushRandom node. If you review the example in Figure 3 notice that the PushRandom node requires two inputs. First a mesh and second a max_weight, which represents the amount to push.
Select the PushRandom node, right-click, and choose Generate Parameters to insert a node to control the minimum and maximum values. Rename the node and call it Push Amount (this will be the text next to the roller when the modifier is selected) and set the default value to 5. Click inside the graph area and press “x” again. Locate the modifier TriMesh and insert the node. Wire the TriMesh value to the mesh connector in the PushRandom node as shown in Figure 3.
Figure 3: Example
Step Three – Save your MCG tool. The name you choose will be the name of the modifier in the modifier list. You can see in Figure 4 I named mine “AugiTool.” Now select the Evaluate option inside the Build menu. Once the build is complete the Message Log window located at the bottom of the editor will state that “validation was successful.” Close the editor. Congratulations! Now you can select a mesh and choose your custom modifier from the modifier list that you created using the MCG tool.
Figure 4: AugiTool modifier
Step Four – To edit the tool, simply select the MCG editor in under scripting and open the saved tool. To add a relax to the tool, double-click on the WeightedRelax option inside the operator window to insert the node. Right-click on the WeightedRelax node and select Generate Parameters. Rewire the nodes together as shown in Figure 5. Save the tool and run the evaluation again. Once you close the editor a second button will appear on your modifier giving you the option to relax the mesh.
Figure 5: AugiTool modified
Examples
Here are a few examples of MCG tools created by developers at ScriptSpot.com.
VA CloneOnCurve created by Alaa Alnahlawi – Distributes objects along curves with the options to rotate in three-dimensional axis. Exhibited in Figure 6.
Figure 6: CloneOnCurve by Alaa Alnahlawi
Vu Blob created by Vu Nguyen – An extraordinary tool to create random and unique organic and rock-like formations quickly. Exhibited in Figure 7.
Figure 7: Vu Blob created by Vu Nguyen
Conclusion
The MCG tool provides users with an entirely new way to create custom tools that have the potential to eliminate the need to recruit developers in many cases. I recommend investing some time to explore how it can help with your own production and innovation.