Morpher - superclass: modifier; super-superclass:MAXWrapper - classID: #(398157908, -1513381213)
Constructor
Morpher ...Properties
<Morpher>.Spinner_Minimum Float default: 0.0The minimum limit.
<Morpher>.Spinner_Maximum Float default: 100.0The maximum limit.
<Morpher>.Use_Limits Integer default: 1 -- IntegerEnable/disable limits.
<Morpher>.Use_Selection Integer default: 0Turn 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: 0Turn 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> ModifierReturns 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_objectAdds 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_indexDeletes 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_indexReturns 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_indexReturns 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_indexReturns 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>indexReturns 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>indexReturns 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 [localizedName:<bool>]Returns the name of the specified channel of the specified morpher modifier.
When the localizedName keyword parameter is true (the default), the localized name as it appears in the UI is returned. Otherwise the non-localized name is returned. Available in 3ds Max 2022 and higher.
<node>WM3_MC_GetTarget <Morpher_Class>Morpher <integer>channel_indexReturns the target object of the specified channel of the specified morpher modifier.
<boolean>WM3_MC_GetUseLimits <Morpher_Class>Morpher <integer>channel_indexReturns true if the specified channel of the specified morpher modifier uses the limits, false otherwise.
<boolean>WM3_MC_GetUseVertexSel <Morpher_Class>Morpher <integer>channel_indexReturns 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_indexReturns the value of the specified channel of the specified morpher modifier.
<boolean>WM3_MC_HasData <Morpher_Class>Morpher <integer>channel_indexReturns true when the specified channel of the specified morpher modifier has target data, false otherwise.
<boolean>WM3_MC_HasTarget <Morpher_Class>Morpher <integer>channel_indexReturns 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_indexReturns true when the specified channel of the specified morpher modifier is active, false otherwise.
<boolean>WM3_MC_IsValid <Morpher_Class>Morpher <integer>channel_indexReturns true when the specified channel of the specified morpher modifier is valid, false otherwise.
<integer>WM3_MC_NumMPts <Morpher_Class>Morpher <integer>channel_indexReturns the number of morph points (vertices) in the specified channel of the specified morpher modifier.
<integer>WM3_MC_NumPts <Morpher_Class>Morpher <integer>channel_indexReturns the total number of points (vertices) in the specified channel of the specified morpher modifier.
<boolean>WM3_MC_Rebuild <Morpher_Class>Morpher <integer>channel_indexRebuilds 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_stateActivates/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_limitSets 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_limitSets 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 [localizedName:<bool>]Sets the name of the specified channel of the specified morpher modifier. Returns true on success.
When the localizedName keyword parameter is true (the default), the localized name as it appears in the UI is set. Otherwise the non-localized name is set. Available in 3ds Max 2022 and higher.
<boolean>WM3_MC_SetUseLimits <Morpher_Class>Morpher <integer>channel_index <boolean>use_limitsActivates 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_selActivates 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_valueSets the value of the specified channel of the specified morpher modifier. Returns true on success.
<integer>WM3_NumberOfChannels <Morpher_Class>MorpherReturns the number of available channels for the specified morpher modifier.
<boolean>WM3_RebuildInternalCache <Morpher_Class>MorpherRebuilds the internal cache of the specified morpher modifier. Returns true on success.
<boolean>WM3_RefreshChannelListUI <Morpher_Class>MorpherRefreshes the channel list of the specified morpher modifier. Returns true on success.
<boolean>WM3_RefreshChannelParamsUI <Morpher_Class>MorpherRefreshes the channel parameters of the specified morpher modifier. Returns true on success.
<boolean>WM3_SetChannelPos<Morpher_Class>Morpher <Integer>new_posScrolls the morpher UI to the specified channel. Returns true on success.
<boolean>WM3_SetChannelSel <Morpher_Class>Morpher <Integer>new_selSelects 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_posMoves 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_posSwaps 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_indexDeletes 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_targetAdds 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_indexReturns 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>weightSets the progressive morph weight for the targetnodein the specified morph channelto the supplied floating point value.
Available in 3ds Max 8 and higher.
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_nodeGets 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>tensionSets 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_channelGets 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_channelReturns 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_nameCreates a new marker with the given name in the specified morph channel.
Available in 3ds Max 8 and higher.
WM3_NumberOfMarkers <Morpher_Class>MorpherReturns 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_nameSets the marker data.
Available in 3ds Max 8 and higher.
WM3_GetMarkerName <Morpher_Class>Morpher <Integer>marker_indexReturns the name of the indexed marker.
Available in 3ds Max 8 and higher.
WM3_GetMarkerIndex <Morpher_Class>Morpher <Integer>marker_indexReturns 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_indexSets the current marker to the indexed marker.
Available in 3ds Max 8 and higher.
WM3_GetCurrentMarker <Morpher_Class>MorpherReturns the index of the current marker.
Available in 3ds Max 8 and higher.
WM3_DeleteMarker <Morpher_Class>Morpher <Integer>marker_indexDeletes the indexed marker.
Available in 3ds Max 8 and higher.
WM3_NumberOfChannels <Morpher_Class>MorpherReturns the number of channels displayed in the UI for the Morpher. Note that channels are added in batches of 100, so this method will return multiples of 100. Your script should determine whether the channel is active using WM3_MC_IsActive() before working with the channel.
WM3_GetBaseDeltas <Morpher_Class>Morpher <Integer>marker_indexGets the deltas for the channel's default/initial morph.
Available in 3ds Max 2025 and higher.
WM3_GetProgressiveTargetDeltas <Morpher_Class>Morpher <Integer>marker_indexGets the deltas for the channel's target morphs.
Available in 3ds Max 2025 and higher.
WM3_IsProgressive <Morpher_Class>Morpher <Integer>marker_indexChecks if the specified morph channel is progressive or not.
Available in 3ds Max 2025 and higher.