Hi there and welcome to the Maya Learning Channel.
Today I’ll be showing you how to make dynamic text using MASH.
If you’re new to MASH and want to know the basics,
you can check our Motion Graphics playlist.
But don't worry, it’s not required watching to complete this tutorial.
To create our starting text, I’m going to click the Type Tool sitting up in the shelf here.
Then in the type tab of the Attribute Editor, I'm just going to change it to read
“COOKING WITH MAYA”.
Naturally I have full control over fonts, sizes, and styles.
In fact, Maya will automatically pick up any fonts in your OS’s font folder,
and create 3D versions of them.
Now I'm going to shrink the font size down.
Then thin out its Extrude Distance.
And then I'll center it.
To give it a splash of paint, I’ll go into the Texturing tab and click this button here,
which is the main base color.
These other ones are for extrusions and bevels which won't bother with this time around.
Right now the letters have a standard blinn shader attached to them,
but let’s change that to a more friendly Arnold shader instead.
You know, I think the word MAYA could use a bit more pop.
Instead of grouping it with the other words, I’m going to backtrack and make it its own object.
So first I'll delete it here.
Then I'll create a new Type object.
I'll center it, then shrink it down...
...and then thin it out.
And then give it a nice teal Arnold shader.
Cool, so now we have our two Type objects. The next step is to make them dynamic.
If you’re already familiar with MASH, you might think
“okay, I'll just make them a MASH network and add a Dynamics node”.
However, doing that treats each Type object as a base primitive, then duplicates it.
Which obviously looks wrong.
So instead, I'm going to select MASH > Dynamics > Add Shell Dynamics.
This applies the same bullet physics as a dynamic MASH network,
but then treats each letter as a single point in that network.
So you can see they all fall apart now.
Then I'll just do the same for my second Type object.
Don't worry if you get these cyclical warnings. The simulation will still work.
At this point I can treat these letters like any other dynamic MASH network.
I could add nodes to change their behavior or smash them into collider objects.
In this case, I’m going to try tossing them in a pan.
To make my pan, I’ll first switch to the Modeling Standard Workspace.
Then I’ll start with a simple sphere,
which I'll scale up to fit the text.
I just want the bottom half for our pan, but it’s a little too deep right now
so I’ll scale it in Y until it looks about right.
Then I’ll also add some subdivisions via the shape tab to smooth out the edge.
Now right-clicking and going to Face mode, I’m going to delete the entire upper-half.
There. Now to give the rest of the faces some thickness,
I’ll go back to the Modeling Toolkit and extrude them outward.
Finally, I’ll right-click, Add New Material, and create an Arnold shader.
Let’s go with a Brushed Metal preset.
I’ll just bring down the metalness a bit as well as the color.
Then I'll just rename it "Metal_Material".
This is coming along, now we just need our handle so I’ll create one using a cylinder.
First I’ll add a subdivision along the length,
then rotate it sideways.
I’m then going to delete all the faces that go into the pan.
since we won’t ever see them.
And then I'll just position and scale it until it fits.
The cylinder is poking through here, so we’ll need to curve it to fit.
So I’m going to go into vertex mode, then go to the side view.
From here, I'll use Wireframe mode and the Move Tool to reshape the end.
See? Much better.
Finally, I’m going to use Extrude again to give some extra thickness to this part of the handle.
Now I'll just color this part with our brushed metal.
...And then this back half with a new, plastic material.
So Presets > Plastic.
I think I'll go with red.
And then we'll rename this "Plastic_Material"
Now all that's left to do is take these two pieces...
...and Combine them into one object.
Which I'll call "Pan".
Great, now our pan is done. We just need for everything to collide.
Rather than make the pan a regular Collider Object though,
I'm going to instead make it another MASH network.
This will actually get us more accurate collisions,
since MASH networks are evaluated a lot more frequently than collider objects.
Let me just rename these so I don't get confused.
Of course, we don’t need all these pans, so I’ll reduce the number of points down to 1.
Then I’ll add a Dynamics node.
Of course, running the animation now causes both the letters and pan to fall.
To keep the pan up, I’ll crank its MASH Bias attributes, which bias the pan
towards the other MASH nodes rather than the dynamics.
I’ll also increase the Mass too since it should be heavier than the letters.
There we go. As a bonus, the default low friction even makes the pan look good and oily.
So all I have to do is animate it tossing the letters around,
which I'll do using a Transform node.
So you’ll see I’m trying to tweak my numbers here, but the pan isn’t moving.
That’s because I forgot to rewind my scene first.
I can only see manual changes before dynamics start getting involved.
You'll also notice the pan is rotating from the center of its cooking surface.
But I'd prefer it rotated from above the handle, where a person's wrist would be.
So here's a neat little trick to change its pivot.
First I’m going to use the Transform node to push the pan forward and down a bit.
This puts my desired pivot point roughly on the grid's origin.
So that when I create another Transform node on top of this one...
...then it rotates from the pivot I originally wanted.
To make things even easier, I can right-click the Controller Null field and add a controller.
This gives me a locator to play around with interactively in the Viewport.
The beauty of this is that if I ever want to change the center of rotation further,
I can just tweak the values in the first Transform node again.
This way I can work open and free-form,
without having to worry about things becoming too permanent.
This is easily one of MASH's greatest strengths.
As another example of that, watch how I rotate these words so they lie flat against the pan.
And as you can see, everything still just works.
Now I can keyframe the locator to animate the pan.
To see it moving around on later frames though,
I’ll need to temporarily disable its dynamics.
Now I'll just position the pan in a few places and hit 'S' to keyframe.
Just remember to re-enable dynamics during tests, to check if the letters stay in the pan.
In this case they're not, so I’ll need to swirl a bit less.
I'll do that by pulling in some their animation curves.
Now I'll just turn the dynamics back on.
There, fixed.
Maybe for some flair, I'll animate a little flip at the end.
And that’s it. Now that I'm done, I'll just add an Arnold Physical Sky light for rendering.
As you can see from this one frame render, that gives us both a sky and lighting...
...which I can adjust the look of in the Attribute Editor.
To render the whole animation, I’ll first need to go to the Render Settings.
First I’ll set the image format to PNG, then change from single frame to multi-frame.
And finally, specify a frame range.
Now I'll just switch to the Rendering menu set and go to Render > Render Sequence.
Hit Render Sequence, and in a few minutes you'll get something like this.