Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1.  
  2.  
  3. #se_copySkinCluster(mc.ls(sl=True)[0],mc.ls(sl=True)[1])
  4. def se_copySkinCluster(source,target,smooth=1,mode="closestPoint"):
  5. #get source skinCluster info...
  6. skc = mel.eval('findRelatedSkinCluster '+source)
  7. sm = mc.getAttr(skc+".skinningMethod")
  8. uc = mc.getAttr(skc+".useComponents")
  9. nw = mc.getAttr(skc+".normalizeWeights")
  10. dun = mc.getAttr(skc+".deformUserNormals")
  11. mi = mc.getAttr(skc+".mi")
  12. mmi = mc.getAttr(skc+".mmi")
  13.  
  14. ts = mel.eval('findRelatedSkinCluster '+target)
  15. if ts!="":
  16. mc.delete(ts)
  17.  
  18. inf = mc.skinCluster(skc,q=True,wi=True)
  19. jInf = []
  20. mInf = []
  21. for n in inf:
  22. if mc.nodeType(n)=="joint":
  23. jInf.append(n)
  24. else:
  25. mInf.append(n)
  26. #create a the new skinCluster on target
  27.  
  28. nSkc = mc.skinCluster(jInf,target,sm=sm,nw=nw,tsb=True,mi=mi)
  29. mc.setAttr(nSkc[0]+".useComponents",uc)
  30. mc.setAttr(nSkc[0]+".deformUserNormals",dun)
  31. mc.setAttr(nSkc[0]+".mmi",mmi)
  32. for m in mInf:
  33. mc.skinCluster(nSkc,e=True,ai=m,ns=128,ug=True,wt=0.0)
  34. #print nSkc[0]
  35. #print skc
  36. mc.select(source,target)
  37. #mel.eval('copySkinWeights -sm '+smooth+' -sa '+mode+' -noMirror -surfaceAssociation closestPoint -influenceAssociation oneToOne -influenceAssociation closestJoint -influenceAssociation name;')
  38. if smooth:
  39. mel.eval('copySkinWeights -sm -ss '+skc+' -ds '+nSkc[0]+' -sa '+mode+' -noMirror -surfaceAssociation closestPoint -influenceAssociation oneToOne -influenceAssociation closestJoint -influenceAssociation name;')
  40. else:
  41. mel.eval('copySkinWeights -ss '+skc+' -ds '+nSkc[0]+' -sa '+mode+' -noMirror -surfaceAssociation closestPoint -influenceAssociation oneToOne -influenceAssociation closestJoint -influenceAssociation name;')
  42. #mc.copySkinWeights(ss=skc,ds=nSkc[0],sm=smooth,sa=mode,ia="oneToOne") #,ia="closestJoint",ia="name")
  43.  
  44. #se_copySkinClusterSel()
  45. def se_copySkinClusterSel(smooth=1,mode="closestPoint"):
  46. sel = mc.ls(sl=True)
  47. source = sel[0]
  48. targets = sel[1:]
  49. for t in targets:
  50. se_copySkinCluster(source,t,smooth,mode)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement