Morpher Modifier

Use the Morpher modifier to change the shape of a mesh, patch, or NURBS model. You can also morph shapes (splines), and World Space FFDs. As well as morphing from one shape to another, the Morpher modifier also supports material morphing.

On this patch model, morph targets are created by moving control vertices and tangent handles in an Editable Patch.

Morphing is commonly used for lip sync and facial expression on a 3D character, but can be used to change the shape of any 3D model. The modifier provides 100 channels for morph targets and materials. You can mix channel percentages and use the result of the mix to create a new target.

On a mesh object, vertex count on the base object and targets must be the same. On a patch or NURBS object, the Morpher modifier works on control points only. This means that you can increase the resolution of patches or NURBS surfaces on the base object to enhance detail at render time.

A Flex modifier above the Morpher modifier is aware of vertex or control-point motion in the Morpher modifier. If, for example, a jaw is morphed to slam shut, then you can use a Flex modifier placed above the Morpher modifier in the modifier stack to make the lips quiver, thus simulating soft tissue.

Lip Sync and Facial Animation

For lip sync and facial animation, create a character's head in an "at rest" pose. The head can be a mesh, patch, or NURBS model. Copy and modify the original head to create the lip-sync and facial-expression targets. Select the original or "at rest" head and apply the Morpher modifier. Assign each lip-sync and facial-expression target to a channel in the Morpher modifier. Load an audio file in the Track View sound track, turn on Auto Key, scrub the time slider, and view the audio waveform in Track View to locate frames for lip sync. Then set the channel spinners on the Morpher modifier to create key frames for lip position and facial expression.

Teeth can either be a part of the model or animated separately. If the teeth and head are two different objects, model the teeth in an open position, apply the Morpher modifier, and create one target with the teeth closed. Eyes and head motion can be animated after the morph keys are created.

Morph Targets for Speech

Speech animation normally uses nine mouth-shape targets. If your character speaks an alien dialect, you might want to create extra morph targets to cover additional mouth shapes.

When creating mouth-position targets, include cheek, nostril, and chin-jaw movement. Examine your own face in a mirror or put a finger on your face while mouthing the phonemes, if necessary, to establish the direction and extent of cheek motion.

Set lip-sync keys by viewing the audio waveform as well as listening to the sound as you scrub the time slider. Many mouth-position keys benefit from being set a frame early. Often the mouth must assume a shape before the appropriate sound is uttered. For example, in the word "kilo," the "K" mouth shape precedes the actual sound.

A, I

E

F,V

C, D, G, J, K, N, S, T, Y, Z

L,T

O

U

W,Q

M,B,P (This target can be the same shape as the "at rest" base object)

Morph Targets for Expression

Create as many expression targets as necessary for the character. Joy, sadness, surprise, evil can all have their own targets. Depending on the personality of the character, certain targets, like a terror target, may not be necessary. Targets like nostril flare, jaw-muscle bunching, temple twitching can be effective to give a character an edge. Each morph channel can contain a material as well: as you morph the brows up, a bump map can crease the forehead, for example.

Save time and create targets as the need arises; if the audio file or scene you are working on requires a look of surprise, create the "surprise" target while the mood of the scene is with you.

If the character has teeth, copy the teeth and the base head to create a new target. The teeth act as a guide to shape and position the lips.

Blink

Brows up

A blend of the Pain, Blink, and Brows targets

Procedures

Example: To add the morpher modifier to an object and assign a morph target to a channel:

  1. On the Create panel, click (Geometry), if necessary.
  2. From the drop-down list, which shows Standard Primitives by default, choose Patch Grids.
  3. On the Object Type rollout, click Quad Patch.
  4. In the Top viewport, click and drag to create a patch grid.
  5. On the Modify panel, on the modifier stack display, right-click Quad Patch and choose Convert To: Editable Patch from the right-click menu.

    The base object is now an Editable Patch.

  6. In the Top viewport, use Shift+Move to create a copy of the patch object.
  7. On the Modify panel Selection rollout, click (Vertex).
  8. In the Front viewport, move patch vertices to deform the patch surface.
  9. In the modifier stack, choose Editable Patch to go to the object (top) level. (The highlight should change to gray, and the Vertex sub-object icon is no longer displayed at the right of the stack.)
  10. Select the first patch object.
  11. On the Modify panel, choose Morpher from the Modifier List.

    The Morpher modifier is added to the modifier stack.

  12. On the Morpher modifier, on the Channel List rollout, right-click the first channel (over the word "empty").

    A right-click menu displays.

  13. Choose Pick from Scene on the right-click menu, and click the deformed patch grid in the viewports.

    QuadPatch02 is listed in the channel as a morph target.

  14. Drag the Channel spinner, to the right of QuadPatch02, up and down.

    The flat patch grid "morphs" to the shape of the target.

