Interface: SkinUtils

Interfaces > Core Interfaces > SkinUtils

 

   

Core Interfaces - Quick Navigation

This Core Interface provides access to some Skin-related methods available in 3ds max 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 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