2014-02-21 60 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