MoGraph 2 introduces an incredible new Dynamics system
MoDynamics
The new MoGraph 2 module introduces a new dynamics system to the already powerful MoGraph tool set. This new system is referred to as MoDynamics. This is not a replacement for the old Dynamics module as generally MoGraph Clones are required for the dynamic objects. In addition to Cloner Objects, MoGraph Text Objects and the Fracture Object can also have dynamics applied to them. All the existing MoGraph effectors are available to manipulate the clones as before, plus the basic Particles system Modifiers like Wind and Turbulence can also be used to interact with the clones. This combination of effectors and particle modifiers give a huge range of control to the MoGraph scene. Rather than write their own Dynamics engine, MAXON has used the Bullet Collision Detection and Rigid Body Dynamics Library. The Library is Open Source and free for commercial use.
MoDynamics is a rigid body system and provides gravitation and collision effects. The dynamic effects will work with parametric objects making it unnecessary to convert them to polygon objects. This also applies to SweepNURBS and ExtrudeNURBS etc.
There are three new MoGraph Objects: MoSpline, PolyFX and Force. More about these later.
Setting up MoGraph Dynamics
Basic Clone Drop
It is a simple matter of adding the MoGraph Rigid Body Tag from the Object Manager Tags sub-menu (or from the Right click pop up menu) to both the Cloner Object and a collision object. Even the Floor Object can be used as a collision object. The tag will automatically detect whether it is assigned to a Cloner Object or a Collision object. This is indicated by a different Rigid Body Tag icon in the Object Manager.
Applying MoGraph Rigid Body Tag
Rigid body tags applied in Object Manager
With the default settings in the Rigid Body tags, pressing Play will start the dynamics and the clones will fall, collide with the floor and interact with each other as they roll on the floor. Even on a modest computer, Viewport playback speed should be reasonably fast. Note that enabling the Render Instances option on the Cloner object will improve playback speed. The video playing below is a screen capture showing how fast actual Viewport playback speed is on a modest computer (2.4Ghz Dual Core CPU and nVidia 7900GS graphics card).
Real time Viewport playback speed is fast
On very complex scenes playback speed will obviously slow down. With these scenes you can apply a MoGraph Cache Tag and bake the animation. Note that caching MoDynamics does not generate any keyframes. Also note that once MoDynamics are cached many of the settings on the Rigid Body Tag are no longer available (and they would have no effect anyway since the dynamics are cached)
Here are the settings for a MoGraph Dynamics Tag when applied to a collider object.
Rigid Body Tag applied to collider object
Briefly the settings and what they do are:
Enabled - The tag can be enabled and disabled. What's useful is this state can be keyframed. I could think of examples where you might want to use XPresso to enable or disable the tag based upon some criteria like distance from an object.
Inherit Tag - This option is only available for collision objects (i.e. not a Child object of a clone-generating object) and defines whether or not objects in the tag's underlying hierarchy should be included as collision objects.
Shape - Let's you define the shape of the collision structure that the dynamics engine does its calculations on. The default is Automatic where the dynamics engine decides what it thinks is best. You can think of the Shape option being an invisible mesh that surrounds the object. This invisible mesh is used for the collision detection. The Box option for example surrounds the object with a box. While this calculates very fast if the object is not box like in shape the collisions will occur some way offset from the mesh.
Use (Margin) - When enabled this option allows you to alter the collision margin on a per tag basis rather than using the scene level Margin value. This is a tricky one so if you want to know more read the documentation. In most cases this setting can be left alone.
Bounce - Increasing this value increases the bounce however when bounce is calculated the bounce value applied to the Rigid Body tag on the Cloner object is also taken into account so if one value is 0 and the other value is 10 there will be no bounce.
Friction - Increasing this value increases the Friction / Drag however when Friction is calculated the Friction value applied to the Rigid Body tag on the Cloner object is also taken into account. Like with Bounce, if one Rigid Body Tag value is 0 and the other Rigid Body Tag value is 10 there will be no friction. Below is a simple animation where the Friction value the Rigid Body Tag on the cube on the right is 1 whereas on the left the Friction value is the default 0.3. (Bounce has been reduced to 0. A standard particles Wind object is used for the wind)
Collision Noise - This parameter adds randomness to the collisions. Imagine a group of Clones falls to the floor and each Clone behaves the same - this would be quite unrealistic. The greater the Collision Noise value, the more varied the collisions will be. Below is an animation where the cloned spheres on the left have the default collision noise of 0.3 but the cloned spheres on the right have this value set to 5.0.
Friction - Press Play to view animation
Collision Noise - Press Play to view animation
Here are the settings for a MoGraph Dynamics Tag showing the Dynamics and Collision Tabs applied to a Cloner Object. Same tag as before but some extra settings and options. The tag is displayed differently in the Object Manager. I'll come to the Mass and Force Tabs on the next page as these are advanced settings.
Cloner object -Rigid Body Tag settings: Dynamics and Collision Tabs
Briefly the settings for the Dynamics and Collision Tabs explained are:
Enabled - Same as above. The tag can be enabled and disabled. The state can be keyframed.
Dynamic - With this enabled the clones have dynamics applied to them. When disabled the clones behave as collider objects. Note that as collider objects they can still be moving around under the control of effectors and or regular keyframed animation. When you want to use the Dynamics Translation option below you would keyframe Dynamic to being enabled for a reasonable number of frames and then keyframe it disabled. Once disabled the clones / objects will move back to their original position prior to dynamics being applied.
Dynamics Transition - This option comes into play when the above Dynamics option is disabled. When Dynamics is disabled clones / objects will return to their original position taking the number of frames as defined by the Transition Time parameter. When Dynamics are disabled the clones objects can be made to interact with other objects on their way back to their original position. This is achieved by enabling the Dynamics Transition option. When it is disabled the clones / objects just return to their original position without any interaction.
Transition Time - This value is the number of frames that the objects / clones will take if the Dynamics Translation option is enabled above.
Deactivation - The 2 options Linear Velocity Threshold and Angular Velocity Threshold define the point at which the dynamics are no longer applied to the clones / objects based on their velocity. This stops objects unnaturally vibrating as they come to rest (This is a common problem with the current Dynamics module). Should another object then collide with it, it will wake up and react to dynamics again.
Individual Elements - This option which is used in conjunction with Generators that themselves generate objects, such as the MoGraph Text Tool or Cloner Object (only in Cluster mode). This parameter basically determines how objects should collide - individually or as a whole. Demonstrated in Part 3 of the MoDynamics section.
Bounce - Same as the explanation given for Collision object
Friction - Same as the explanation given for Collision object
Collision Noise - Same as the explanation given for Collision object