2014-02-21 70 views
0

嘿所以在瑪雅使用python我導入的照相機被鎖定與他們的鍵控動畫,我只是想在底部的時間滑塊更新到導入相機的動畫長度。我可以調整時間片來調整我只是無法找到關鍵幀來通過python進行調整。 (例如:我導入4個攝像頭,1個攝像頭是10個關鍵幀,2個和3個是15個關鍵幀,然後是52個,所以我希望時間滑塊是1-52,我可以讓它移動但我不知道如何找到52號)瑪雅蟒蛇和相機動畫

編輯:對不起,我基本上導入我的相機

cams = [cam1,cam2,cam3,cam4] 

的凸輪X:

cmds.file(x, i=True, dns=True, rnn = True) #i for import 

# this is how i change the timeslider but I want it to 
# be the number of keyframed animation on the camera 
cmds.playbackOptions(max=1000) 
+0

pymel or maya.cmds? – mhlester

+0

你能發佈相關的代碼來設置timeslider並且有一個攝像頭對象可以工作嗎? – mhlester

回答

1
camera = 'Camera1' 
channel = 'translateX' 
keyframes = cmds.keyframe('{}.{}'.format(camera, channel), query=True) 
first, last = keyframes[0], keyframes[-1] 
cmds.playbackOptions(min=first, max=last, ast=first, aet=last) 

無論通道是否被鎖定,這都可以工作。

+0

老兄,這工作完美只是添加一個「{0}。{1}」之間的括號,因爲我認爲我在一個較舊版本的Python。謝謝! – cjaxx

+0

太棒了!是的,'{}'語法需要python 2.7,它只包含在Maya 2014中。早期版本使用python 2.6 – mhlester

+0

所以我不得不使用cmds.keyframe('{0}。{1}'。format(camera,channel ),query = True)...這不會在鎖定的相機上工作。有任何想法嗎?我得到錯誤=#TypeError:'NoneType'對象是不可排驗的# – cjaxx