(For more resources related to this topic, see here.)
Before we begin
Most of the tools we'll be featuring here are only available in the Broadcast and Studio installations of Cinema 4D.
As discussed, this article will cover the basics of MoGraph objects and introduce a couple of sample animation ideas, but as you continue to learn and grow as an animator, you'll most likely be taken aback at how many possibilities there are! MoGraph allows you to create objects with a basic set of parameters and combine them in endless ways to create unique animations. Let's dive in and start imagining!
The backbone of MoGraph objects is the cloner object. At its most basic level, it allows you to create multiple clones of an object in your scene. These clones can then be influenced by effectors, which we will discuss shortly. All MoGraph objects can be accessed through the MoGraph menu at the top of your screen. Your menu should look like the following screenshot:
Let's open a new scene to explore cloners. Create a sphere, make sure it is selected, then navigate to MoGraph | Cloner. You can parent the sphere to the cloner manually, or hold down the Alt key while creating the cloner to parent it automatically:
We've cloned our object, but it doesn't look much like clones so far—just a bumpy, vertical pill shape! This is due to the default sizes of our objects not playing well together. Our sphere has a 100 cm radius, and our clones are set 50 cm apart. Let's change the size of our sphere to 25 cm to start. You should now see three distinct spheres stacked on top of each other.
As we create more and more spheres to experiment with cloner settings, you may find that your computer is getting bogged down. We're using a sphere here, but a cube would work just as well and creates far less geometry. You can also reduce your segments on the sphere if desired, but using a simpler form will probably be the most effective method.
Let's take a look at the cloner settings in the Attributes Manager:
The Basic and Coordinates tabs follow the same standard as the other object types we've encountered so far, but the Object tab is where most of our work will happen.
The first step in using a cloner is to choose a Mode:
Object mode arranges clones around any specified additional object in your scene. If you switch your cloner to Object mode, you'll see that you still have an object selected, but the clones have disappeared. This is because the cloner is relying on an object to arrange clones, but we haven't specified one. Try creating any primitive—we'll use a Capsule for the following example, then drag it from the Objects Manager into the Object field in the Attributes Manager. Since our sphere is relatively large compared to the Capsule, for the moment, let's change its radius to 4 cm. Your objects should be arranged as shown in the following screenshot:
By default, the clones are distributed at each vertex of the object (specified in the Distribution field). If you want more or less clones while in Vertex mode, select the capsule and change its height and cap segments accordingly.
Also, the visibility of the clones is linked only to the cloner, and not to the original object. If we turn off visibility on the capsule, the clones stay where they are.
Vertex: This aligns clones to all vertices (objects can be parametric or polygonal).
Edge: This aligns clones along edges. Edge will look relatively similar to Vertex but will most likely have significantly more clones. Also this can be used with selection sets to specify which edges should be used.
Polygon Center: This will look similar to Vertex, but with clones aligned to each polygon. This can be used with selection sets to specify which polygons should be used.
Surface: This aligns clones randomly to the surface; number of clones is determined by the count value.
Volume: This fills the object with clones and requires either a transparent material on the original object or turning off visibility:
Now that we've explored distribution, let's take a look at the different cloner modes. Linear mode arranges clones in a straight line, while Radial mode arranges clones in a circle—you can think of it as a more advanced version of the Array objects we used when creating our desk chair. Grid Array mode arranges clones in a 3D grid, filling a cube, sphere or cylinder, as shown in the following screenshot. Sounds simple, right? Grid Array, when partnered with effectors, is one of the most powerful tools in your MoGraph toolbox.
Let's take a look at the settings. The Count field allows you to specify how many clones there are in all three directions. The Size field will specify the dimensions of the container that the clones fill. This is the key difference from the Duplicate function we learned previously; Duplicate will arrange instances that are spaced x distance apart, while the Size field on cloners specifies the total distance between the outer-most and inner-most objects. Note that if you change the count of any objects, it adds additional clones inside our cube rather than adding additional rows at the top or bottom, as shown in the following screenshot:
Cloners are incredibly versatile, and you may find yourself using them as a modeling tool as you become more comfortable with the software.
Now that we've gotten the basics of cloners down, let's add an Effector and see why this tool is so powerful!
Effectors are, very simply, invisible objects in Cinema 4D that influence the behavior of other objects. The easiest way to learn how they work is to dive right in, so let's get started!
With your cloner object selected (and set back to Grid Array, if you've been experimenting with the different modes), navigate to MoGraph | Effector | Random as shown in the previous screenshot. You should see all of the clones move in random directions! If you did not select the cloner before creating an effector, they will not be automatically linked. If the clones were unaffected, select the cloner, switch to the Effectors tab, and drag the Random effector from the Objects Manager into the open window as shown in the following screenshot:
The Random effector is set, by default, to move all objects a maximum of 50 cm in any direction. This takes our clones that exist within the 200 cm cube and allows them to shift an additional 50 cm at random. We're even given an amount of control over that randomness, allowing for endless organic animations.
Let's take a look at the settings for the Random effector:
Click-and-drag on the Strength slider. As you approach 0 percent, the spheres move closer together. The Strength field works directly with the Transform parameters, so if you change the strength to 50 percent but leave the Transform values the same, your positions will be identical to a Random effector with 100 percent strength and 25 cm in all directions, as demonstrated in the following screenshot. The cloner on the left is having 50 percent strength, 50 cm x 50 cm x 50 cm, while the cloner on the right is having 100 percent strength, 25 cm x 25 cm x 25 cm:
The reason these appear identical is due to their Seed value. True randomness is near impossible to create, so random algorithms often rely on a unique number to determine the position of objects. If you change the seed value, it will change the random positions. If you create a Random effector and dislike the result, clicking through seed values until you have a more desirable configuration is a quick and easy way to completely change the scene. This value can be keyframed as well, which can be combined with keyed transformation values to create complicated organic animations very quickly.
In addition to position, you can also randomize scale and rotation. Scale values represent multipliers, rather than a percentage—so a scale of 2 equates to a potential 200 percent increase. 1 is equivalent to 100 percent, meaning a 25 cm sphere may be up to 50 cm—a 100 percent increase. Clicking on the Uniform Scale option prevents distorting the sphere.
If you want to test the rotation option and are still using spheres, you may want to create a basic patterned material and add it to your object as shown in the following screenshot - otherwise it'll be impossible to tell that they're rotated!
Cloners can have multiple effectors as well. With a cloner selected, navigate to MoGraph | Effector | Time. In the Attributes Manager, choose the attributes you'd like to manage over time—perhaps leave the position attributes to the Random effector and add Scale and Rotation to Time—then scroll through the timeline to see how the objects are affected:
Time for action – creating organic shapes with metaball and cloners
We've used cloners with effectors to change their position, scale, and rotation, but cloners can also be combined with other object types to create interesting effects.
The metaball object allows you to combine individual objects, using the original objects as a guiding shell for a unified single, smooth object.
Start a new file, or turn off the other objects in your current scene (which may just be your cloner object at this point).
Create three spheres and arrange them spaced slightly apart from one another. Feel free to vary the size as well. The following screenshot shows a 100 cm sphere at (0 cm, 0 cm, 250 cm), a 100 cm sphere at (-185 cm, 0 cm, 0 cm), and a 200 cm sphere at (220 cm, 0 cm, 60 cm):
Click-and-hold on the Array icon to expand the menu, then click on the Metaball object. Parent the three spheres to the metaball. You now have one unified organic shape!
Similar to the issues we had when we first created a HyperNURBS object, we now have a model that's a great shape but isn't quite smooth enough. Select the metaball object and change the Editor Subdivision and Render Subdivision to a much smaller number, 3 cm should do the trick; but if it bogs down your computer down too much, try to find an appropriate balance:
Experiment with the metaball object by moving the spheres around and seeing how they interact. Again, if your computer is bogged down, you can change the Editor Subdivision to a higher number, then change it back for rendering purposes. Spheres can be pulled away from the rest of the object, but as you move them closer together again, you'll notice the geometry tries to pull and connect. This offers numerous benefits for molecular and other organic styles of animation.
Once you've experimented with the three spheres and feel like you have a good handle on how metaball objects work, delete them. Turn your cloner back on, and set it as a child of the metaball object:
From here, you can change the seed in the Random effector to create a different shape, you can change the size of the spheres and add more or less features to them—you now have a basic blob that can be animated however you like!
The frames shown in the next screenshot are from an animation with the following settings:
A cloner object with a 6 x 1 x 6 count in a 700 x 200 x 250 size
Keyed metaball position that moves across the screen over 90 frames
Random effector keyed to change from 12345 to 12348 over 90 frames
What just happened?
We've discussed along the way that the most powerful solutions in C4D come from taking basic tools and combining them in unique ways. Here, we've combined the metaball object with a MoGraph cloner to create an animated organic form in seconds. There are endless variations on this shape just by modifying the cloner object, useful as the star of the scene or as an ambient background texture.
Now that we've learned how to create a unique, organic animation, let's use our new MoGraph tool to create a more straightforward animation.
Time for action – rigid body tags
There are a number of physics tools built into Cinema 4D, which is one of the many reasons it works so well for motion graphics. Rigid body tags are assigned to objects that will collide with one another through animation, to aid in creating real-world simulations. If you manually animate a ball dropping to a floor, you have to constantly make sure that your object hits the floor at the right position and doesn't accidentally pass through. With dynamics tags, you can ensure that there's no worry!
Create a cloner object and change its mode to Grid Array. Set its object count at 6 x 1 x 6, and its size to 300 cm x 100 cm x 300 cm. Set a sphere with a 30 cm radius as its child. Then add a Random effector to the cloner. The default transformation setting for position is fine, but let's also enable rotation; 90 degrees on all three directions should work well. Add a texture to your sphere as we did previously so that you can see how the objects are rotating. The following examples will use a basic material with Tiles in the Color field.
Create a Floor object. Leave it at (0 cm, 0 cm, 0 cm). Move the cloner object to (0 cm, 600 cm, 0 cm):
Select the Floor and the Sphere (not the cloner) and, within the Objects Manager, navigate to Tags | Simulation Tags | Rigid Body. You should see new tags to the right of your objects as follows:
Make sure your marker is at frame 0 in your timeline and click on the play button. All the spheres should fall from the sky, hit the floor, and bounce around until they slowly roll to a stop! The following screenshots were rendered with a simple light setup in order to get a sense of space, so these frames may look slightly different than yours. The position and timing, however, should be similar:
What just happened?
One of C4D's key advantages over the competition is the built-in physics controls, and now we've proven just how simple it is to create realistic animation with a couple of steps.
So how does this animation happen, and how can we control it? If you open your project settings (by navigating to Edit | Project Settings) and select the Dynamics tab, you'll see some very basic settings. Dynamics are enabled by default, so when you create dynamics tags and haven't specified otherwise, objects will begin moving by default. Experiment with the Time Scale and Gravity values to see how this affects your scene:
If you need your animation to start at a specific keyframe (rather than frame 0 as in our current animation), the easiest way is to key the Time Scale. You can also set keyframes on whether or not dynamics are enabled at all, however, since this is an on-or-off option, keying your Time Scale will allow for a more gradual, natural approach.
There is one very important option on the Dynamics tab, Baking. You may have noticed that scrolling through the timeline results in a different look than when you play through the timeline, and if you enter a specific frame value, the viewport may not change at all. Cinema is animating entirely due to dynamics settings and calculating on the fly, rather than creating one motion path that will always remain constant. If you create an animation with dynamics that you're happy with, you can navigate to the Cache tab (a subset of the Dynamics tab in Project Settings) and click on Bake, as shown in the following screenshot:
Remember that any changes that are made in the Project Settings window are global, applying to everything in your file. Luckily, we're able to set keyframes for individual objects as well. We can enter settings for the floor as well as our individual spheres. If you practiced baking dynamics earlier, re-open the Project Settings window and click on Clear Cache. Otherwise, the changes we make will not take place, because we just specified that we liked our animation as it was. Additional dynamics settings are located on the Collision tab in the Attributes Manager, as shown in the following screenshot:
Experiment with changing your Bounce value; this is the biggest influencer on the behavior of an individual object. A Bounce value of 0 percent on the sphere's rigid body tag will result in spheres appearing to be stuck to the floor; assigning a Bounce value of 100 percent to the floor will result in very bouncy spheres. Remember that all values can be keyframed, allowing for unlimited variety in your animations.
Have a go hero – MoGraph cloner settings
MoGraph cloner objects and dynamics are incredibly powerful tools with many settings to explore. The best way to explore how these things work is to set up a simple scene like the one we've used previously—a single primitive dropped into a cloner. Click on the play button and see how well your computer handles the number of clones you have in the amount of time you have specified in your timeline (90 frames or 3 seconds, by default).
Keep the frame count low and allow the animation to continue looping. Change a value in the Dynamics settings—bounce, friction, and so on—and watch how your animation immediately responds. This will give you a better understanding of how individual variables can be keyed and combined to create different effects with similar tools. Switch out your primitives as well to see how friction impacts higher-polygon and lower-polygon objects.
If you need to create an extruded type in Cinema, you can create a text spline and place it in an Extrude NURBS object. However, MoGraph has taken one step out of the process with the MoText object! Open the MoGraph menu and select MoText. This will place an extruded text object in the middle of the stage:
The MoText options in the Attributes Manager are relatively self-explanatory, and all are animatable. Since it is a MoGraph object, it can be used with effectors, as well! Try applying a Step or Random effector and see what the results are! The text itself is keyable as well.
Many of these settings will look very similar to the NURBS and Spline options that we've seen before—Depth, Caps, and so on. MoText is a much more powerful alternative to the text spline, regardless of whether or not animation is your end goal.
Time for action – tracer objects
Motion Graphics designers often find themselves needing to create splines and ribbons that move through space. The tracer object offers a quick and easy way to take the animation path of a spline and create "traced" splines that follow its animation over time.
Create a spline—the more points you create, the more processor-heavy your animation will be. The following example will use a standard 4-side spline, 200 cm x 100 cm.
Set two keyframes for your spline, using any combination of position/scale/rotation you desire. We'll move our spline from (0 cm, 300 cm, 300 cm) to (0 cm, 300 cm, -300 cm), and rotate on the B axis from 0 to 270 degrees:
With the spline selected, navigate to MoGraph | Tracer. Drag your slider through the timeline—if you do not see splines appearing on the screen, select the tracer and make sure the 4-side spline is in the window under Trace Link. Drag it into the window if necessary. Your motion paths should be displayed and mapped to the four points of the spline, as shown in the following screenshot:
Create a Sweep NURBS object, then create a Circle spline. Set the circle's radius to 4 cm. Then, assign the circle and the tracer as children of the Sweep NURBS. Scroll through the timeline and watch your splines grow!
The tracer object is a very powerful tool, but creates very complex geometry. Try and keep your splines as simple as possible, and you'll be on your way to making complex animations in no time!
If you need your camera to appear as if it is following splines through space, you can parent your animated spline to your animated camera, then trace it. The animation paths will be identical and it will appear as if your camera is "chasing" the spline.
We've covered a lot of ground in this article, but we've just scratched the surface of MoGraph's capabilities. As MoGraph has developed over the last few versions of Cinema 4D, many generous animators have taken the time to figure out possible combinations of elements and shared them online—Greyscalegorilla, HelloLuxx, and Maxon's own Cineversity are great places to jumpstart your imagination.
In this article we've learned how to create cloner objects, how effectors interact with MoGraph objects, how to combine cloners with Cinema's built-in dynamics system to create complex animations by defining simple behaviors, how to create and edit text objects, and how to use tracer objects with simple splines to guide other objects in a scene.
Resources for Article :
- 3D plot using gnuplot [Article]
- Getting Started with Mudbox 2013 [Article]
- Animating Properties and Tweening Pages in Android 3-0 [Article]