I am pleased to announce that we have added new functionality to MCG in 3ds Max 2016 Extension 1. You can now create animation controllers using Max Creation Graphs. We also have made it easier to create dynamic rigid body physics simulations with the integration of Physics bullet library. Smaller improvements include added support for Vector3 parameter types and arrays of 3ds Max objects (INode) or floating point values (Single).
In addition to other fixes, one notable bug fix provided with SP1 (to all 3ds Max 2016 users) that enables users to get mapping channels (e.g. Vertex Color Channels, etc.). This means it is now possible to store and access data in map channels.
Here are some of the highlights of the work on MCG this extension.
MCG Animation controllers
The extension ships with several new controllers created using MCG:
- Lookat with Billboard Constraint
- RaytoSurface Position/Orientation/Transform Constraint
- Rotational Spring with one or three degrees of freedom
You can find the source graphs for these tools in C:\Program Files\Autodesk\3ds Max 2016\MaxCreationGraph\Tools. Warning though, they are not for those uninitiated in the ways of MCG.
To get you started a little more gently into the world of controller creation, I’ve included a sample MCG position controller here called “Orbit” that rotates an object around a target on the XY plane given the speed and radius.
MAXScript Animation Controller Plugins
While working on MCG animation controller we also added the capability to create scripted animation controller plug-ins in MAXScript. This differs from the traditional “script controller” in that the new controller has a parameter block, a UI displayed in the motion panel, and is listed in the assign controller dialog.
To demonstrate the new MAXScript scripted controller capabilities, I’ve included a “Time Dilation” scripted MAXScript position controller plug-in. You use it by assigning it to an object’s position track that already has a controller assigned. It will cause the object to behave as if time is slowed down and then sped up between the specified begin and end frames. This is done by applying a mathematical function (“pow” to be specific) to the current time and passing the transformed time to the previous controller to get the value.
Note that one limitation of this tool is that you can only access the previous controller through MAXScript.
Dynamic Rigid Body Simulations with Bullet Physics
We added new operators to MCG that simplify the creation of rigid body simulations using the Bullet physics library. To support this we also have a new property that tools can have called "Is Simulation" that appears in the tool's "properties" dialog. This controls how caches are handled and forces the tool to re-evaluate at each frame.
The new rigid body simulation operators are complex enough that I will be blogging about them in a later post.
For now I leave you with a video from one of our developers Nathan Loofbourrow, where he talks about the work in MCG this release.