编写MEL / Python脚本以更改比例值

时间:2012-07-13 15:57:52

标签: python maya mel

Guys in Motion Graphics在编写MEL脚本时遇到困难(因为他们都不是程序员)。所以我对它有所了解但是我遇到了很大困难,因为我不知道有很多变量和语法等。

基本上要选择刻度值为0.001或更小的dagObjects的关键帧,然后将刻度值更改为0.

我尝试将所有dagObjects分配到一个数组中,然后尝试迭代数组,但之后就丢失了。

另外,如果这可以在Python中完成,那么那很好。

1 个答案:

答案 0 :(得分:2)

嗨,知道你的dagObjects是什么形式会很高兴。这是一个简单的python脚本。

from maya import cmds
import math

dags = ['obj']
attrs = ['sx', 'sy', 'sz']
tol = 0.001

for dag in dags:
    frames = [frame for frame in cmds.keyframe(dag, q=1)]
    for frame in frames:
        attrib_vals = [cmds.getAttr(dag+'.'+attr, time=frame) for attr in attrs]
        length = math.sqrt(sum(attr_val * attr_val for attr_val in attrib_vals))
        if length < tol:
            cmds.setKeyframe(dag, at=attrs, t=[frame], v=0)