To use progressive morphing:

  1. Create starting and ending morph targets, and one or more intermediate targets.
  2. Apply the Morpher modifier to the starting morph target, and click Load Multiple Targets to load the starting and ending morph targets.
  3. In the Channel List rollout, select the channel you want to be influenced by an intermediate target.
  4. In the Channel Parameters rollout, click Pick Object from Scene, and select the intermediate target.
  5. In the Progressive Morph group Target List, set the Target % to determine the degree to which each target affects the channel.
  6. Use the down arrow button to move the original channel target to the bottom of the Target List.

Interface

Whatever is assigned as the default float controller in 3ds Max will be assigned as the float controller on the morph channels as well. Float controllers handle the interpolation between keys; Bezier is the default float controller. You can assign the TCB float controller to the morph channels in Track View, if you prefer.

For morphing, the Bezier controller allows you to use function curves with vector handles on the keys for smoothing and easing control of interpolation in Track View. Default parameters of the TCB controller, however, handles morph interpolation with less overshoot. Try using both controllers, to decide which one you prefer.

Gray

The channel is empty, and has not been edited.

Orange

The channel has been changed in some way but contains no morph data.

An artist may wish to name a channel and set up its parameters before actually assigning a morph target.

Green

The channel is live. The channel contains morph data and the target object still exists in scene (the target is available for refresh).

Blue

The channel contains morph data but the target has been deleted from the scene.

Dark Gray

The channel is disabled.

  • There is a problem with the morph, the topology of the base object, or targets, have changed and are no longer valid; for example, the vertex count might have changed. The channel cannot be used.
  • The channel is not active. This is controlled by the Channel is Active toggle in the Channel Parameters rollout.
  • Disabled channels are not included in the morph result.

Global Parameters rollout

Global Settings group
Use Limits

Use the minimum and maximum limits for all channels.

You can turn off limits to double purpose a target. The target for a smile can be used to turn the corners of the mouth down using negative values for example.

Minimum

Sets the minimum limit.

Maximum

Sets the maximum limit.

Use Vertex Selection

Turn on to limit morphing to vertices selected in a modifier below the Morpher modifier in the modifier stack.

If your are using Character Studio Physique, limit morph animation on the base object to just the head and exclude the neck, for example. Place the Physique modifier above the Morpher modifier and assign the head vertices as rigid (green) in the Physique modifier.

Channel Activation group
Set All

Click to activate all channels.

Set None

Click to deactivate all channels.

Morph Material group
Assign New Material

Click to assign the Morpher material to the base object (the object to which the Morpher modifier is applied).

To view and edit the assigned Morpher material, use the Material Editor. There is a direct correlation between the Channel Material Maps and the Channel list in the Morpher modifier (100 channels and 100 maps). For example, if channel 1 contains an eyebrows-up target and the Morpher material has a material assigned to map 1, then as the eyebrows are morphed, so is the material.

In the Morpher material, if a material is assigned to a map or channel that has no morph target in the Morpher modifier, you can use the channel spinner in the Morpher modifier to simply morph the material on a static object. See Mopher Material.

Channel List rollout

The upper section of the Channel List rollout contains controls for managing markers, which designate different locations in the list of morph targets. For example, channels 15 through 24 might contain all the emotion targets. Rather than scrolling to display these tracks, you can choose a marker from the list to display those channels.

[marker drop-down list]

Choose a previously saved marker in the list, or enter a new name in the text field and click Save Marker to create a new marker.

For example, channel 15 through 24 might contain all the emotion targets. Rather than scrolling to display these tracks, you can choose a marker from the list to display these channels in the list.

Save Marker

Move the scroll bar to frame a particular set of 10 channels, enter a name in the text field, and then click Save Marker to store the channel selection.

Delete Marker

Choose a marker name to delete from the drop-down list, and then click Delete Marker to delete it.

[channel list]

The Morpher modifier provides up to 100 morph channels. Scroll through the channels using the slider. Once you've assigned a morph target to a channel, the target's name appears in the channel list. Each channel has a percentage value field and a spinner to change the value.

You can change channel names and order in the Channel Parameters rollout.

Right-click a morph channel to display a right-click menu:

  • Pick from Scene Choose this command and select an object in the viewports to assign a morph target to the channel.
  • Delete Channel Deletes the morph data, name and parameters from the channel. Displays only if the channel has data.
  • Reload Target Retrieves morph data from the target. Use this after editing a target.
List Range

