python-maya 如何用脚本控制缩放
1、绝对缩放:cmds.scale(x,y,z);
首先要了解这里的x,y,z并不是带单位的长度,是个比例。例如,一个模型缩放后,再冻结变换,那么的比例值就是1。
例如:cmds.scale(3,1,1),在x上扩大3倍(1*3)。结果是原来的3倍。
2、绝对缩放还可以这么写:cmds.scale(3,y=True);将Y轴向长度扩大到原来的三倍长。
3、相对缩放。cmds.scale(1,2,1,r=True)。参数r (relative)是bool值。默认是False。如上面1,2中其实都有r=False参数。
例如:y是2,意思是在原有的基础上乘以2(也就是每执行一次都会扩大到原来的2倍)
***注意:在缩放中比值1是个分水岭,我们知道,和一个小数(不管正负)连续相乘是无限趋近于0的。
4、也可以这么写,来指定单个轴向的缩放。cmds.scale(1.2,y=True,r=True)
1、先在通道盒里设置缩放值,看看编辑器的历史记录是怎么写,然后再转变为python代码。
2、cmds.setAttr("pCube2.scaleX",2);(属于绝对缩放)
第一参数是字符串,由模型的变换节点名称和它的轴向缩放,组成。
第二个参数是缩放比例。
3、可以将上面的三句代码用一句来表述:cmds.setAttr("pCube2.scale",2,2,2)
4、因为它的参数中包函模型变换节点名称,所以在用脚本来执行时,如果给选中模型来缩放,就需要先获取名称。
例如:将选中模型恢复到原始比例(1,1,1)
for name in names:
----#cmds.scale(1,1,1)或:
----cmds.setAttr(name+'.scale',1,1,1)
其实使用cmds.scale(1,1,1)更便捷。