Aller au contenu
weSkelDOCUMENTATION
Documentation/Référence API/SkinCluster

SkinCluster

Accès au déformeur de skin natif, à ses influences et à ses poids.

ClassAPI 2.0SKIN
objectNodeDGNodeGeometryFilterSkinCluster
from weSkel.src.core.node.dg.skin_cluster.lib import SkinCluster

À exécuter dans Maya ou dans un processus mayapy initialisé. L’import om n’est nécessaire que si votre script utilise des types OpenMaya.

Élément Valeur
Classe SkinCluster
Module weSkel.src.core.node.dg.skin_cluster.lib
Type Maya skinCluster
Parent direct GeometryFilter
Inventaire Membres définis ou redéfinis ici ; les membres hérités sont regroupés par parent dans chaque rubrique.

Signature : SkinCluster(node) → SkinCluster.

Paramètre Type accepté Défaut
node Union[str, om.MObject, om.MObjectHandle, om.MFnDependencyNode] Obligatoire

Enveloppe un nœud existant ou prépare un wrapper pour un nom absent ; ne crée pas le nœud. Utiliser create() séparément. Un objet ou type incompatible peut lever TypeError. L’identité partagée peut renvoyer un wrapper compatible déjà enregistré.

Propriétés Python définies ou redéfinies ici. L : lecture seule ; L/E : setter disponible, avec les restrictions précisées dans la fiche. Les types om.* appartiennent à maya.api.OpenMaya.

Propriété Type retourné Accès
mfn_skin_cluster Optional[oma.MFnSkinCluster] L

node.mfn_skin_clusterLecture seule

Function set maya.api.OpenMayaAnim.MFnSkinCluster associé au déformeur live, ou None si indisponible. L’alias oma désigne maya.api.OpenMayaAnim.

Élément Type / comportement
Retour Optional[oma.MFnSkinCluster]
Type observé sur géométrie live MFnSkinCluster
Propriétés héritées de GeometryFilter3
Propriété Type retourné Accès Description
mfn_geometry_filter oma.MFnGeometryFilter | None L Function set live du déformeur, ou None s’il est absent ou incompatible.
input_geometries om.MObjectArray L Objets géométriques d’entrée renvoyés par le function set.
output_geometries om.MObjectArray L Objets géométriques de sortie renvoyés par le function set.
Propriétés héritées de DGNode15
Propriété Type retourné Accès Description
dep_fn om.MFnDependencyNode L Function set live ; objet non attaché si le nœud est absent.
uuid str | None L UUID live, ou dernière valeur mémorisée si elle reste disponible.
name str | None L/E Nom live, sinon nom mémorisé.
absolute_name str | None L Nom absolu de namespace renvoyé par MFnDependencyNode.absoluteName() ; None sans nœud.
stripped_name str | None L/E Nom sans namespace, ou None si aucun nom.
namespace str | None L/E Namespace normalisé comme a:b ; None à la racine.
plugs Plugs | None L Gestionnaire des plugs du nœud live ; None sinon.
is_valid_dep_fn bool L Compatibilité du function set avec le MObject courant.
is_default_node bool L Indique un nœud par défaut de Maya ; False sans nœud.
is_from_referenced_file bool L Indique un nœud issu d’un fichier référencé ; False sans nœud.
is_locked bool L/E Verrouillage du nœud, distinct des locks de plugs.
is_shared bool L État partagé renvoyé par Maya ; False sans nœud.
plugin_name str | None L Nom du plugin Maya associé, éventuellement chaîne vide ; None sans nœud.
affect_animation bool L Résultat de MFnDependencyNode.affectsAnimation() ; False sans nœud.
type str | None L/E Type natif live ou type mémorisé.
Propriétés héritées de Node10
Propriété Type retourné Accès Description
mobject om.MObject L/E Objet Maya live, ou objet nul.
mobject_handle om.MObjectHandle L/E Handle associé au nœud.
api_type int | None L Identifiant du type API Maya.
api_type_str str L Nom du type API, par exemple "kTime".
exists bool L Le wrapper possède actuellement un nœud live.
is_null bool L L’objet Maya retourné est nul.
is_alive bool L L’objet existe avec un handle valide et vivant.
is_valid_handle bool L Validité du handle mémorisé.
is_dag_node bool L Compatibilité avec om.MFn.kDagNode.
hash_code int L Hash du handle Maya.

