2017-01-04 5 views
1

forloopでロケータのリスト内のすべての位置を取得するには、この情報をすべての点のカーブを作成する必要があります。 cmds.curveをforloopに置くと、いくつかのカーブが作成され、それを外側に置くと、リストの最後の位置にカーブが1つしかありません。 誰かがこれに対する解決策を持っていますか?Maya Python forループの複数の収集点からカーブを作成するには

for locator in state: 

     print("\t", locator) 
     translate_x_value = cmds.getAttr("%s.translateX" % locator) 
     translate_y_value = cmds.getAttr("%s.translateY" % locator) 
     translate_z_value = cmds.getAttr("%s.translateZ" % locator) 


     cmds.curve(p=translate_x_value,translate_y_value,translate_z_value)) 
+1

ソフィーは、あなたが、SOの基本的なルールを越境しています。我々は本質的に煮詰められた質問を好む。彼らは私たちがそれらを解決するために必要なすべてを示していますが、彼らは素敵で短いです。 –

+1

コードがたくさんあるときは、コード全体を見るのはすばらしいですが、編集したときと同じように、コードを分割して重要な部分を強調表示することができます。 – DrWeeny

答えて

3

あなたはループの外()あなたのcmds.curveを供給する必要があります:あなたはここに新しいしているためと考え

locatorOrder = ['loc1', 'loc2'...etc] 
positionOrder = [cmds.pointPosition(i) for i in locatorOrder] 

cmds.curve(p=positionOrder) # draw the curve between locators 
関連する問題