python - 如何获得一个 For 循环来影响每个单独的对象

标签 python for-loop increment maya autodesk

伙计们!我的问题涉及我目前正在尝试解决的 Python 练习(好吧,更具体地说,该程序是 Autodesk Maya,但我使用的是 Python 编码)。该练习涉及获取数组/列表中包含的多个对象(球体),然后使用增量变量使它们在偏移动画中移动。换句话说,我希望第一个球体移动,然后下一个球体在延迟的时间内移动,然后下一个球体的延迟时间更长,等等。

我的代码如下:

    spheres = mc.ls(selection=True)
    count=0

    for i in range(len(spheres)):
        count+=2
        mc.selectKey(spheres)
        mc.keyframe(edit=True, relative=True, timeChange=count)
        print spheres(i)

球体是我的对象,正如我所说,我希望第一个球体在时间轴中正常移动,然后下一个球体以 2 的延迟时间移动,然后下一个以 4 的延迟时间移动,等等。

如有任何帮助,我们将不胜感激。

谢谢, E

最佳答案

您实际上并没有在单个球体上设置关键帧;看起来你在所有领域都设置了它

您的 for 循环通常形式不佳,而且用处不大。尝试将其更改为:

spheres = mc.ls(selection=True)
count=0

for sphere in spheres:
    count += 2
    mc.selectKey(sphere) # only selecting the one sphere!
    mc.keyframe(edit=True, relative=True, timeChange=count)
    print sphere # no need to look up the element
                 # which by the way should have been [i] not (i)

输出:

enter image description here

关键帧最初都是排成一行的,但现在每个关键帧都与之前的帧偏移了两帧。

关于python - 如何获得一个 For 循环来影响每个单独的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21030237/

相关文章:

Python - For 循环没有启动(二十一点游戏)

c - 为什么增量运算++a++ 不起作用,至少在 C 中是这样?

java - 何时在表达式中计算/返回/获取 Java 变量中的值?

c# - 使增量同时完成

python - tensorflow 2中单个矩阵的按位运算

python - 如何使用python从多个json文件中提取信息

Python:subprocess.Popen 和 subprocess.call 挂起

python - 通过多个条件搜索字典中的元素,无需循环

python - 从 sklearn.model_selection.GridSearchCV 获取 keyerror

r - 如何在 for 循环或 s/lapply 中添加线性回归?