Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编写用于更改比例值的MEL/Python脚本_Python_Maya_Mel - Fatal编程技术网

编写用于更改比例值的MEL/Python脚本

编写用于更改比例值的MEL/Python脚本,python,maya,mel,Python,Maya,Mel,运动图形领域的人很难编写MEL脚本(因为他们都不是程序员)。所以我尝试了一下,但我遇到了很大的困难,因为我不知道很多变量是什么,语法等等 基本上,您希望选择缩放值为0.001或更小的对象的关键帧,然后将缩放值更改为0 我尝试将所有DAG对象分配到一个数组中,然后尝试遍历该数组,但之后就丢失了 另外,如果可以用Python来完成这项工作,那也没关系。您好,很高兴知道对象的形式是什么。下面是一个简单的python脚本 from maya import cmds import math dags =

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

基本上,您希望选择缩放值为0.001或更小的对象的关键帧,然后将缩放值更改为0

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


另外,如果可以用Python来完成这项工作,那也没关系。

您好,很高兴知道对象的形式是什么。下面是一个简单的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)
从maya导入cmds
输入数学
dags=['obj']
属性=['sx','sy','sz']
tol=0.001
对于dag中的dag:
frames=[cmds.keyframe(dag,q=1)中的帧对帧]
对于帧中帧:
attrib_vals=[cmds.getAttr(dag+'.+attr,time=frame)用于attr中的attr]
长度=math.sqrt(总和(属性值*属性值中属性值的属性值))
如果长度
抱歉,我要更改的是比例值,而不是关键帧