首页 > 解决方案 > Maya 表达式更改帧范围问题

问题描述

我向控制曲线添加了一个属性,该属性更改了多个组的起始帧。这是我在表达式编辑器中提出的表达式。

$basename = "R_M_TM_Step_01_ctrl";
string $selected[] = `ls -sl -sn` ;
string $result = substituteAllString($selected[0], $basename , "");
string $addName = ($basename + $result);
if ($selected[0] == $addName )
{
    if ($selected[0] == $addName )
        {
        int $tyme=`getAttr $selected.StartFrame`;
        SelectHierarchy;
        copyKey -time ":"  ;
        cutKey -time ":"  ;
        pasteKey -time $tyme;
        select $selected;

        }
   if ($selected[0] == $addName )
        {
        int $tyme=`getAttr $selected.StartFrame`;
        SelectHierarchy;
        copyKey -time ":"  ;
        cutKey -time ":"  ;
        pasteKey -time $tyme;
        select $selected;

        }
        }

问题是我需要多次导入此控件和组。我需要一些方法来查询选择控制曲线(R_M_TM_Step_01_ctrl),即使它导入(新名称 R_M_TM_Step_01_ctrl1、R_M_TM_Step_01_ctrl2 等)。在大多数情况下,此脚本有效,但移动所有这些键是否有更好的方法。或者是否有一个表达式仅在该特定控制曲线下进行评估。

我还需要一个命令更改评估。如果我将评估设置为“始终”,那么它将每帧运行表达式。我认为“需求”会起作用,但事实并非如此。我想我需要某种“if语句”。你们能帮忙吗?

标签: expressionmayamel

解决方案


推荐阅读