Les defaults et flags ci-dessous sont les déclarations des specs, pas une garantie de valeur live. Un descriptor peut renvoyer un proxy : .value lit sa valeur ; .plug donne accès au Plug. Les noms des proxies décrivent le résultat, sans demander d’importer des classes privées. Les types observés proviennent d’un cas de contrôle ; une entrée géométrique non connectée peut notamment valoir None.

Pour une écriture dont il faut vérifier l’échec, utiliser explicitement le Plug et contrôler le résultat live. Les setters de descriptors ne propagent pas tous les échecs natifs.

Propriété Plug Maya Retour
cache_setup cacheSetup None
bind_method bindMethod _ValuePlugProxy · .value: int
bind_pose bindPose None
bind_volume bindVolume list
geom_bind geomBind None
heatmap_falloff heatmapFalloff _ValuePlugProxy · .value: float
maintain_max_influences maintainMaxInfluences _ValuePlugProxy · .value: bool
max_influences maxInfluences _ValuePlugProxy · .value: int
normalize_weights normalizeWeights _ValuePlugProxy · .value: int
nurbs_samples nurbsSamples TypedArrayProxy
weight_distribution weightDistribution _ValuePlugProxy · .value: int
dqs_scale dqsScale _ValuePlugProxy · .value: tuple
dqs_scale_x dqsScale.dqsScaleX _ValuePlugProxy · .value: float
dqs_scale_y dqsScale.dqsScaleY _ValuePlugProxy · .value: float
dqs_scale_z dqsScale.dqsScaleZ _ValuePlugProxy · .value: float
dqs_support_non_rigid dqsSupportNonRigid _ValuePlugProxy · .value: bool
dropoff dropoff TypedArrayProxy
dropoff_rate dropoffRate _ValuePlugProxy · .value: float
skinning_method skinningMethod _ValuePlugProxy · .value: int
smoothness smoothness TypedArrayProxy
base_dirty baseDirty list
base_points basePoints TypedArrayProxy
deform_user_normals deformUserNormals _ValuePlugProxy · .value: bool
driver_points driverPoints TypedArrayProxy
geom_matrix geomMatrix _ValuePlugProxy · .value: tuple
use_components useComponents _ValuePlugProxy · .value: bool
use_components_matrix useComponentsMatrix _ValuePlugProxy · .value: bool
influence_color influenceColor _DynNumericArrayProxy
influence_color_r influenceColor[].influenceColorR IndexedPathProxy
influence_color_g influenceColor[].influenceColorG IndexedPathProxy
influence_color_b influenceColor[].influenceColorB IndexedPathProxy
lock_weights lockWeights TypedArrayProxy
bind_pre_matrix bindPreMatrix TypedArrayProxy
matrix matrix TypedArrayProxy
relative_space_matrix relativeSpaceMatrix _ValuePlugProxy · .value: MMatrix
relative_space_mode relativeSpaceMode _ValuePlugProxy · .value: int
paint_arr_dirty paintArrDirty None
paint_trans paintTrans None
paint_weights paintWeights TypedArrayProxy
wt_drty wtDrty None
blend_weights blendWeights TypedArrayProxy
per_influence_weights perInfluenceWeights ArrayCompoundProxy
per_influence_vertex_weights perInfluenceWeights[].perInfluenceVertexWeights unavailable · DoubleArrayProp
weight_list weightList ArrayCompoundProxy
weights weightList[].weights unavailable · DoubleArrayProp

node.cache_setupSpec native

Accès au plug natif cacheSetup.

Élément Type / comportement
Chemin Maya cacheSetup
Retour de la propriété None
Type déclaré typed:ctype
Défaut déclaré None
Flags connectable, hidden

