Starting in Maya 2016 Extension 2,
you can use Maya’s integrated MASH toolkit to
apply all sorts of procedurally animated effects to reproductions of objects.
In this movie, we’ll show you how to create a plexus effect with Type using MASH.
This tutorial assumes you are familiar with the basics of Maya and MASH.
If you’re just getting started in either,
see the Maya Documentation or the Maya Learning Channel for help on both.
Originating from a Latin word meaning network or weave,
a plexus effect is essentially a random assortment of points connected by trails.
Start by creating a cube. Rename it “black_Cube”.
Scale it to 0.1 in all axes.
This will act as the base object for our MASH network.
Assign it a new lambert material and make it black.
Rename the material “plexus_MAT”.
Next we need to create our text. Click on the Type Tool in the Polygons shelf.
Set the alignment to center so that the mesh’s pivot is in the middle.
Under Type Attributes, type whatever you like.
In this example, we’ll use the word “PLEXUS”.
Also set Tracking to 2, which widens the spacing between each letter.
In the Geometry Tab, go to Mesh Settings
turn on Filter by Distance and adjust the distance to 1.85.
This reduces the overall number of vertices
by removing those within a certain distance of each other.
Under Deformable Type, turn on Deformable Type to automatically triangulate the front face
mesh of the word.
Adjust the sliders until the polygons are roughly the same size.
Finally under Extrusion, set Distance to 1.5 and
Extrude Divisions to 1 to control the thickness of the letters.
With our source objects ready, it’s time to use MASH.
With the black_Cube selected, go to Create > MASH > Create MASH Network.
Rename the MASH Network “MASH_plexus”
and the corresponding ReproMesh to “MASH_plexus_ReproMesh”.
Under the Distribute tab, set the Number of Points to 400.
This will make 400 copies of the black_Cube.
However, right now they appear in a straight line.
We’d like them to fit the text instead, so set the Distribution Type to Mesh.
To assign the type text as the input mesh, go down to Mesh Settings and middle-drag
typeMesh1 from the outliner into the Input Mesh box.
The cubes now disperse along that mesh.
By default, the cubes scatter along the mesh's surface.
Instead, we’ll set the Method to Vertex so each cube spawns on its vertices.
Now hide the type mesh to get a better view by selecting it and pressing H.
You can press H again when selected to unhide it if you ever need to.
Go to the MASH_plexus tab, which allows you to add different node effects to the network.
We want to connect the cubes together to form the text. So let’s add a Trails node.
You’ll notice that no trails are being drawn yet.
This is because that by default the trail node will only draw trails on animated points.
To draw the trails between static points, set the Mode to Connect to Distance instead.
This will draw trails between cubes within a certain radius based on the Search Radius.
Set the Max Trails to 1000 to increase the maximum number of trails allowed.
1000 will be enough to cover the entire text.
Also set the Search Radius to 2.8.
Now the trails join to their closest vertices, forming the word properly.
Notice that MASH has made a separate mesh for the trails called MASH_plexus_Trails1.
Assign the black Lambert material to it as well.
Now that the base type effect is done,
let’s animate into it by randomizing the point positions and having them “form up” into text.
Go to frame 1 and set a key on Max Trails with a value of 0,
along with a key on Search Radius with a value of 22.
This will cause the cubes to create longer trails at the beginning.
Now over time we’ll want the cubes connect to closer neighbors.
On frame 48, set the Max Trails back to 1000.
On frame 36, set the Search Radius back to 2.8.
If we play the scene now, the trails start very long and slowly form the word with smaller trails.
To make this establishing animation look even better,
we’ll have the cubes start off dispersed and then reunite to form the word.
To do that, first add a Random node to its position.
Broaden the spawn area by setting the Minimum Number to -30,
and the Maximum Number to 30.
Use the Random Seed slider to find a look to your liking.
Now in the Strength channel, you can drag the Strength slider back and forth between
randomized or vertex arranged points.
Now let’s animate it.
With the Strength is set to 1, set a key on frame 1.
On frame 48, set Strength to 0.
Play the scene now.
Our establishing animation is looking pretty good.
With the structure of the text finished, we next want to fill it in to look whole.
To do that, let’s create a new MASH network starting with a new cube.
Name this cube “white_Cube”.
Scale it to 0.3 in all axes.
Assign it a new Lambert shader and make it white.
Create a new MASH Network using the new cube.
We’ll name it and its ReproMesh “MASH_fill”.
Just like the black_Cube, we’ll set the
Distribution Mode to Mesh and connect it to typeMesh1.
This time instead of Vertex, we’ll set the Method to Voxel.
This will fill the mesh with cubes, rather than placing them on the surface.
However, you’ll notice how few cubes appear right now.
We need to adjust the Voxel settings to make the Voxel size smaller,
so more cubes can fit in the Mesh.
Under Voxel Settings, scale down the Voxel size to 0.388.
The cubes are now condensed enough to form the word.
However, some of them spawn outside of the mesh.
This is because Voxel distribution has trouble handling the 90 degree edges and far
separated normals of this font.
To fix this, we need to soften the mesh edges.
With the original type mesh selected, go to Mesh Display > Soften Edge.
Next, let’s make the cubes gradually fill up the mesh.
To do that we’ll make all the cubes invisible, then slowly reveal them from the bottom up.
Add a Visibility node to the MASH network.
To interactively control which cubes are visible, we’ll create a Falloff object.
Any cubes within the Falloff object will appear, while those outside will remain invisible.
Go to Falloff Object and right-click the open box, and then click Create.
This creates a selectable Falloff object in the outliner.
Under the Visibility tab are the Transform attributes.
Set Translate Y to 5 to center the word.
Under the VisibilityShape tab we can adjust the attributes of the Falloff.
Change the Shape to Cube and set the Inner Zone to 1
so that it covers the whole Falloff region.
The Inner Zone represents the area in which the cubes will be fully visible.
Next, go back to the Visibility tab and adjust the
scale to fit the text so that all the cubes are visible.
Here the Scale X, Y, Z attributes are set to 30, 7 and 5 respectively.
Finally we’ll animate the Falloff object’s
translation to give the illusion that the text is building upwards.
Go to frame 60.
Using the Translate tool, Translate the Falloff region down along the Y-axis until no white
cubes are visible and set a key frame.
Then go to frame 85 and set Translate Y back to 5.
Play back the scene.
The cubes now build up the word PLEXUS.
As an added bit of flair, let’s make the word rotate as its being built.
In order to transform the MASH network, we need to add a Transform node to MASH_plexus.
On frame 1, set the Rotate Z value to -90 and set a key frame.
Then on frame 48, we’ll set Rotate Z back to 0.
Press play to view your finished plexus animation.