Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #spider connect
- # select lctr 1 then webed mesh, then lct2, second webed mehs
- from pymel.core import *
- import random as r
- def getPiv(s):
- select(s)
- setToolTo('Move')
- piv = manipMoveContext('Move', q=True, p=True,m=2)
- return piv
- def sts(pap, child):
- startL = spaceLocator(n="startL")
- endL = spaceLocator(n="endL")
- cp = createNode("closestPointOnMesh",n="snapperCheck")
- snapList = [child]
- snapto = pap
- snapto.getShape().worldMatrix[0] >> cp.inputMatrix
- startL.translate >> cp.inPosition
- cp.position >> endL.translate
- snapto.getShape().worldMesh[0] >> cp.inMesh
- for s in snapList:
- pc = pointConstraint(s, startL)
- delete(pc)
- pc = pointConstraint(endL, s)
- delete(pc)
- delete(cp,startL,endL)
- select(snapList)
- def scat(s,mvAmnt):
- limit = 30
- x = 0
- dList = []
- for l in range(0,limit):
- rtX = r.uniform(-mvAmnt,mvAmnt)
- rtY = r.uniform(-mvAmnt,mvAmnt)
- rtZ = r.uniform(-mvAmnt,mvAmnt)
- d = spaceLocator(n=s+"_scatter_"+str(x))
- pc = pointConstraint(s, d)
- delete(pc)
- #d = d.getTranslation()
- dList.append(d)
- move(d,rtX,rtY,rtZ,r=1)
- x += 1
- return dList
- def grpr(name):
- g = ls(name)
- if not g:
- g = group(n=name,em=1)
- else:
- g = g[0]
- return g
- sl = selected()
- dis1 = 10
- dis2 = 10
- if len(sl) <= 2:
- weblct1 = sl[0]
- weblctObj1 = sl[0]
- weblct2 = sl[1]
- weblctObj2 = sl[1]
- else:
- weblct1 = sl[0]
- weblctObj1 = sl[1]
- weblct2 = sl[2]
- weblctObj2 = sl[3]
- scat1Grp = grpr("scat1")
- dlist = scat(weblct1,dis1)
- for d in dlist:
- sts(weblctObj1,d)
- parent(d,scat1Grp)
- scat2Grp = grpr("scat2")
- dlist2 = scat(weblct2,dis2)
- for d in dlist2:
- sts(weblctObj2,d)
- parent(d,scat2Grp)
- crvGrp = grpr("crvGrp")
- ref = 0
- xx = 0
- for d in dlist:
- dd = getPiv(d)
- ddd = getPiv(dlist2[xx])
- cc = curve(p = [ddd,dd],d=1)
- parent(cc,crvGrp)
- xx += 1
- ref += 1
- delete(scat1Grp,scat2Grp)
Add Comment
Please, Sign In to add comment