cwisbg

original spider con

May 24th, 2016
358
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. #spider connect
  2. # select lctr 1 then webed mesh, then lct2, second webed mehs
  3. from pymel.core import *
  4. import random as r
  5. def getPiv(s):
  6. select(s)
  7. setToolTo('Move')
  8. piv = manipMoveContext('Move', q=True, p=True,m=2)
  9. return piv
  10. def sts(pap, child):
  11. startL = spaceLocator(n="startL")
  12. endL = spaceLocator(n="endL")
  13. cp = createNode("closestPointOnMesh",n="snapperCheck")
  14. snapList = [child]
  15. snapto = pap
  16. snapto.getShape().worldMatrix[0] >> cp.inputMatrix
  17. startL.translate >> cp.inPosition
  18. cp.position >> endL.translate
  19. snapto.getShape().worldMesh[0] >> cp.inMesh
  20. for s in snapList:
  21. pc = pointConstraint(s, startL)
  22. delete(pc)
  23. pc = pointConstraint(endL, s)
  24. delete(pc)
  25. delete(cp,startL,endL)
  26. select(snapList)
  27. def scat(s,mvAmnt):
  28. limit = 30
  29. x = 0
  30. dList = []
  31. for l in range(0,limit):
  32. rtX = r.uniform(-mvAmnt,mvAmnt)
  33. rtY = r.uniform(-mvAmnt,mvAmnt)
  34. rtZ = r.uniform(-mvAmnt,mvAmnt)
  35. d = spaceLocator(n=s+"_scatter_"+str(x))
  36. pc = pointConstraint(s, d)
  37. delete(pc)
  38. #d = d.getTranslation()
  39. dList.append(d)
  40. move(d,rtX,rtY,rtZ,r=1)
  41. x += 1
  42. return dList
  43. def grpr(name):
  44. g = ls(name)
  45. if not g:
  46. g = group(n=name,em=1)
  47. else:
  48. g = g[0]
  49. return g
  50. sl = selected()
  51.  
  52. dis1 = 10
  53. dis2 = 10
  54.  
  55.  
  56.  
  57. if len(sl) <= 2:
  58. weblct1 = sl[0]
  59. weblctObj1 = sl[0]
  60. weblct2 = sl[1]
  61. weblctObj2 = sl[1]
  62. else:
  63. weblct1 = sl[0]
  64. weblctObj1 = sl[1]
  65. weblct2 = sl[2]
  66. weblctObj2 = sl[3]
  67. scat1Grp = grpr("scat1")
  68. dlist = scat(weblct1,dis1)
  69. for d in dlist:
  70. sts(weblctObj1,d)
  71. parent(d,scat1Grp)
  72.  
  73. scat2Grp = grpr("scat2")
  74. dlist2 = scat(weblct2,dis2)
  75. for d in dlist2:
  76. sts(weblctObj2,d)
  77. parent(d,scat2Grp)
  78.  
  79.  
  80. crvGrp = grpr("crvGrp")
  81. ref = 0
  82. xx = 0
  83. for d in dlist:
  84. dd = getPiv(d)
  85. ddd = getPiv(dlist2[xx])
  86. cc = curve(p = [ddd,dd],d=1)
  87. parent(cc,crvGrp)
  88. xx += 1
  89. ref += 1
  90. delete(scat1Grp,scat2Grp)
Add Comment
Please, Sign In to add comment