Morpher - superclass: modifier; super-superclass:MAXWrapper - classID: #(398157908, -1513381213)
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 [localizedName:<bool>]
Returns the name of the specified channel of the specified morpher modifier.
NEW in 3ds Max 2022: 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.
<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
Activates/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 [localizedName:<bool>]
Sets the name of the specified channel of the specified morpher modifier. Returns true
on success.
NEW in 3ds Max 2022: 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.
<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.
<integer>WM3_NumberOfChannels <Morpher_Class>Morpher
Returns the number of available channels for the specified morpher modifier.
<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.
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 marker to the indexed marker.
Available in 3ds Max 8 and higher.
WM3_GetCurrentMarker <Morpher_Class>Morpher
Returns the index of the current 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.
WM3_NumberOfChannels <Morpher_Class>Morpher
Returns 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.