【问题标题】:Maya python and camera animationMaya python 和相机动画
【发布时间】:2014-02-21 00:49:54
【问题描述】:

嘿,所以在使用 python 的 Maya 中,我正在导入用键控动画锁定的摄像机,我只是希望底部的时间滑块更新为导入摄像机的动画长度。我可以调整时间滑块我只是无法通过 python 找到关键帧来调整它。

(例如:我导入 4 个摄像头。1 个摄像头是 10 个关键帧。2 和 3 是 15 个关键帧。然后第 4 个是 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)

【问题讨论】:

  • 你能发布设置时间滑块并有一个相机对象可以工作的相关代码吗?

标签: python animation camera maya


【解决方案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}.{1}”,因为我认为我使用的是旧版本的 python。谢谢!
  • 太棒了!是的,{} 语法需要 python 2.7,它只包含在 Maya 2014 中。早期版本使用 python 2.6
  • 所以我不得不使用 cmds.keyframe('{0}.{1}'.format(camera, channel), query=True)... 这在锁定的相机上不起作用。有任何想法吗?我得到错误 = # TypeError: 'NoneType' object is unsubscriptable #
  • 它有关键帧吗? maya 有一个可怕的倾向,即返回 None 而不是一个空列表。您必须先检查if keyframes,然后才能继续
  • @cjaxx,我确实测试了带有锁定键的 Maya 相机。它返回了一个帧列表
猜你喜欢
  • 2020-03-12
  • 2021-07-27
  • 2012-10-21
  • 2013-01-22
  • 2013-06-30
  • 1970-01-01
  • 2021-06-25
  • 2015-10-29
  • 1970-01-01
相关资源
最近更新 更多