Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # select curve, duplicated objects in group named "duper"
- from pymel.core import *
- import maya.cmds as cmds
- def grpr(name):
- g = ls(name)
- if g:
- delete(g)
- g = group(n=name,em=1)
- return g
- pathObj = ls("duper")
- # Main Attributes
- startFrame = 1
- speed = 1
- objSpacing = 4
- fadingScale = .05
- sl = selected()
- newGrp = grpr("DuperGrper")
- toSelect = []
- for s in sl:
- offsetBy = 0
- pathLen = arclen(s)
- endFrame = pathLen * speed
- offsetAmnt = objSpacing * speed
- objAmnt = int((pathLen/offsetAmnt)* speed)
- for d in range(0,objAmnt):
- dup = duplicate(pathObj)
- parent(dup[0], newGrp)
- scaleStart = startFrame+offsetBy
- scaleEnd = endFrame+offsetBy
- keyOffseter = startFrame + endFrame * fadingScale
- moPath = pathAnimation(dup, c = s ,startTimeU = scaleStart, endTimeU = scaleEnd, follow=1, fm=1,fa="x")
- # Fading keys
- setKeyframe(dup[0]+".scale", t = startFrame+offsetBy, v = 0.1)
- setKeyframe(dup[0]+".scale", t = startFrame+offsetBy+keyOffseter, v=1)
- setKeyframe(dup[0]+".scale", t = endFrame+offsetBy-keyOffseter, v=1)
- setKeyframe(dup[0]+".scale", t = endFrame+offsetBy, v=.1)
- animCrv = listConnections(moPath)[0]
- keyTangent(animCrv, itt = "linear", ott = "linear")
- #keyMiddle = ((startFrame+offsetBy) + (endFrame+offsetBy)) *.5
- #setKeyframe(animCrv, t = keyMiddle, v = 0.5, itt="slow", ott="slow")
- sk = selectKey(animCrv)
- dk = selectKey(dup, add=1)
- setInfinity( poi = "cycle", pri = "cycle")
- offsetBy += offsetAmnt
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement