2017-07-11 112 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