使用rotate,及setAttr,来控制模型的旋转
1.rotate()来控制旋转
1、绝对旋转,cmds.rotate(x,y,z)以x或y或z坐标轴为中心,旋转到某个角度。例如:cmds.rotate(0,0,10),执行后,绕z轴旋转,恢复到10度。
2、绝对旋转,还可以这么写,cmds.rotate(30,z=True),仅指定围绕z轴旋转。
3、相对旋转,cmds.rotate(x,y,z,r=哌囿亡噱True),r是relative的简写;以x或y或z坐标轴为中心,在现在的基础上,旋转某个角度。标记参数r的默认值是Fa造婷用痃lse。例如:cmds.rotate(0,0,10,r=True)。每执行一次,绕z轴旋转10。
4、绝旋转还可以这样写:cmds.rotate(10,y=True,r=True);每次执行,绕y轴增加10度。
2.setAttr()设置旋转角度
1、在通道盒里设置旋转。在历史记录中获取setAttr方法。
2、有两者设置方法,第一种,设置指定轴:cmds.setAttr("pCone1.rotateZ",180); rotate后必须跟大写的坐标轴。
3、第二种,同时设置三个轴:cmds.setAttr("pCone1.rotate",x,y,z); rotate后不写坐标轴,但后面的跟设置x,y,z的值。
4、使用setAttr设置的值是绝对的旋转值。所以,可用于将模型恢复到冻结点的旋转度数。但它的参数中腻戴怯猡包函模型的名字,如要让选中的模型执行旋转,就要先获取选中的名字。例如:①获取袷蜍滇刷模型的变换节点名称列表。names=cmds.ls(selection=True)②将所选模型恢复到冻结的角度。(或指定的任何角度)for name in names:----cmds.setAttr(name+'.rotate',0,0,0)