Interface: SkinUtils

This Interface provides access to some Skin-related methods available in 3dsmax 6 and higher.

Methods:

<void>skinUtils.ExtractSkinData <node>node

Extracts the skin data from the specified node.

<void>skinUtils.ImportSkinData <node>targetNode <node>sourceNode

Transfers the skin data from the specified source node to the specified target node.

<matrix3 by value>skinUtils.GetBoneBindTM <node>skinNode <node>boneNode

Transfers the skin data from the specified source node to the specified target node.

<void>skinUtils.SetBoneBindTM <node>skinNode <node>boneNode <matrix3 by value>tm

Sets the Bone bind transformation for the specified skin and bone nodes to the supplied matrix3 value.

<matrix3 by value>skinUtils.GetMeshBindTM <node>skinNode

Returns the Mesh bind transformation of the specified skin node as a matrix3 value.

<void>skinUtils.SetMeshBindTM <node>skinNode <matrix3 by value>tm

Sets the Mesh bind transformation for the specified skin node to the supplied matrix3 value.

<matrix3 by value>skinUtils.GetBoneStretchTM <node>skinNode <node>boneNode

Returns the Bone bind transformation of the specified skin and bone nodes as a matrix3 value.

<void>skinUtils.SetBoneStretchTM <node>skinNode <node>boneNode <matrix3 by value>tm

Sets the Bone stretch transformation for the specified skin and bone nodes to the supplied matrix3 value.

 

<void>skinUtils.GrowSelection <node>node

Grows the existing selection.

<void>skinUtils.ShrinkSelection <node>node

Shrinks the existing selection.

<void>skinUtils.LoopSelection <node>node

Selects a loop based on the existing selection.

<void>skinUtils.RingSelection <node>node

Selects a ring based on the existing selection.

The following macroScripts implement the above unsupported functions as ActionItems. You can copy them into a new script, evaluate and customize your QuadMenus to have instant access to Skin Selection Grow, Shrink, Loop and Ring functions:

Scripts:

macroScript GrowSkinSel category:"SkinUtils"
(
on isVisible return

selection.count == 1 and classof (modPanel.getCurrentObject()) == Skin
on execute do skinUtils.GrowSelection $
)

macroScript ShrinkSkinSel category:"SkinUtils"
(
on isVisible return

selection.count == 1 and classof (modPanel.getCurrentObject()) == Skin
on execute do skinUtils.ShrinkSelection $
)

macroScript LoopSkinSel category:"SkinUtils"
(
on isVisible return

selection.count == 1 and classof (modPanel.getCurrentObject()) == Skin
on execute do skinUtils.LoopSelection $
)

macroScript RingSkinSel category:"SkinUtils"
(
on isVisible return

selection.count == 1 and classof (modPanel.getCurrentObject()) == Skin
on execute do skinUtils.RingSelection $
)

 

<void>skinUtils.ImportSkinDataNoDialog <boolean>matchByName <boolean>removeTargetPrefix <boolean>removeTargetSuffix <boolean>removeSourcePrefix <boolean>removeSourceSuffix <float>threshold <integer>interpolationType

Imports Skin data without displaying the dialog. Available in 3ds Max 8 and higher.

Just like in the Skin Utilities plugin in the UI, the source and the target objects should be selected.

If the matchByName parameter is set to true, the bones will be matched by name (equivalent to pressing the Match By Name button in the dialog). If false, the bones will be matched by index.

Arguments 2 to 5 correspond to the states of the Remove Prefix and Suffix checkboxes in the dialog.

The threshold argument corresponds to the Threshold value in the dialog. This is the nearest neighbor threshold.

The last argument corresponds to the selection of the Interpolation Type drop down list. Possible values are:

0 - Match By Vertex

1 - Match By Face

See also

Skin : Modifier

Interface: SkinPose

Bulge_Angle_Deformer : ReferenceTarget

Joint_Angle_Deformer : ReferenceTarget

Morph_Angle_Deformer : ReferenceTarget

Modifier Common Properties, Operators, and Methods

MAXWrapper Common Properties, Operators, and Methods

Value Common Properties, Operators, and Methods