Example #1
0
def softModToSticky(mesh, skin, soft, finalMesh=""):
    """creates a sticky point on the softmod location and transfer their weights"""
    trans = soft.parent
    control = stk.ControlOnMesh(
        name=soft.name.replace("_SFM", ""), baseJoint="", position=trans.worldPosition, mesh=mesh
    )
    control.create()
    mc.select(mesh, control.skinJoint.name)
    mc.skinCluster(skin, e=True, dr=4, lw=True, wt=0, ai=control.skinJoint.name)
    control.skinJoint.a.lockInfluenceWeights.v = 0
    if not soft.a.joint.exists:
        print "no existe joint attribute"
        soft.a.joint.add(at="message")
    if not control.skinJoint.a.soft.exists:
        print "no existe soft attribute"
        control.skinJoint.a.soft.add(at="message")
    soft.a.joint >> control.skinJoint.a.soft
    sf.copyWeightsToJoint(soft.name, skin, control.skinJoint.name, mesh, finalMesh)
    return control
Example #2
0
def transferWeightToSel(skin, mesh):
    """transfer weight of selected softmod to their skin joint"""
    softMo = mn.ls(sl=True, dag=True, typ="softModHandle")
    if softMo:
        for s in softMo:
            sf.copyWeightsToJoint(s.name, skin, s.a.joint.output[0].node.name, mesh)