Le setter du descriptor refuse l’affectation ; utiliser les opérations de connexion du Plug.

node.bind_methodSpec native

Accès au plug natif bindMethod.

Élément Type / comportement
Chemin Maya bindMethod
Retour de la propriété _ValuePlugProxy · .value: int
Type déclaré enum
Défaut déclaré 0
Flags input, output, connectable, stored
Valeurs enum natives 0 = Closest Distance, 1 = Closest Joint In Hierarchy, 2 = Heat Map, 3 = Geodesic Voxel
Lecture node.bind_method.value
Affectation du descriptor node.bind_method = value

node.bind_poseSpec native

Accès au plug natif bindPose.

Élément Type / comportement
Chemin Maya bindPose
Retour de la propriété None
Type déclaré message
Défaut déclaré None
Flags input, output, connectable

Le setter du descriptor refuse l’affectation ; utiliser les opérations de connexion du Plug.

node.bind_volumeSpec native

Accès au plug natif bindVolume.

Élément Type / comportement
Chemin Maya bindVolume
Retour de la propriété list
Type déclaré array:message
Défaut déclaré ()
Flags array, input, output, connectable

node.geom_bindSpec native

Accès au plug natif geomBind.

Élément Type / comportement
Chemin Maya geomBind
Retour de la propriété None
Type déclaré message
Défaut déclaré None
Flags input, output, connectable

Le setter du descriptor refuse l’affectation ; utiliser les opérations de connexion du Plug.

node.heatmap_falloffSpec native

Accès au plug natif heatmapFalloff.

Élément Type / comportement
Chemin Maya heatmapFalloff
Retour de la propriété _ValuePlugProxy · .value: float
Type déclaré numeric:double
Défaut déclaré 0.0
Flags input, output, connectable, stored
Lecture node.heatmap_falloff.value
Affectation du descriptor node.heatmap_falloff = value

node.maintain_max_influencesSpec native

Accès au plug natif maintainMaxInfluences.

Élément Type / comportement
Chemin Maya maintainMaxInfluences
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré numeric:bool
Défaut déclaré False
Flags input, output, connectable, stored
Lecture node.maintain_max_influences.value
Affectation du descriptor node.maintain_max_influences = value

node.max_influencesSpec native

Accès au plug natif maxInfluences.

Élément Type / comportement
Chemin Maya maxInfluences
Retour de la propriété _ValuePlugProxy · .value: int
Type déclaré numeric:int
Défaut déclaré 2
Flags input, output, connectable, stored
Lecture node.max_influences.value
Affectation du descriptor node.max_influences = value

node.normalize_weightsSpec native

Accès au plug natif normalizeWeights.

Élément Type / comportement
Chemin Maya normalizeWeights
Retour de la propriété _ValuePlugProxy · .value: int
Type déclaré enum
Défaut déclaré 1
Flags input, output, connectable, stored
Valeurs enum natives 0 = None, 1 = Interactive, 2 = Post
Lecture node.normalize_weights.value
Affectation du descriptor node.normalize_weights = value

node.nurbs_samplesSpec native

Accès au plug natif nurbsSamples.

Élément Type / comportement
Chemin Maya nurbsSamples
Retour de la propriété TypedArrayProxy
Type déclaré array:numeric:int
Défaut déclaré ()
Flags array, input, output, connectable, stored
Plug sous-jacent node.nurbs_samples.plug

node.weight_distributionSpec native

Accès au plug natif weightDistribution.

Élément Type / comportement
Chemin Maya weightDistribution
Retour de la propriété _ValuePlugProxy · .value: int
Type déclaré enum
Défaut déclaré 0
Flags input, output, connectable, stored
Valeurs enum natives 0 = Distance, 1 = Neighbors
Lecture node.weight_distribution.value
Affectation du descriptor node.weight_distribution = value

node.dqs_scaleSpec native

Accès au plug natif dqsScale.

Élément Type / comportement
Chemin Maya dqsScale
Retour de la propriété _ValuePlugProxy · .value: tuple
Type déclaré double3
Défaut déclaré (1.0, 1.0, 1.0)
Flags input, output, connectable, stored
Lecture node.dqs_scale.value
Affectation du descriptor node.dqs_scale = value

