DrivenKey を取得する
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 | import pymel.core as pm
#DrivenKeyを取得する
#DrivenKeyは animCurveU* というノード
dKey = node.listConnections(type=("animCurveUL",
"animCurveUA",
"animCurveUT",
"animCurveUU"))
#animCurveからDriver・Drivenを取得する`
#driver
key.input.connections()[0]
#driven
key.output.connections()[0]
#DrivenKeyのKeyの数を取得(indexを取得)
num = key.numKeys()
#Driverの値を取得
driverVal = key.getUnitlessInput(index)
#Drivenの値を取得
drivenVal = key.getValue(index)
#すべてのKeyに対して処理をしたい場合は、numKeysで取得したindex数で
#ループを回してやれば良い。
for i in range(0,num):
print key.getUnitlessInput(i)
print key.getValue(i)
|
DrivenKey のノードは animCurveU* とついている4つのノード。
アクセス方法は、基本通常の Key と変わらない。
ただし、入力側が Time ではなく Value のため getTime(index) ではなく getUnitlessIntpu(indes)になる。
index は 0 スタート。
animCurve の Attribute に表示されている Keys。
左側の数字が getValue や getTime や getUnitlessInput するときの引数になる index
取得するコマンドは画像の通り。