Guest User

Untitled

a guest
Jul 17th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. import maya.cmds as cmds
  2.  
  3. def main():
  4. for obj in cmds.ls(sl=True, l=True):
  5. pointer, = cmds.spaceLocator(n="|%s_Follow" % obj.rsplit("|", 1)[-1])
  6. dec = cmds.shadingNode("decomposeMatrix", au=True)
  7. cmds.addAttr(pointer, ln="match_frame", k=True)
  8. mul = cmds.shadingNode("multMatrix", au=True)
  9.  
  10. code = []
  11. for at in "tr":
  12. for ax in "xyz":
  13. cmds.addAttr(pointer, ln="match_%s%s" % (at, ax))
  14. code.append("%s.%s%s = %s.match_%s%s;" % (pointer, at, ax, pointer, at, ax))
  15. cmds.connectAttr("%s.o%s%s" % (dec, at, ax), "%s.match_%s%s" % (pointer, at, ax))
  16. exp = cmds.expression(n="%s_Express" % pointer, s="if (%s.match_frame == time1.o) {\n%s}" % (pointer, "\n".join(code)))
  17.  
  18. cmds.connectAttr("%s.bbsi" % obj, "%s.los" % pointer)
  19. cmds.connectAttr("%s.ro" % pointer, "%s.ro" % dec)
  20. cmds.connectAttr("%s.pim" % obj, "%s.i[1]" % mul)
  21. cmds.connectAttr("%s.wm" % obj, "%s.i[0]" % mul)
  22. cmds.connectAttr("%s.o" % mul, "%s.imat" % dec)
  23.  
  24. cmds.setAttr("%s.match_frame" % pointer, cmds.currentTime(q=True))
  25. cmds.select(pointer)
Add Comment
Please, Sign In to add comment