node.dqs_scale_xSpec native

Accès au plug natif dqsScale.dqsScaleX.

Élément Type / comportement
Chemin Maya dqsScale.dqsScaleX
Retour de la propriété _ValuePlugProxy · .value: float
Type déclaré numeric:double
Défaut déclaré 1.0
Flags input, output, connectable, stored
Lecture node.dqs_scale_x.value
Affectation du descriptor node.dqs_scale_x = value

node.dqs_scale_ySpec native

Accès au plug natif dqsScale.dqsScaleY.

Élément Type / comportement
Chemin Maya dqsScale.dqsScaleY
Retour de la propriété _ValuePlugProxy · .value: float
Type déclaré numeric:double
Défaut déclaré 1.0
Flags input, output, connectable, stored
Lecture node.dqs_scale_y.value
Affectation du descriptor node.dqs_scale_y = value

node.dqs_scale_zSpec native

Accès au plug natif dqsScale.dqsScaleZ.

Élément Type / comportement
Chemin Maya dqsScale.dqsScaleZ
Retour de la propriété _ValuePlugProxy · .value: float
Type déclaré numeric:double
Défaut déclaré 1.0
Flags input, output, connectable, stored
Lecture node.dqs_scale_z.value
Affectation du descriptor node.dqs_scale_z = value

node.dqs_support_non_rigidSpec native

Accès au plug natif dqsSupportNonRigid.

Élément Type / comportement
Chemin Maya dqsSupportNonRigid
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré numeric:bool
Défaut déclaré False
Flags input, output, connectable, stored
Lecture node.dqs_support_non_rigid.value
Affectation du descriptor node.dqs_support_non_rigid = value

node.dropoffSpec native

Accès au plug natif dropoff.

Élément Type / comportement
Chemin Maya dropoff
Retour de la propriété TypedArrayProxy
Type déclaré array:numeric:double
Défaut déclaré ()
Flags array, input, output, connectable, stored
Plug sous-jacent node.dropoff.plug

node.dropoff_rateSpec native

Accès au plug natif dropoffRate.

Élément Type / comportement
Chemin Maya dropoffRate
Retour de la propriété _ValuePlugProxy · .value: float
Type déclaré numeric:double
Défaut déclaré 4.0
Flags input, output, connectable, stored
Lecture node.dropoff_rate.value
Affectation du descriptor node.dropoff_rate = value

node.skinning_methodSpec native

Accès au plug natif skinningMethod.

Élément Type / comportement
Chemin Maya skinningMethod
Retour de la propriété _ValuePlugProxy · .value: int
Type déclaré enum
Défaut déclaré 0
Flags input, output, connectable, stored
Valeurs enum natives 0 = Classic Linear, 1 = Dual Quaternion, 2 = Weight Blended
Lecture node.skinning_method.value
Affectation du descriptor node.skinning_method = value

node.smoothnessSpec native

Accès au plug natif smoothness.

Élément Type / comportement
Chemin Maya smoothness
Retour de la propriété TypedArrayProxy
Type déclaré array:numeric:double
Défaut déclaré ()
Flags array, input, output, connectable, stored
Plug sous-jacent node.smoothness.plug

node.base_dirtySpec native

Accès au plug natif baseDirty.

Élément Type / comportement
Chemin Maya baseDirty
Retour de la propriété list
Type déclaré array:message
Défaut déclaré ()
Flags array, output, connectable, hidden

node.base_pointsSpec native

Accès au plug natif basePoints.

Élément Type / comportement
Chemin Maya basePoints
Retour de la propriété TypedArrayProxy
Type déclaré array:typed:geometry
Défaut déclaré ()
Flags array, input, output, connectable
Plug sous-jacent node.base_points.plug

node.deform_user_normalsSpec native

Accès au plug natif deformUserNormals.

Élément Type / comportement
Chemin Maya deformUserNormals
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré numeric:bool
Défaut déclaré True
Flags input, output, connectable, stored
Lecture node.deform_user_normals.value
Affectation du descriptor node.deform_user_normals = value

node.driver_pointsSpec native

Accès au plug natif driverPoints.

Élément Type / comportement
Chemin Maya driverPoints
Retour de la propriété TypedArrayProxy
Type déclaré array:typed:geometry
Défaut déclaré ()
Flags array, input, output, connectable
Plug sous-jacent node.driver_points.plug

node.geom_matrixSpec native

Accès au plug natif geomMatrix.

Élément Type / comportement
Chemin Maya geomMatrix
Retour de la propriété _ValuePlugProxy · .value: tuple
Type déclaré typed:matrix
Défaut déclaré (1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0)
Flags input, output, connectable, stored
Lecture node.geom_matrix.value
Affectation du descriptor node.geom_matrix = value

node.use_componentsSpec native

Accès au plug natif useComponents.

Élément Type / comportement
Chemin Maya useComponents
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré numeric:bool
Défaut déclaré False
Flags input, output, connectable, stored
Lecture node.use_components.value
Affectation du descriptor node.use_components = value

node.use_components_matrixSpec native

Accès au plug natif useComponentsMatrix.

Élément Type / comportement
Chemin Maya useComponentsMatrix
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré numeric:bool
Défaut déclaré False
Flags input, output, connectable, stored
Lecture node.use_components_matrix.value
Affectation du descriptor node.use_components_matrix = value

node.influence_colorSpec native

Accès au plug natif influenceColor.

Élément Type / comportement
Chemin Maya influenceColor
Retour de la propriété _DynNumericArrayProxy
Type déclaré array:float3
Défaut déclaré ()
Flags array, input, output, connectable, stored
Plug sous-jacent node.influence_color.plug

node.influence_color_rSpec native

Accès au plug natif influenceColor[].influenceColorR.

Élément Type / comportement
Chemin Maya influenceColor[].influenceColorR
Retour de la propriété IndexedPathProxy
Type déclaré numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Chemin explicite vérifié · Plug node.plugs["influenceColor"][i1]["influenceColorR"]

Limite constatée sur le cas vérifié : AttributeError: Child 'influenceColorR' not found under 'api_SkinCluster.influenceColor[0]'. Les indices sont des indices logiques Maya ; adapter leur valeur aux éléments existants ou souhaités.

node.influence_color_gSpec native

Accès au plug natif influenceColor[].influenceColorG.

Élément Type / comportement
Chemin Maya influenceColor[].influenceColorG
Retour de la propriété IndexedPathProxy
Type déclaré numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Chemin explicite vérifié · Plug node.plugs["influenceColor"][i1]["influenceColorG"]

Limite constatée sur le cas vérifié : AttributeError: Child 'influenceColorG' not found under 'api_SkinCluster.influenceColor[0]'. Les indices sont des indices logiques Maya ; adapter leur valeur aux éléments existants ou souhaités.

node.influence_color_bSpec native

Accès au plug natif influenceColor[].influenceColorB.

Élément Type / comportement
Chemin Maya influenceColor[].influenceColorB
Retour de la propriété IndexedPathProxy
Type déclaré numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Chemin explicite vérifié · Plug node.plugs["influenceColor"][i1]["influenceColorB"]

Limite constatée sur le cas vérifié : AttributeError: Child 'influenceColorB' not found under 'api_SkinCluster.influenceColor[0]'. Les indices sont des indices logiques Maya ; adapter leur valeur aux éléments existants ou souhaités.

node.lock_weightsSpec native

Accès au plug natif lockWeights.

Élément Type / comportement
Chemin Maya lockWeights
Retour de la propriété TypedArrayProxy
Type déclaré array:numeric:bool
Défaut déclaré ()
Flags array, input, output, connectable, stored
Plug sous-jacent node.lock_weights.plug

node.bind_pre_matrixSpec native

Accès au plug natif bindPreMatrix.

Élément Type / comportement
Chemin Maya bindPreMatrix
Retour de la propriété TypedArrayProxy
Type déclaré array:typed:matrix
Défaut déclaré ()
Flags array, input, output, connectable, stored
Plug sous-jacent node.bind_pre_matrix.plug

