3

动态图形领域的人很难编写 MEL 脚本(因为他们都不是程序员)。所以我尝试了一下,但我遇到了很大的困难,因为我不知道很多变量和语法等。

基本上想选择比例值为0.001或更小的dagObjects的关键帧,然后将比例值更改为0。

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

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

4

1 回答 1

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)
于 2012-07-17T15:54:11.103 回答