在Maya中使用MEL/Python的AttrFieldSliderGrp命令
我想在Maya的界面上用滑块来移动一个3D物体的边缘。
请问有没有办法只移动物体的某个部分(比如顶点、边或者面),而不是整个物体,使用attrFieldSliderGrp
命令和-at
这个选项?
谢谢你的帮助。
1 个回答
1
使用 AttrFieldSliderGrp
命令,你可以移动一个顶点:
window -title "Sliders for moving a vertex";
polySphere;
string $sphere[] = `select -r pSphere1.vtx[199]`;
columnLayout;
attrFieldSliderGrp -min -5.0 -max 5.0 -at ($sphere[0]+".pntx");
attrFieldSliderGrp -min -5.0 -max 5.0 -at ($sphere[0]+".pnty");
attrFieldSliderGrp -min -5.0 -max 5.0 -at ($sphere[0]+".pntz");
showWindow;
但是,你不能用 AttrFieldSliderGrp
命令来移动边和面,因为它们没有 tx
、ty
和 tz
这些属性。不过,移动边和面的操作可以通过 polyMoveEdge
和 polyMoveFacet
命令来实现,这些命令在 MEL 和 Python 中分别是 cmds.polyMoveEdge()
和 cmds.polyMoveFacet()
:
polySphere -name myEdges;
select myEdges.e[199];
polyMoveEdge -t 2.0 1.0 0.7 myEdges.e[199];
polySphere -name myFaces;
select myFaces.f[200:201];
polyMoveFacet -t 1.8 0.8 1.1 myFaces.f[200:201];