node.matrixSpec native

Accès au plug natif matrix.

Élément Type / comportement
Chemin Maya matrix
Retour de la propriété TypedArrayProxy
Type déclaré array:typed:matrix
Défaut déclaré ()
Flags array, input, output, connectable, stored
Plug sous-jacent node.matrix.plug

node.relative_space_matrixSpec native

Accès au plug natif relativeSpaceMatrix.

Élément Type / comportement
Chemin Maya relativeSpaceMatrix
Retour de la propriété _ValuePlugProxy · .value: MMatrix
Type déclaré typed:matrix
Défaut déclaré (1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0)
Flags input, output, connectable, stored
Lecture node.relative_space_matrix.value
Affectation du descriptor node.relative_space_matrix = value

node.relative_space_modeSpec native

Accès au plug natif relativeSpaceMode.

Élément Type / comportement
Chemin Maya relativeSpaceMode
Retour de la propriété _ValuePlugProxy · .value: int
Type déclaré enum
Défaut déclaré 0
Flags input, output, connectable, stored
Valeurs enum natives 0 = World, 1 = Local, 2 = Custom
Lecture node.relative_space_mode.value
Affectation du descriptor node.relative_space_mode = value

node.paint_arr_dirtySpec native

Accès au plug natif paintArrDirty.

Élément Type / comportement
Chemin Maya paintArrDirty
Retour de la propriété None
Type déclaré message
Défaut déclaré None
Flags output, connectable, hidden

Le setter du descriptor refuse l’affectation ; utiliser les opérations de connexion du Plug.

node.paint_transSpec native

Accès au plug natif paintTrans.

Élément Type / comportement
Chemin Maya paintTrans
Retour de la propriété None
Type déclaré message
Défaut déclaré None
Flags input, output, connectable, hidden

Le setter du descriptor refuse l’affectation ; utiliser les opérations de connexion du Plug.

node.paint_weightsSpec native

Accès au plug natif paintWeights.

Élément Type / comportement
Chemin Maya paintWeights
Retour de la propriété TypedArrayProxy
Type déclaré typed:doublearray
Défaut déclaré ()
Flags input, output, connectable, stored, hidden
Plug sous-jacent node.paint_weights.plug

node.wt_drtySpec native

Accès au plug natif wtDrty.

Élément Type / comportement
Chemin Maya wtDrty
Retour de la propriété None
Type déclaré message
Défaut déclaré None
Flags output, connectable, hidden

Le setter du descriptor refuse l’affectation ; utiliser les opérations de connexion du Plug.

node.blend_weightsSpec native

Accès au plug natif blendWeights.

Élément Type / comportement
Chemin Maya blendWeights
Retour de la propriété TypedArrayProxy
Type déclaré array:numeric:double
Défaut déclaré ()
Flags array, input, output, connectable, stored
Plug sous-jacent node.blend_weights.plug

node.per_influence_weightsSpec native

Accès au plug natif perInfluenceWeights.

Élément Type / comportement
Chemin Maya perInfluenceWeights
Retour de la propriété ArrayCompoundProxy
Type déclaré array:compound
Défaut déclaré ()
Flags array, output, connectable, hidden
Plug sous-jacent node.per_influence_weights.plug

node.per_influence_vertex_weightsSpec native

Accès au plug natif perInfluenceWeights[].perInfluenceVertexWeights.

Élément Type / comportement
Chemin Maya perInfluenceWeights[].perInfluenceVertexWeights
Retour de la propriété unavailable · DoubleArrayProp
Type déclaré array:numeric:double
Défaut déclaré ()
Flags array, output, connectable, hidden
Chemin explicite vérifié · Plug node.plugs["perInfluenceWeights"][i1]["perInfluenceVertexWeights"]

Limite constatée sur le cas vérifié : AttributeError: Plug 'perInfluenceWeights[].perInfluenceVertexWeights' not found on api_SkinCluster. Les indices sont des indices logiques Maya ; adapter leur valeur aux éléments existants ou souhaités.

