-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathtest.py
More file actions
74 lines (60 loc) · 2.53 KB
/
test.py
File metadata and controls
74 lines (60 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
try:
import maya.standalone
maya.standalone.initialize()
except RuntimeError:
pass
import math
import maya.cmds
start = 10
end = 20
mid = start + ((end - start) * 0.5)
maya.cmds.file(new=True, force=True)
maya.cmds.unloadPlugin('animCurveMatch')
maya.cmds.loadPlugin('animCurveMatch')
maya.cmds.undoInfo(state=True, infinity=True)
tfm, shp = maya.cmds.polySphere()
print 'tfm:', tfm
print 'shp:', shp
maya.cmds.setKeyframe(tfm, attribute='translateX', time=1, value=10)
maya.cmds.setKeyframe(tfm, attribute='translateX', time=5, value=-10)
maya.cmds.setKeyframe(tfm, attribute='translateX', time=6, value=10)
maya.cmds.setKeyframe(tfm, attribute='translateX', time=10, value=-10)
for i in range(start, end+1):
v = math.cos((float(i-1) / float(end-1)) * math.pi)
maya.cmds.setKeyframe(tfm, attribute='translateZ', time=i, value=v)
maya.cmds.keyTangent(tfm, inTangentType='spline', outTangentType='spline', time=())
srcCurve = maya.cmds.listConnections(tfm + '.translateZ', type='animCurve')[0]
dstCurve = maya.cmds.listConnections(tfm + '.translateX', type='animCurve')[0]
print 'srcCurve:', srcCurve
print 'dstCurve:', dstCurve
err = maya.cmds.animCurveMatch(srcCurve, dstCurve,
iterations=1000,
# newCurve=True,
# name='myAwesomeNewCurve1',
adjustValues=True,
adjustTimes=False,
adjustTangentAngles=True,
adjustTangentWeights=False,
scaleTimeKeys=True,
forceWholeFrames=True)
print 'error level:', err
nodes = maya.cmds.ls(type='animCurve')
maya.cmds.select(nodes, replace=True)
print nodes
print 'before:', maya.cmds.keyframe(tfm,
query=True,
attribute='translateX',
valueChange=True) or []
err = maya.cmds.animCurveMatch(srcCurve, dstCurve, iterations=1000)
print 'error level:', err
maya.cmds.undo()
print 'between:', maya.cmds.keyframe(tfm,
query=True,
attribute='translateX',
valueChange=True) or []
maya.cmds.redo()
print 'after:', maya.cmds.keyframe(tfm,
query=True,
attribute='translateX',
valueChange=True) or []
# maya.cmds.quit(force=True)