MAXScript Language Reference > 3ds Max Objects > Modifier : MAXWrapper and SpacewarpModifier : MAXWrapper > Modifier and SpacewarpModifier Types > Modifiers > Animation Modifiers >

# Morpher : Modifier

    Morpher - superclass: modifier; super-superclass:MAXWrapper - classID: #(398157908, -1513381213)

Value > MAXWrapper > Modifier > Morpher

| Modifier Classes - Quick Navigation

Constructor

    Morpher ...

Properties

    <Morpher>.Spinner_Minimum Float default: 0.0

The minimum limit.

    <Morpher>.Spinner_Maximum Float default: 100.0

The maximum limit.

    <Morpher>.Use_Limits Integer default: 1 -- Integer

Enable/disable limits.

    <Morpher>.Use_Selection Integer default: 0

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

    <Morpher>.Value_Increments Integer default: 1

    <Morpher>.Autoload_of_targets Integer default: 0

Turn this on to allow animated targets to be updated dynamically by the Morpher modifier.

The following methods provide enhanced access to the Morpher modifier.

Methods

    <boolean> IsValidMorpherMod <Modifier_class> Modifier

Returns true when the supplied modifier is a valid Morpher modifier, false otherwise.

    <boolean>WM3_MC_BuildFromNode <Morpher_Class>Morpher <integer>channel_index <geometry_class>target_object

Adds the object as target to the specified channel of the specified morpher modifier.

Returns true on success.

EXAMPLE
    WM3_MC_BuildFromNode$Teapot01.morpher 1 $Teapot02
    -->true

    <boolean>WM3_MC_Delete <Morpher_Class>Morpher <integer>channel_index

Deletes the target from the specified channel of the specified morpher modifier.

Returns true on success.

EXAMPLE
    WM3_MC_Delete$Teapot01.morpher 1
    -->true

    <float>WM3_MC_GetLimitMAX <Morpher_Class>Morpher <integer>channel_index

Returns the max. limit of the specified channel of the specified morpher modifier.

EXAMPLE
    WM3_MC_GetLimitMAX$Teapot01.morpher 1
    -->100.0

    <float>WM3_MC_GetLimitMIN <Morpher_Class>Morpher <integer>channel_index

Returns the min. limit of the specified channel of the specified morpher modifier.

EXAMPLE
    WM3_MC_GetLimitMIN$Teapot01.morpher 1
    -->0.0

    <float>WM3_MC_GetMemUse <Morpher_Class>Morpher <integer>channel_index

Returns the memory usage in bytes of the specified channel of the specified morpher modifier.

EXAMPLE
    WM3_MC_GetMemUse$Teapot01.morpher 1
    -->10600.0

    <Point3>WM3_MC_GetMorphPoint <Morpher_Class>Morpher <integer>channel_index <integer>index

Returns the position of the indexed morph point (vertex) of the specified channel in the specified morpher modifier.

    <float>WM3_MC_GetMorphWeight <Morpher_Class>Morpher <integer>channel_index <integer>index

Returns the weight of the indexed morph point (vertex) of the specified channel in the specified morpher modifier.

    <string>WM3_MC_GetName <Morpher_Class>Morpher <integer>channel_index

Returns the name of the specified channel of the specified morpher modifier.

    <node>WM3_MC_GetTarget <Morpher_Class>Morpher <integer>channel_index

Returns the target object of the specified channel of the specified morpher modifier.

    <boolean>WM3_MC_GetUseLimits <Morpher_Class>Morpher <integer>channel_index

Returns true if the specified channel of the specified morpher modifier uses the limits, false otherwise.

    <boolean>WM3_MC_GetUseVertexSel <Morpher_Class>Morpher <integer>channel_index

Returns true if the specified channel of the specified morpher modifier uses the vertex selection, false otherwise.

    <float>WM3_MC_GetValue <Morpher_Class>Morpher <integer>channel_index

Returns the value of the specified channel of the specified morpher modifier.

    <boolean>WM3_MC_HasData <Morpher_Class>Morpher <integer>channel_index

Returns true when the specified channel of the specified morpher modifier has target data, false otherwise.

    <boolean>WM3_MC_HasTarget <Morpher_Class>Morpher <integer>channel_index

Returns true when the specified channel of the specified morpher modifier has a target object assigned, false otherwise.

    <boolean>WM3_MC_IsActive <Morpher_Class>Morpher <integer>channel_index

Returns true when the specified channel of the specified morpher modifier is active, false otherwise.

    <boolean>WM3_MC_IsValid <Morpher_Class>Morpher <integer>channel_index

Returns true when the specified channel of the specified morpher modifier is valid, false otherwise.

    <integer>WM3_MC_NumMPts <Morpher_Class>Morpher <integer>channel_index

Returns the number of morph points (vertices) in the specified channel of the specified morpher modifier.

    <integer>WM3_MC_NumPts <Morpher_Class>Morpher <integer>channel_index

Returns the total number of points (vertices) in the specified channel of the specified morpher modifier.

    <boolean>WM3_MC_Rebuild <Morpher_Class>Morpher <integer>channel_index

Rebuilds the target in the specified channel of the specified morpher modifier. Returns true on success.

    <boolean>WM3_MC_SetActive <Morpher_Class>Morpher <integer>channel_index <boolean>active_state

Acivates/Deactivates the specified channel of the specified morpher modifier. Returns true on success.

    <boolean>WM3_MC_SetLimitMAX <Morpher_Class>Morpher <integer>channel_index <float>max_limit

Sets the max. limit for the specified channel of the specified morpher modifier. Returns true on success.

    <boolean>WM3_MC_SetLimitMIN <Morpher_Class>Morpher <integer>channel_index <float>min_limit

Sets the min. limit for the specified channel of the specified morpher modifier. Returns true on success.

    <boolean>WM3_MC_SetName <Morpher_Class>Morpher <integer>channel_index <string>new_name

Sets the name of the specified channel of the specified morpher modifier. Returns true on success.

    <boolean>WM3_MC_SetUseLimits <Morpher_Class>Morpher <integer>channel_index <boolean>use_limits

Activates limit usage for the specified channel of the specified morpher modifier. Returns true on success.

    <boolean>WM3_MC_SetUseVertexSel <Morpher_Class>Morpher <integer>channel_index <boolean>use_vert_sel

Activates vertex selection usage for the specified channel of the specified morpher modifier. Returns true on success.

    <boolean>WM3_MC_SetValue <Morpher_Class>Morpher <integer>channel_index <float>new_value

Sets the value of the specified channel of the specified morpher modifier. Returns true on success.

    <boolean>WM3_RebuildInternalCache <Morpher_Class>Morpher

Rebuilds the internal cache of the specified morpher modifier. Returns true on success.

    <boolean>WM3_RefreshChannelListUI <Morpher_Class>Morpher

Refreshes the channel list of the specified morpher modifier. Returns true on success.

    <boolean>WM3_RefreshChannelParamsUI <Morpher_Class>Morpher

Refreshes the channel parameters of the specified morpher modifier. Returns true on success.

    <boolean>WM3_SetChannelPos<Morpher_Class>Morpher <Integer>new_pos

Scrolls the morpher UI to the specified channel. Returns true on success.

    <boolean>WM3_SetChannelSel <Morpher_Class>Morpher <Integer>new_sel

Selects the specified channel of the specified morpher modifier. Returns true on success.

The following methods were added in 3ds Max 8:

    WM3_MoveMorph <Morpher_Class>Morpher <Integer>old_pos <Integer>new_pos

Moves the indexed morph channel to the specified channel, leaving the old channel Empty and overwriting the new channel if not empty.

Available in 3ds Max 8 and higher.

EXAMPLE
    WM3_MoveMorph$Teapot01.morpher 1 10--moves channel 1 to channel 10.OK

    WM3_SwapMorph <Morpher_Class>Morpher <Integer>first_pos <Integer>second_pos

Swaps the morph channels, preserving both channels.

Either of the two channels can be empty.

Available in 3ds Max 8 and higher.

EXAMPLE
    WM3_SwapMorph$Teapot01.morpher 1 10--moves channel 1 to channel 10and channel 10 to channel 1.OK

    WM3_DeleteProgressiveMorphNode <Morpher_Class>Morpher <Integer>morph_channel <Integer>prog_morph_index

Deletes the specified progressive morphfrom the given morph channel.

Available in 3ds Max 8 and higher.

EXAMPLE
    --Deletes the second progressive morph of channel one.
    WM3_DeleteProgressiveMorphNode$Teapot01.morpher 1 2
    -->OK --if the channel is empty, returns false:
    WM3_DeleteProgressiveMorphNode$Teapot01.morpher 100 1
    -->false

    WM3_AddProgressiveMorphNode <Morpher_Class>Morpher <Integer>morph_channel <Node>morph_target

Adds a progressive morph to the given morph channel.

Available in3ds Max 8 and higher.