node.weight_listSpec native

Accès au plug natif weightList.

Élément Type / comportement
Chemin Maya weightList
Retour de la propriété ArrayCompoundProxy
Type déclaré array:compound
Défaut déclaré ()
Flags array, input, output, connectable, stored
Plug sous-jacent node.weight_list.plug

node.weightsSpec native

Accès au plug natif weightList[].weights.

Élément Type / comportement
Chemin Maya weightList[].weights
Retour de la propriété unavailable · DoubleArrayProp
Type déclaré array:numeric:double
Défaut déclaré ()
Flags array, input, output, connectable, stored
Chemin explicite vérifié · Plug node.plugs["weightList"][i1]["weights"]

Limite constatée sur le cas vérifié : AttributeError: Plug 'weightList[].weights' not found on api_SkinCluster. Les indices sont des indices logiques Maya ; adapter leur valeur aux éléments existants ou souhaités.

Specs héritées de GeometryFilter16
Propriété Plug Maya Retour Description
block_gpu blockGPU _ValuePlugProxy · .value: bool Blocage natif de l’évaluation GPU du déformeur.
envelope envelope _ValuePlugProxy · .value: float Intensité globale du déformeur.
envelope_weights_list envelopeWeightsList ArrayCompoundProxy Tableau des listes de poids d’enveloppe.
envelope_weights envelopeWeightsList[].envelopeWeights AttributeError (accès direct) Poids d’enveloppe sous une liste indexée.
weight_function weightFunction Any (donnée native) Données natives de fonction de poids ; type déclaré typed:unknown.
input input ArrayCompoundProxy Tableau des entrées de géométrie du déformeur.
input_geometry input[].inputGeometry IndexedPathProxy Géométrie d’entrée à l’indice demandé.
group_id input[].groupId IndexedPathProxy Identifiant du groupe d’entrée.
component_tag_expression input[].componentTagExpression IndexedPathProxy Expression de sélection des component tags.
map_64_bit_indices map64BitIndices TypedArrayProxy Mapping natif des indices 64 bits.
original_geometry originalGeometry TypedArrayProxy Géométries originales du déformeur.
output_geometry outputGeometry TypedArrayProxy Plugs de sortie de géométrie ; distincts de output_geometries.
function function CompoundProxy Données internes natives du déformeur exposées par ses specs.
fchild_1 function.fchild1 _ValuePlugProxy · .value: int Premier champ entier de function.
fchild_2 function.fchild2 _ValuePlugProxy · .value: int Deuxième champ entier de function.
fchild_3 function.fchild3 _ValuePlugProxy · .value: int Troisième champ entier de function.
Specs héritées de DGNode6
Propriété Plug Maya Retour Description
message message None Plug de message du nœud ; sert aux connexions, sans valeur numérique.
frozen frozen _ValuePlugProxy · .value: bool État natif de gel de l’évaluation.
is_historically_interesting isHistoricallyInteresting _ValuePlugProxy · .value: int Niveau d’intérêt du nœud dans l’historique Maya.
bin_membership binMembership _ValuePlugProxy · .value: str Appartenance aux bins Maya.
caching_enabled caching _ValuePlugProxy · .value: bool Activation du cache natif du nœud.
caching_node_state nodeState _ValuePlugProxy · .value: int État d’évaluation natif nodeState.

Aucune méthode publique supplémentaire ; les méthodes héritées restent disponibles.

