2017-07-11 88 views
1

我想反映在瑪雅「object1」的對象,並刪除它的鏡像瑪雅Python的鏡像問題

cmds.polyMirrorFace("object1",name="object1Mirror",cutMesh=0,axis=0,axisDirection=1, mergeMode=0, mergeThresholdType=0, mergeThreshold=0.001, mirrorAxis=2, mirrorPosition=0, smoothingAngle=30, flipUVs=1, ch=0); 
cmds.delete("object1") 

後,原來的版本,但在polyMirrorFace給了我一個合併對象之外,我認爲我已經事實取消合併mergeMode = 0。

當我通過UI在瑪雅鏡像時,它工作正常。

我希望有人能幫忙。

+0

當您在Maya中通過UI鏡,請檢查腳本編輯器並查看Maya用於成功執行鏡像的命令。我嘗試了你使用過的相同的命令(可能是由於我的不同版本的maya),我對你使用的那些標誌有些錯誤並不適用於我,有些我在文檔中找不到,例如'smoothingAngle', 'flipUVs' .. – davedwards

+0

當您通過UI在Maya中進行鏡像時,請檢查腳本編輯器並查看Maya用於成功執行鏡像的命令。我嘗試了你使用過的相同的命令(可能是由於我的不同版本的maya),我對你使用的那些標誌有些錯誤並不適用於我,有些我在文檔中找不到,例如'smoothingAngle', 'flipUVs' https://help.autodesk.com/cloudhelp/2016/CHS/Maya-Tech-Docs/CommandsPython/polyMirrorFace.html – davedwards

回答

1

試試這個邏輯:

# mirror about +Y direction by merging the border vertices 
import maya.cmds as mc 

mc.polyCube(name='polyCube5') 

# deliberately deleting face `1` 
mc.delete('polyCube5.f[1]') 

# mirror about +Y direction 
mc.polyMirrorFace('polyCube5', direction=0, mergeMode=2) 

# deleting all faces but a target 
mc.delete('polyCube5.f[0:9]') 

或此邏輯刪除源對象,並留下一個重複:

import maya.cmds as cmds 

cmds.polyCube(name='poly1') 
cmds.move(-1, y=True) 
cmds.duplicate(st=True) 
cmds.move(2, y=True) 
cmds.delete('poly1') 

此外:

import maya.cmds as mc 

mc.polyHelix(c=3, h=2, w=2, r=0.4, sa=8, sco=50, sc=0, d=1, rcp=0, cuv=3, ch=1) 
mc.scale(1,1,-1, 'pHelix1', pivot=(0,0,0), absolute=True) 
+0

這對大部分情況都適用,我想。當您使用導入的對象進行操作時,它會變得更加有趣。比方說,你從一個包含多個組的一個.mb文件中導入一個對象,並逐個鏡像它,然後以obj的形式導出。但是,是的,你的版本有效。感謝那! – goetzmoritz

+0

謝謝,stil我有問題,如果我遍歷它們被合併的多個對象。不知何故,這似乎被竊聽。 – goetzmoritz

+0

發佈您的代碼,我會盡力幫助。 – andy