Displays the range of visible channels in the channel list.

Load Multiple Targets

Load multiple morph targets into empty channels by selecting object names in the selection dialog and clicking Load.

If there are more targets than empty channels, a warning displays and the channels are not assigned.

Reload All Morph Targets

Reloads all the morph targets.

If the targets have been edited, the channels are updated to reflect the changes. If a morph target has been deleted from the scene, then the morpher updates using the stored data in the channel, functions using the last stored morph data.

Zero Active Channel Values

Click to create keys with a value of 0 for all active morph channels, if the Auto Key is on.

This is handy to prevent key interpolation from distorting the model. First click Zero Active Channel Values, and then set a particular channel to the value you want; only the altered channel affect the model.

Automatically reload targets

Turn this on to allow animated targets to be updated dynamically by the Morpher modifier. There is a performance penalty when using this option.

Channel Parameters rollout

The channel number button and channel name field at the top of this rollout reflect the current active channel in the channel list.

[channel number]

Click the number next to the channel name to display a menu. Use commands on the menu to group and organize channels, or to locate a channel.

  • Move To Displays the Channel Operations dialog. To move the current channel to the selected channel, choose a channel from the list, and click Move To.
  • Swap With Displays the Channel Operations dialog. To swap the current channel with the selected channel, choose a channel from the list, and click Swap With.
  • Used Channels Displays a list of active channels. Choose a channel to place it at the top of the channel list display in the Channel List rollout.
Channel Name

Displays the name of the current target. Change the name of the target in the text field if necessary. Parameter changes in the Channel Parameters rollout affect the current target.

Channel is Active

Toggles a channel on and off. Inactive channels do not affect the morph result. Use this control to turn off certain channels to focus on animating other channels.

Create Morph Target group
Pick Object from Scene

Turn on and click an object in the viewports to assign a morph target to the current channel. Picking an object adds it to the Progressive Morph list.

Capture Current State

Choose an empty channel to activate this function. Click to create a target using the current channel values.

The captured channel is always blue because there is morph data but no specific geometry. Use Extract to create a mesh copy of the captured state.

Delete

Deletes the target assignment for the current channel.

Extract

Choose a blue channel and click this option to create an object from the morph data.

If you have used Capture Current State to take a snapshot of a group of channel values, but then want to edit it, use Extract to make a new object, pick it as the channel's target, and then start editing.

Channel Settings group
Use Limits

Turn on to use limits on the current channel if Use Limits is turned off in the Global Parameters rollout.

Minimum

Sets the lower limit.

Maximum

Sets the upper limit.

Use Vertex Selection

Morphs only selected vertices on the current channel.

Progressive Morph group

Progressive morphing performs a tension-based interpolation, similar to the TCB animation controller, that creates smooth interpolation through each intermediary targets. This provides the artist with an unprecedented amount of control over the morph transformation.

Morphed object using multiple, intermediary targets

Morphed object using a single target

When morphing from one target to another, the object can sometimes pass through intermediary stages that are not desirable. For example, morphing a straight cylinder directly to a bent cylinder causes the cylinder to squash at intermediate stages.

You could get a better result by creating several intermediate morph targets for the object, and using them as channels. However, an easier solution is to create fewer intermediate targets, and use progressive morphing. With progressive morphing, you do not use the intermediate targets as channels; you use them to influence the end targets.

Target List

Lists all intermediary morph targets associated with the current channel. To add morph targets to the list, click Pick Object from Scene.

Move Up

Moves the selected intermediary morph target up in the list.

Move Down

Moves the selected intermediary morph target down in the list.

Tip: For best results, move the original morph target (the one in the channel) to the bottom of the list.
Target %

Specifies how much the selected intermediate morph target contributes to the overall morph solution.

Tension

Specifies the overall linearity of the vertex transformation between intermediary morph targets. A value of 1.0 creates a “loose” transition, causing the interpolation to overshoot each target slightly. A value of 0.0 creates a direct, linear transformation between each intermediary target.

Delete Target

Deletes the selected intermediary morph target from the target list.

Reload Morph Target

Reloads data from the current target into the channel. Reload a target if it has been adjusted or edited.

If the active morph target entry in the channel list is empty, this button is unavailable, and displays the text “No Target to Reload.”

Advanced Parameters rollout

Spinner Increments group

Specify fine or coarse spinner increments. 5.0 is coarse and 0.1 is fine. Default=1.0

Channel Use group
Compact Channel List

Compact the channel list by filling in any empty channels in between assigned channels. The status window displays how many channels were moved.

Approximate Memory Usage group

Displays an approximation of the current memory usage.

Approximate Memory Usage