多语言展示
当前在线:582今日阅读:19今日分享:20

python-maya脚本技巧-如何利用历史记录写脚本

利用maya每步操作都有mel语言记录的功能编辑python脚本。
1.准备工作
1

启动编辑器,将其放在习惯的位置(看下面的连接)。为了能使历史记录更清晰,先清空历史记录。

2

点开历史菜单,勾选所有抑制功能。

3

编辑器中选择使用python编辑。或者点击”+“,选择python,创建一个新python文件。

4

例如:新建一个立方体:编辑器上半部分是MEL语言的记录,只要将这些记录转换成python语言即可。选中MEL代码行,左键托动复制到python编辑器。

5

不要被这长长的一串吓怕了,其实在python里,是灰常简单的。在polyCube前,加上cmds. 再把polyCube后面的一长串咔嚓掉,换成圆括号。是不是很熟悉,就是python的函数。把工作区的立方体删掉,点击编辑器的运行代码,会看到,脚本运行成功。

2.函数参数
1

为了方便测试,先在第二行插入下面两句代码。cmds.select(all=True)cmds.delete()不难理解,第一句,选择工作区的所有对象,第二句,将选择的删除。这样可以在测试的时候先清屏,然后再执行下面的代码,免去了每次测试手动去删除物体。当代码全部写完,在去除这两句。

2

MEL代码中,”-“后面的代码,放到python里,就是一个python的参数。在python里的形式是这样的,例如:-w 1 在python里就 w=1; (宽是1)-aw 0 1 0 在python里就是 ax=(0,1,0)可以看到是键值对形式。但有些情况并不是这样, 例如MEL中的 move -r 0 1 1,r即(relative相关的);在python中,r=True/False;它在很多方法中用到。

3

那么为什么在python里,空括号也能执行呢?我们没有设置任何MEL的属性,就能建立一个立方体,说明MEL中的属性参数都是默认的。在python语言了,默认的参数是可以省略的,所以没有写参数同样能执行。

4

参数改变:1)上面说过,MEL转换来的python参数是键值对的形式,在python里叫关键字参数,所以如果想要改变某个参数,直接写上键值,其他的不动即可。2)maya里很多默认参数都不需要动的,很少改变,例如:ax=(0,1,0),意思是y轴向上,没必要去改,改了反倒很难操作。所以大可不必担心,参数难记。3)因为是关键字参数,所以不必担心位置的对应,但必须把键和值都写上。例如:cmds.polyCube(sx=10,h=3);x轴分段为10,高设置为3,参数位置与原来不符也没关系。

5

参数快速查找。除了用F1,查看帮助文档外,也可在编辑器内查看简短的参数说明。高亮显示查询的函数(鼠标双击即可高亮),鼠标右键按下不松,移动到快速帮助,松开鼠标键,即可显示快速帮助。

6

鼠标放在快速帮助栏的左边框,出现分割样式,可按下鼠标左键向右拖动隐藏。

3.保存脚本为py文件。
1

再写一行示例。清空历史,先执行下代码,将立方体手动向上移动一段距离,看看MEL移动的代码怎么写。这里的 -r, 的值是bool值,和后面的没关系, 后面是立方体的中心坐标(x,y,z)。将历史记录拖拽到编辑器。修改y。

2

这样就使得创建一个立方体站在紧贴网格上。可以将文件保存为一个py文件,清空编辑器的历史,将清屏的两行代码去掉。点开文件菜单,选择另存脚本,

3

选择保存位置,写上文件名,选择python。最后点击保存。

推荐信息