2016-02-11 19 views
0

我无法弄清楚发生了什么。如果你打开玛雅2016创建四个nurbsCircles并运行此脚本,你有这样的:MEL/Python父命令将形状不可预测地移动

Shapes changed their location scale and rotation

// MEL 

makeIdentity -apply true -t 1 -r 1 -s 1 -n 0 -pn 1 nurbsCircle1 nurbsCircle2 nurbsCircle3 nurbsCircle4 ; 
parent -r -s nurbsCircle2|nurbsCircleShape2 nurbsCircle1 ; 
parent -r -s nurbsCircle3|nurbsCircleShape3 nurbsCircle1 ; 
parent -r -s nurbsCircle4|nurbsCircleShape4 nurbsCircle1 ; 

# Python 

import maya.cmds as mc 

mc.makeIdentity(mc.ls(sl = 1), 
       apply = True, 
       t = 1, r = 1, s = 1, n = 0) 

mc.parent('nurbsCircle3|nurbsCircleShape3', 
      'nurbsCircle2|nurbsCircleShape2', 
      'nurbsCircle4|nurbsCircleShape4', 
      'nurbsCircle1',s = 1,r = 1) 
+0

我试图重现错误,两个脚本在这里做相同的事情。 – DrHaze

回答

0

,问题是被父相同的形状变换以某种方式实例化到其以前的变换,当脚本做它的工作,并删除以前的变换节点和形状,即使在新的变换节点的父母后仍然改变它的变换。

所以解决方案是: 父所有形状到一个变换节点,使用parent -add -r -s [objects]然后复制这个新节点,只有这样你才能删除所有旧节点。

很混乱,但它的工作