【问题标题】:Maya, MEL, Error when execute the whole scriptMaya,MEL,执行整个脚本时出错
【发布时间】:2017-01-03 18:41:55
【问题描述】:

首先祝大家新年快乐!

今年的第一个错误如下:

我在执行整个 mel 脚本时出错,但是当我分别执行每一行时,我的脚本实际上工作正常。我的代码在对象和运算符之间使用 connectAttr 链接属性。

希望有人已经遇到过此类错误,提前感谢您的帮助!

int $x;
int $y;
int $z;
string $selection[];
spaceLocator -n ("CTRL_HP_ID") -p 0 0 0;
addAttr -ln "Range"  -at double  -min 1 -max 2000 -dv 1 |CTRL_HP_ID;
setAttr -e-keyable true |CTRL_HP_ID.Range;
addAttr -ln "Influence_y"  -at double  -min 0 -max 2000 -dv 1 |CTRL_HP_ID;
setAttr -e-keyable true |CTRL_HP_ID.Influence_y;
for ( $x = 1; $x < 10; $x++){
    for ( $z = 1; $z < 10; $z++){
        polyCube;
        string $selectionTwo[] = `ls -sl`;
        move (2*$x) (2*$y) (2*$z);
        spaceLocator -n ("IDLocator_" + $x + $z) -p 0 0 0;
        string $selectionOne[] = `ls -sl`;
        move (2*$x) (2*$y) (2*$z);
        group -name ("IDLocator_" + $x + $z + "_GRP");
        select ("IDLocator_" + $x + $z + "_GRP");
        select -add $selectionTwo[0];
        parent;
        //NODES :::

        string $nameDistanceNode = ("distance_node_" + $x + $z);
        string $nameRemapValNode = ("remapVal_node_" + $x + $z);
        string $addDoublNode = ("addDoubl_" + $x + $z);
        string $MultDivNode = ("MultDiv_" + $x + $z);
        string $MultDivTwoNode = ("MultDivTwo_" + $x + $z);
        shadingNode -asUtility distanceBetween -name $nameDistanceNode;
        connectAttr -f CTRL_HP_ID.translate ($nameDistanceNode + ".point1");
        connectAttr -f ($selectionOne[0] + ".translate") ($nameDistanceNode + ".point2");
        shadingNode -asUtility remapValue -name $nameRemapValNode;
        connectAttr -f ($nameDistanceNode + ".distance") ($nameRemapValNode + ".inputValue");
        connectAttr -f CTRL_HP_ID.Range ($nameRemapValNode + ".outputMin");
        connectAttr -f CTRL_HP_ID.Range ($nameRemapValNode + ".inputMax");
        shadingNode -asUtility addDoubleLinear -name $addDoublNode;
        connectAttr -f ($nameRemapValNode + ".outValue") ($addDoublNode + ".input1");
        shadingNode -asUtility multiplyDivide -name $MultDivNode;
        shadingNode -asUtility multiplyDivide -name $MultDivTwoNode;
        connectAttr -f ($addDoublNode + ".output") ($MultDivNode + ".input1X");
        connectAttr -f ($MultDivNode + ".outputX") ($MultDivTwoNode + ".input1X");
        connectAttr -f ($MultDivTwoNode + ".outputX") ($selectionTwo[0] + ".translateY");

        //set multipliers (and to divide)*********************
        setAttr ($MultDivNode + ".operation") 2;
        connectAttr -f CTRL_HP_ID.Range ($MultDivNode + ".input2X");
        connectAttr -f CTRL_HP_ID.Influence_y ($MultDivTwoNode + ".input2X")


        //set range
        //string $nameRemapValNode = ("remapVal_node_" + $x + $z);
        //connectAttr -f CTRL_HP_ID.Range ("remapVal_node_" + $x + $z + ".outputMin");
        //connectAttr -f CTRL_HP_ID.Range ("remapVal_node_" + $x + $z + ".inputMax");
    }
};
// Error:     }
 // 
// Error: Line 57.5: Syntax error // 
// Error:  // 
// Error: Line 59.0: Syntax error //

【问题讨论】:

  • 你能告诉我们代码和回溯吗?
  • 我把它放在上面
  • 如果有帮助的话,我正在使用 Maya 2017 学生版
  • 我认为问题来自 for 循环,因为没有它们代码运行完美

标签: maya mel


【解决方案1】:

它很棘手 mel ;) 你错过了一个 ;在第 47 行

connectAttr -f CTRL_HP_ID.Influence_y ($MultDivTwoNode + ".input2X") 

connectAttr -f CTRL_HP_ID.Influence_y ($MultDivTwoNode + ".input2X");

【讨论】:

  • 非常感谢您抽出宝贵时间!我没看到;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-25
  • 1970-01-01
  • 2022-06-30
  • 2011-09-07
  • 1970-01-01
相关资源
最近更新 更多