Morpher : Modifier

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

Value > MAXWrapper > Modifier > Morpher

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.

   

<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.

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 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.

   

See Also