Constructor
skin ...
Note: This class is not available in 3D Studio VIZ.
Properties
<Skin>.Effect Float default: 0.0
Absolute weight of selected vertices.
<Skin>.filter_vertices Boolean default: false
Turn vertex selection on/off.
<Skin>.filter_cross_sections Boolean default: true
Turn cross-section selection on/off.
<Skin>.filter_envelopes Boolean default: true
Turn envelope selection on/off.
<Skin>.draw_all_envelopes Boolean default: false
When turned on, displays all envelopes. When off, only the selected envelopes are displayed.
<Skin>.draw_vertices Boolean default: true
Turn on/off the display of weighted vertices.
<Skin>.ref_frame Integer default: 0
Sets the frame where the bones and the mesh are in a reference position.
<Skin>.paint_radius Float default: 24.0
Sets the brush radius.
<Skin>.paint_feather Float default: 0.7
Sets the brush falloff.
<Skin>.cross_radius Float default: 10.0
Scales the selected envelope cross-section.
<Skin>.always_deform Boolean default: true
Always deforms the skin when the bones are moved. The Animate button does not have to be turned on to move bones and deform the skin.
<Skin>.paint_str Float default: 0.1
Sets the brush strength.
<Skin>.localSquash Array default: #() -- float array
Amount of squash applied to each bone.
<Skin>.initialSquash Array default: #() -- float array
Array containing initial squash values for a bone.
<Skin>.initialStaticEnvelope Boolean default: false
When turned on, an initial static envelope size is used when a bone is added. When off, the initial envelope size is determined by the object bounding box.
<Skin>.initialInnerEnvelopePercent Float default: 0.75
The multiplier used to find the inner cross-section size when initialStaticEnvelope is false.
<Skin>.initialOuterEnvelopePercent Float default: 3.5
The multiplier used to find the outer cross-section size when initialStaticEnvelope is false.
<Skin>.initialEnvelopeInner Float default: 10.0
The inner cross-section size when initialStaticEnvelope is true.
<Skin>.initialEnvelopeOuter Float default: 50.0
The outer cross-section size when initialStaticEnvelope is true.
<Skin>.draw_all_gizmos Boolean default: true
Turn on/off the display off all gizmos.
<Skin>.draw_all_vertices Boolean default: false
Turns on/off the display of all vertices as small dots.
<Skin>.shadeweights Boolean default: true
Turn on/off display of weighted vertices using vertex colors.
<Skin>.envelopesAlwaysOnTop Boolean default: true
Turn on/off display of envelopes on top of the mesh.
<Skin>.crossSectionsAlwaysOnTop Boolean default: true
Turn on/off display of cross-sections on top of the mesh.
<Skin>.rigid_vertices Boolean default: false
When turned on, a single vertex can only be affected by one bone.
<Skin>.rigid_handles Boolean default: false
When turned on, all handles have the same weights as the knot that owns them.
<Skin>.fast_update Boolean default: false
When turned on, the system uses only rigid vertices for the viewport display.
<Skin>.gizmos Array default: #() -- max object array
Array containing all gizmos assigned to skin.
Methods
The following methods require that the Skin modifier be the displayed modifier in the Modify panel, and that the Modify panel is active.
skinops.addbone <Skin> <Bone_node> <Update_integer>
Adds a bone to the current system.
For Update_integer, - 1 forces a complete update and redraw, 0 does not update the system. This allows you to add a bunch of bones to a system and then update once at the end.
skinops.addBoneFromViewEnd <Skin>
Ends the addBoneFromViewStart command mode.
skinops.addBoneFromViewStart <Skin>
Puts you in a command mode where you can select bones from the viewport by clicking on them. You can exit this mode by right clicking or calling addBoneFromViewEnd.
skinops.addCrossSection <Skin> <BoneID_integer> <U_float> <InnerRadius_float> <OuterRadius_float>
Adds a cross section to the bone whose index matches BoneID_integer. U_float, which ranges from 0.0-1.0, defines where along the bone to add the cross-section.
skinops.addCrossSection <Skin> <U_float>
Adds a cross section to the current selected bone. The inner and outer radii are computed based on the neighboring cross sections. U_float, which ranges from 0.0-1.0, defines where along the bone to add the cross-section.
skinops.addCrossSection <Skin> <U_float> <InnerRadius_float> <OuterRadius_float>
Adds a cross section to the current selected bone. U_float, which ranges from 0.0-1.0, defines where along the bone to add the cross-section.
Presses the add bone button.
skinops.buttonAddCrossSection <Skin>
Presses the add cross section button.
Presses the add gizmo button in the gizmo rollout.
skinops.buttonCopyGizmo <Skin>
Presses the copy gizmo button in the gizmo rollout.
Presses the exclude vertices button.
Presses the include vertices button.
Presses the paint button.
skinops.buttonPasteGizmo <Skin>
Presses the paste gizmo button in the gizmo rollout.
Presses the remove bone button.
skinops.buttonRemoveCrossSection <Skin>
Presses the remove cross section button.
skinops.buttonRemoveGizmo <Skin>
Presses the remove gizmo button in the gizmo rollout.
skinops.buttonSelectExcluded <Skin>
Presses the select excluded vertices button.
skinops.copySelectedBone <Skin>
Copies current selected bone properties to the copy buffer.
skinops.enableGizmo <Skin> <GizmoID_integer> <Enable_bool>
Enables/disables the gizmo type whose index equals GizmoID_integer.
skinOps.GetBoneName <Skin> <bone_integer> <nameflag_index>
Returns the name of the indexed bone as a string. where nameflag_index can be 0 or 1. If nameflag_index = 0 the node that holds the transform for this bone is returned; = 1 the name that exists in the list box is returned. If a Bones system is used for the Skin bones, the transform for a bone is held by its parent.
skinops.getBonePropEnvelopeVisible <Skin> <BoneID_integer>
Returns the bone visibility parameter of the bone. 0 is invisible, 1 is visible.
skinops.getBonePropFalloff <Skin> <BoneID_integer>
Returns the falloff parameter of the bone.
1 û linear
2 û sinual
3 û fast out
4 û slow out
skinops.getBonePropRelative <Skin> <BoneID_integer>
Gets the relative property of the bone. It returns 1 if relative or 0 is absolute.
skinops.GetCrossSectionU <Skin> <BoneID_integer> <CrossSectionID_integer>
Gets the U value from the specified bone and cross section
skinops.getCurrentSelectGizmoType <Skin>
Returns the current selected gizmo type.
skinops.GetEndPoint <Skin> <BoneID_integer>
Returns a point3 which is the end point of the bone.
skinOps.GetInnerRadius <Skin> \
<bone_integer> <CrossSectionID_integer>
Returns the inner cross section radius for the specified bone and cross section.
Returns the number of bones in the system.
skinOps.getNumberCrossSections <Skin> <bone_integer>
Returns the number of cross sections for the specified bone.
skinops.getNumberOfGizmos <Skin>
Returns the number of gizmos.
skinops.getNumberOfGizmoTypes <Skin>
Returns the number of gizmo types.
skinOps.GetNumberVertices <Skin>
Returns the number of vertices for the object the Skin modifier is applied to.
skinOps.GetOuterRadius <Skin> \
<bone_integer> <CrossSectionID_integer>
Returns the outer cross section radius for the specified bone and cross section.
skinOps.GetSelectedBone <Skin>
Returns the index of the current selected bone in the Bone list.
skinops.getSelectedBonePropEnvelopeVisible <Skin>
Returns the bone visibility parameter of the current selected bone. 0 is invisible, 1 is visible.
skinops.getSelectedBonePropFalloff <Skin>
Returns the falloff parameter of the current selected bone:
1 û linear
2 û sinual
3 û fast out
4 û slow out
skinops.getSelectedBonePropRelative <Skin>
Gets the relative property of the current selected bone. It returns 1 if relative or 0 is absolute.
skinops.getSelectedGizmo <Skin>
Returns the current selected gizmo.
skinops.GetStartPoint <Skin> <BoneID_integer>
Returns a point3 which is the start point of the bone.
skinOps.GetVertexWeight <Skin> \
<vertex_integer> <vertex_bone_integer>
Returns the influence of the Nth bone affecting the specified vertex.
skinOps.GetVertexWeightBoneID <Skin> \
<vertex_integer> <vertex_bone_integer>
Returns the system bone index of the Nth bone affecting the specified vertex.
skinOps.GetVertexWeightCount <Skin> <vertex_integer>
Returns the number of bones influencing the specified vertex.
skinops.isBoneSelected <Skin> <BoneID_integer>
Returns 1 if the bone is selected otherwise 0.
skinOps.IsVertexModified <Skin> <vertex_integer>
Returns 1 if the vertex has been modified, 0 if it has not been modified. A modified vertex is vertex that has been weighted by hand or painting, an unmodified vertex weight depends solely on the envelopes.
skinOps.IsVertexSelected <Skin> <vertex_integer>
Returns 1 if the vertex is selected, 0 if it is not selected.
Opens the load envelopes dialog
skinops.loadEnvelope <Skin> <filename_string>
Loads the envelopes to the file supplied
Brings up a list box where the user can delete multiple bones instead of one at a time.
skinops.pasteToAllBones <Skin>
Pastes the copy buffer to all the bones.
skinops.pasteToBone <Skin> <BoneID_int>
Pastes the copy buffer to bone id supplied.
skinops.pasteToSelectedBone <Skin>
Pastes the copy buffer to the current selected bone.
Removes the current selected bone from the bones system.
skinops.removebone <Skin> <BoneID_integer>
Removes the BoneID from the bones system.
skinops.RemoveCrossSection $<Skin>
Removes the current selected cross section from the current selected bone.
skinops.RemoveCrossSection <Skin> <BoneID_integer> <CrossSectionID_integer>
Removes a particular cross-section from a particular bone.
skinOps.ReplaceVertexWeights <Skin> <vertex_integer> \
( <vertex_bone_integer> | <vertex_bone_array> ) \
( <weight_float> | <weight_array> )
Sets the influence of the specified bone(s) to the specified vertex. Any influence weights for the bone(s) that are not specified are erased. If the bones and weights are specified as arrays, the arrays must be of the same size.
Resets all bones.
skinops.resetSelectedBone <Skin>
Resets the current selected bone.
skinops.resetSelectedVerts <Skin>
Resets the current selected vertices.
Opens the save envelopes dialog
skinops.saveEnvelope <Skin> <filename_string>
Saves the envelopes to the file supplied
skinOps.SelectBone <Skin> <bone_integer>
Selects the specified bone in the Bone list.
skinops.selectCrossSection <Skin> <CrossSectionID_integer> <Inner_Outer_integer>
Selects a cross section on the current selected bone.
For Inner_Outer_integer, 0 is the inner envelope 1 is the outer envelope.
Selects the start point of the envelope the current selected bone.
skinops.selectGizmo <Skin> <gizmoID_int>
Desc û this function selects the gizmo who index equals gizmoID.
skinops.selectGizmoType <Skin> <gizmoTypeID_int>
Selects the gizmo type whose index equals gizmoTypeID.
Selects the next bone in the bone list.
skinops.selectPreviousBone <Skin>
Selects the next bone in the bone list.
skinops.selectStartPoint <Skin>
Selects the end point of the envelope of the current selected bone.
skinOps.SelectVertices <Skin> \
( <vertex_integer> | <vertex_array > | <<vertex_bitarray> )
Selects the specified vertices.
skinops.setBonePropEnvelopeVisible <Skin> <BoneID_integer> <Visible_integer>
Sets the bone visibility parameter of the bone whose index matches BoneID_integer.
For Visible_integer, 0 is visible, 1 is invisible when not selected.
skinops.setBonePropFalloff <Skin> <BoneID_integer> <Falloff_integer>
Sets the falloff parameter of the bone.
For Faloff_integer, the fall off of the bone is:
1 û linear
2 û sinual
3 û fast out
4 û slow out
skinops.setBonePropRelative <Skin> <BoneID_integer> <Relative_integer>
Sets the relative property of the bone whose index matches BoneID_integer.
For Relative_integer, 0 is absolute and 1 is relative.
skinops.SetCrossSectionU <Skin> <BoneID_integer> <CrossSectionID_integer> <U_float>
Sets the U value from the specified bone and cross section.
skinops.SetEndPoint <Skin> <BoneID_integer> <EndPointPos_point3>
Sets the end point of the specified bone.
skinOps.SetInnerRadius <Skin> \
<bone_integer> <CrossSectionID_integer> <Radius_float>
Sets the inner cross section radius for the specified bone and cross section.
skinOps.SetOuterRadius <Skin> \
<bone_integer> <CrossSectionID_integer> <Radius_float>
Sets the outer cross section radius for the specified bone and cross section.
skinops.setSelectedBonePropEnvelopeVisible <Skin> <Visible_integer>
Sets the bone visibility parameter of the current selected bone.
For Visible_integer, 0 = visible, 1 = invisible when not selected
skinops.setSelectedBonePropFalloff <Skin> <Falloff_integer>
Sets the falloff parameter of the current selected bone.
The falloff_integer sets the fall off of the bone:
1 û linear
2 û sinual
3 û fast out
4 û slow out
skinops.setSelectedBonePropRelative <Skin> <Relative_integer>
Sets the relative property of the current selected bone.
For relative_integer, 0 is relative mode, 1 is absolute mode.
skinops.SetStartPoint <Skin> <BoneID_integer> <EndPointPos_point3>
Sets the start point of the specified bone
skinOps.SetVertexWeights <Skin> <vertex_integer> \
( <vertex_bone_integer> | <vertex_bone_array> ) \
( <weight_float> | <weight_array> )
Sets the influence of the specified bone(s) to the specified vertex. Any influence weights for the bone(s) that are not specified are retained. If the bones and weights are specified as arrays, the arrays must be of the same size.
skinops.ZoomToBone <Skin> <All_boolean>
Zooms the active or all views to the selected bone. If All_boolean is true, then all views are zoomed.
skinops.ZoomToGizmo <Skin> <All_boolean>
Zooms the active or all views to the selected gizmo. If All_boolean is true, then all views are zoomed.
Notes
If deferred plug-in loading is enabled, an instance of the Skin modifier must be created before these methods will be visible. This is because these methods are defined in the Skin modifier plug-in.
See also
Modifier Common Properties, Operators, and Methods