モーショングラフィックスの人たちは、MELスクリプトを書くのに苦労しています(彼らの誰もがプログラマーではないため)。試してみましたが、変数や構文などがわからないので大変です。
基本的に、スケール値が0.001以下のdagObjectsのキーフレームを選択してから、スケール値を0に変更します。
すべてのdagObjectを配列に割り当ててから、配列を反復処理しようとしましたが、その後失われました。
また、これが代わりにPythonで実行できる場合は、それで問題ありません。
こんにちは、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)