Guys in Motion Graphics在编写MEL脚本时遇到困难(因为他们都不是程序员)。所以我对它有所了解但是我遇到了很大困难,因为我不知道有很多变量和语法等。
基本上要选择刻度值为0.001或更小的dagObjects的关键帧,然后将刻度值更改为0.
我尝试将所有dagObjects分配到一个数组中,然后尝试迭代数组,但之后就丢失了。
另外,如果这可以在Python中完成,那么那很好。
答案 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)