Méthodes héritées de DGNode7
Méthode Retour Description
create None Crée le nœud s’il est absent ; ne fait rien s’il existe déjà.
delete None Déconnecte les connexions live, détache le wrapper puis supprime le nœud.
snapshot DGSnapshot Capture et mémorise un dictionnaire d’identité et d’état SVD selon les specs.
snapshot_svd SVDSnapshot Capture Source / Value / Destinations pour la liste demandée.
svd SVDView Renvoie une vue live en lecture seule de la source, de la valeur et des destinations ; ce n’est pas une capture figée.
finalize None Applique toutes les sources, puis les valeurs libres, puis les destinations ; le dispatch FSET activé suit ces phases.
clear_attr_cache None Vide le cache d’attributs de cette instance ; ne supprime aucun nœud et ne vide pas le registre global de wrappers.
Méthodes héritées de Node2
Méthode Retour Description
has_fn(fn_type) bool Tester la compatibilité avec un function set Maya.
clear_node_registry() None Détacher les wrappers enregistrés et vider leur registre partagé.
Attribut Valeur / composition
NODE_TYPE 'skinCluster'
SPEC_LAYERS get_dg_specs_all, get_geometry_filter_specs_all, get_skin_cluster_specs_all

NODE_REGISTRY et les autres attributs de classe non redéfinis restent hérités. Les types Snapshot exportés décrivent des dictionnaires ; utiliser node.snapshot() pour effectuer une capture.

Point Comportement
Identité Un nœud recréé sous le même nom est un nouvel objet Maya.
Création et géométrie Le constructeur ne crée rien ; appeler create() avant les opérations live.
Capture Les snapshots peuvent contenir des objets Maya ; ne pas supposer un JSON prêt à exporter ni une reconstruction complète de géométrie.
Utilisation create() seul ne réalise pas un bind. L’exemple confie le bind à la commande native Maya, puis lit les poids avec le function set du wrapper. Pour accéder aux poids par plug, distinguer indice de sommet et indice logique d’influence ; ne pas confondre ce dernier avec la position dans influenceObjects().

Exemple autonome pour le Script Editor Python de Maya. Dans mayapy, initialiser maya.standalone avant ce bloc. La démonstration crée ses propres nœuds et les supprime dans le finally.

from uuid import uuid4
import maya.api.OpenMaya as om
from maya import cmds
from weSkel.src.core.node.dg.skin_cluster.lib import SkinCluster
from weSkel.src.core.node.dg.dag_pose.lib import DagPose
from weSkel.src.core.node.dag.transform.lib import Transform
from weSkel.src.core.node.dag.joint.lib import Joint
from weSkel.src.core.node.dag.mesh.lib import Mesh
suffix = uuid4().hex[:8]
parent = Transform("api_skin_mesh_" + suffix)
joint = Joint("api_skin_joint_" + suffix)
node = None
pose = None
try:
parent.create()
joint.create()
obj = om.MFnMesh().create(
om.MPointArray([(0, 0, 0), (1, 0, 0), (1, 0, 1), (0, 0, 1)]), [4], [0, 1, 2, 3],
parent=parent.mobject)
mesh = Mesh(obj)
native = cmds.skinCluster(joint.name, parent.name, toSelectedBones=True,
maximumInfluences=1, name="api_skin_" + suffix)[0]
node = SkinCluster(native)
pose_object = node.plugs["bindPose"].source().node()
if not pose_object.isNull():
pose = DagPose(pose_object)
component_fn = om.MFnSingleIndexedComponent()
component = component_fn.create(om.MFn.kMeshVertComponent)
component_fn.addElements([0, 1, 2, 3])
weights, influence_count = node.mfn_skin_cluster.getWeights(mesh.dag_path, component)
assert influence_count == 1 and len(weights) == 4
assert all(abs(weight - 1.0) < 1e-6 for weight in weights)
print("SkinCluster: bound mesh, one influence and four unit weights OK")
finally:
if node is not None:
node.delete(snapshot=False)
if pose is not None:
pose.delete(snapshot=False)
parent.delete(snapshot=False)
joint.delete(snapshot=False)

Résultat attendu : SkinCluster: bound mesh, one influence and four unit weights OK.

Checkpoint SDK 87c3486. Inventaire confronté aux classes chargées sous Maya 2025.3 et 2026.3 ; lectures et compatibilité précisées dans les fiches. Exemple exécuté dans les deux versions, y compris les parcours d’échec attendu explicitement signalés. Les méthodes ne sont pas toutes couvertes par cet exemple. Les limites indiquées restent présentes dans les sources ; le package compilé n’est pas validé par ces contrôles.