2014-08-29 50 views
0

我有幾個關節在我的場景和我需要清零其渠道價值,因爲我父母這些關節成不同的網格(這是在不同的地方在場景內)歸零關節值

我知道,我可以手動輸入cmds.setAttr(joint01.translateX, '0')以便其他翻譯以及旋轉屬性。 有沒有其他方法可以在一行或兩行內編譯它(類似於凍結轉換,雖然它不適用於關節)而不是寫出6行?

ls = cmds.ls(type="joint") 
for item in ls: 
    cmds.setAttr(item + ".translateX",0) 
    ... 
    ... 
    ... 

編輯:我創建爲創建帶狀脊柱獨奏關節,因此想知道,如果有,我可以代替寫寫出的setAttr

回答

0
3分或更多的句子的任何其他短方法

我想你想要cmds.makeIdentity。您可以指定將哪些屬性歸零。

不管怎麼說,請記住,這對於幾何圖形和關節有不同的作用。它在改變變換值之前改變幾何體的頂點位置以反映移動,旋轉和縮放;通過關節,它將旋轉移動到JointOrient中並重新定位兒童關節。

+0

嗨,糾正我,如果我錯了,但每當我在一個聯合使用凍結變換,它只有歸零旋轉值。我也嘗試過使用makeIdentity命令,並且因爲菜單而無法按預期工作?命令不起作用 – dissidia 2014-08-31 09:05:05

+0

您無法在單個關節上歸零翻譯:如果關節是層次結構的根,它將保留其原始翻譯。如果它是兒童關節,它的平移將改變以補償它上方關節上的尺度和旋轉。當您凍結幾何時,實際的頂點會移動以保留視覺外觀;這是不可能的關節。如果你真的需要一個關節中的0-0-0值,你需要設置一個新的關節或者在它上面進行變換來隱藏底層變換 – theodox 2014-08-31 17:12:00

+0

是的,我明白你想表達的意思。也請原諒我,因爲我意識到我在我的帖子中不清楚。實際上,我並沒有試圖將「父親」或者孩子的關節歸零,因爲我正在創建單獨的關節,在帶狀脊柱的情況下 – dissidia 2014-09-02 02:20:17