cwisbg

scale joints

Oct 8th, 2015
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. from pymel.core import *
  2. import math
  3. def getHiChild(jnt):# gets all children joints
  4. jnt = jnt
  5. jntHi = []
  6. catcher = 100
  7. while jnt:
  8. jntHi.append(jnt)
  9. jnt = listRelatives(jnt,c=1)
  10. if catcher == 0:
  11. print "breaking"
  12. break
  13. catcher -= 1
  14. return jntHi
  15. def getHiPap(jnt):# gets all parent joint
  16. jntHi = []
  17. catcher = 100
  18. x = 1
  19. while jnt:
  20. if nodeType(jnt) != "joint":
  21. break
  22. if x:
  23. jntHi.append(jnt)
  24. x = 0
  25. else:
  26. jntHi.append(jnt[0])
  27. jnt = listRelatives(jnt,p=1)
  28. if catcher == 0:
  29. print "breaking"
  30. break
  31. catcher -= 1
  32. return jntHi
  33. sl = selected()
  34.  
  35. for s in sl:
  36. shi = getHiPap(s)
  37. r = .1
  38. minS = .1
  39. maxS = 1
  40. range = len(shi)
  41. js = getAttr(shi[-1].radius)# joint size
  42. r = float(js)/float(range)
  43. x = 0
  44. for ss in shi:
  45. print x
  46. x += r
  47. setAttr(ss.radius, x)
  48.  
  49.  
  50. #norm = .1 +(x-A)*(10-1)/(B-A)
  51. #y = 1 + (x-A)*(10-1)/(B-A)
  52. """
  53. for ss in shi:
  54.  
  55. #setAttr(ss.radius, r)
  56. normalized = (x-min(x))/(max(x)-min(x))
  57. r += .2
  58. """
Advertisement
Add Comment
Please, Sign In to add comment