EXAMPLE
    --Adds the node Teapot02 as progressive morph target of channel one.
    WM3_AddProgressiveMorphNode $Teapot01.morpher 1 $Teapot02
    -->OK--if the node is invalid, returns false - in this case, cannot add itself:
    WM3_AddProgressiveMorphNode$Teapot01.morpher 1 $Teapot01
    -->false

    WM3_GetProgressiveMorphNode <Morpher_Class>Morpher <Integer>morph_channel <Integer>prog_morph_index

Returns the progressive morph node with the given index from the specified morph channel.

Available in 3ds Max 8 and higher.

EXAMPLE
    --Gets the second progressive morph target from channel one:
    WM3_GetProgressiveMorphNode $Teapot01.morpher 1 2
    -->$Ediable_Mesh:Teapot01 @ [0.0,0.0,0.0] --if there is no such index or the channel is empty, returns undefined
    WM3_GetProgressiveMorphNode$Teapot01.morpher 1 10
    -->undefined

    WM3_SetProgressiveMorphWeight <Morpher_Class>Morpher <Integer>morph_channel <Node>prog_morph_node<Float>weight

Sets the progressive morph weight for the targetnodein the specified morph channelto the supplied floating point value.

Available in 3ds Max 8 and higher.

Note

The value will NOT be converted implicitly from Integer to Float if supplied as Integer. Always provide a floating point value!

EXAMPLE
    --Sets the weight of Teapot02 in channel one to 25.0:
    WM3_GetProgressiveMorphNode$Teapot01.morpher 1 $Teapot02 25.0
    -->OK

    WM3_GetProgressiveMorphWeight <Morpher_Class>Morpher <Integer>morph_channel <Node>prog_morph_node

Gets the progressive morph weight for the target node in the specified morph channel.

Available in 3ds Max 8 and higher.

    WM3_SetProgressiveMorphTension <Morpher_Class>Morpher <Integer>morph_channel <Float>tension

Sets the progressive morph tension of the specified morph channel to the supplied floating point value.

Available in 3ds Max 8 and higher.

EXAMPLE
    --Sets the progressive morph tension of channel one to 0.3:
    WM3_GetProgressiveMorphNode $Teapot01.morpher 1 0.3
    -->OK

    WM3_GetProgressiveMorphTension <Morpher_Class>Morpher <Integer>morph_channel

Gets the progressive morph tension of the specified morph channel as floating point value.

Available in 3ds Max 8 and higher.

EXAMPLE
    --Gets the progressive morph tension of channel one:
    WM3_GetProgressiveMorphNode $Teapot01.morpher 1
    -->0.3

    WM3_NumberOfProgressiveMorphs <Morpher_Class>Morpher <Integer>morph_channel

Returns the number of progressive morphs in the specified morph channel as integer.

Available in 3ds Max 8 and higher.

    WM3_CreateMarker <Morpher_Class>Morpher <Integer>morph_channel <String>marker_name

Creates a new marker with the given name in the specified morph channel.

Available in 3ds Max 8 and higher.

    WM3_NumberOfMarkers <Morpher_Class>Morpher

Returns the number of markers in the morph modifier as integer.

Available in 3ds Max 8 and higher.

    WM3_SetMarkerData <Morpher_Class>Morpher <Integer>marker_index <Integer>morph_channel <String>marker_name

Sets the marker data.

Available in 3ds Max 8 and higher.

    WM3_GetMarkerName <Morpher_Class>Morpher <Integer>marker_index

Returns the name of the indexed marker.

Available in 3ds Max 8 and higher.

    WM3_GetMarkerIndex <Morpher_Class>Morpher <Integer>marker_index

Returns the index of the indexed marker.

Returns false if the index is out of range.Available in 3ds Max 8 and higher.

    WM3_SetCurrentMarker <Morpher_Class>Morpher <Integer>marker_index

Sets the current markerto the indexed marker.

Available in 3ds Max 8 and higher.

    WM3_GetCurrentMarker <Morpher_Class>Morpher

Returns theindex of thecurrent marker.

Available in 3ds Max 8 and higher.

    WM3_DeleteMarker <Morpher_Class>Morpher <Integer>marker_index

Deletes the indexed marker.

Available in 3ds Max 8 and higher.

#### See Also

- How To ... Enhance the Morpher Modifier With Floating Controls

- Modifier Common Properties, Operators, and Methods

- MAXWrapper Common Properties, Operators, and Methods

- Value Common Properties, Operators, and Methods