在Maya中使用MEL/Python的AttrFieldSliderGrp命令

2 投票
1 回答
688 浏览
提问于 2025-04-16 08:26

我想在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 命令来移动边和面,因为它们没有 txtytz 这些属性。不过,移动边和面的操作可以通过 polyMoveEdgepolyMoveFacet 命令来实现,这些命令在 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];

撰写回答