• Jesse
    2019年1月15日 11:21

    前言

    我们知道在 Maya 中有两种内置语言,一种是 MEL,另外一种就是 Python 了。这里我们主要来讲讲 Python。
    Python 是一种解释型语言,可以应用于多个领域。可以应用于非常多的 CG 软件,比如 Maya,Nuke,Houdini,MotionBuilder,3DS MAX 等等。

    在 Maya 中输入 Python 代码

    在 Maya 中输入 Python 代码有两种方式,第一种是在命令行中直接输入,回车执行。

    ttmeow_2019-01-15_10-41-43.png

    另一种是在脚本编辑器中编写代码,CTRL + 回车 执行或者小键盘回车。

    ttmeow_2019-01-15_10-43-03.png

    脚本编辑器使用攻略

    相对来说,在 Maya 中使用脚本编辑器来编写 Python 代码是比较方遍的。
    通常来说,当我们获取到了一个脚本文件「Python 脚本通常以 .py 结尾」我们会想去运行一下看看是什么效果,这个时候我们就需要加载这个脚本,操作方式是点击 File => Source Script ,在大多数情况下到这一步就已经有效果了,但~~~,凡是就怕有但是了,可是也是无法避免的嘛。这个时候我们就需要点击 File => Open Script 来打开脚本看一眼了,看看是不是需要手动调用呀,或者干脆这个脚本就有错误,需要修改一下才能运行。经过我们一番折腾之后,终于解决了,大舒一口畅快气。可是一定要记得要面带微笑的保存一下哦,否则下次又要重新修改了。执行File => Save Script『CTRL+s』 ,或者干脆将这个脚本添加到工具架上,下回要用的时候我们直接点击一下就好了,这个时候执行File => Save Script to Shelf... 。好了,到这里我们已经掌握了如何去加载脚本,打开脚本,以及安全的关闭脚本的方式了。
    接下来,当我们已经变得有点厉害了,我们想要自己去编写脚本,这个时候我们就需要用到脚本编辑器下半部分了,一定要记得要在正确的地方编写代码,Maya 编辑器可以编写两种类型脚本,一种是 MEL,另一种是Python,要是写错地方,会报错的。
    好,到这里我们可以安心的写代码了,通常我们要写一个工具都是需要很多行代码的,写了一段之后,发现一个小问题,就是不知道现在写的是多少行,但是一旦运行报错是会提示哪一行有问题,这个问题,Autodesk 是有照顾到的,我们可以点击 Command => Show line numbers ,这时就会显示行号了。Python 有一个优美的地方在于,使用缩进来实现代码块,使用换行进行语句分隔。点击 Command => Use tab for indent 这时我们可以使用TAB 键来缩进代码,非常方便。啊,对了,我们没有必要去记住绝大多数的命令,只需要知道就好了,因为我们可以在输入的时候自动完成或者提示。要这样做我们需要点击 Command => Command Completion ,这样当我们输入一部分之后就会提示我们这个命令的完成拼写是什么了,配合上 Command => Show Tooltip Help 效果更佳,否则你需要按一下快捷键 CTRL + 空格 才会提示。另外有一个我们可以勾选上的就是 Command => Object Path Completion ,这个功能会提示对象路径。此外对于我们这些初学者,Command => Show Quick help 也是非常好用的, 它可以让我们快速的查找帮助,命令属性。
    都写到这里了,您也看到这里了,那我就再说一点点,很多时候我们写完了一个模块之后,再保存之前,我们可以对这个模块进行命名,方式是 Command => Raname Tab。当然也可以去删除不需要的标签了,方式是 Command => Delete Tab
    写脚本的目的当时是为了提高工作效率了,然道是为了情怀吗?因此,执行脚本就有必要提一下了。再 Maya 编辑器中,我们有两种方式去执行代码,一种是前面说的,CTRL + 回车 或者小键盘 回车。另外一种就是选择代码然后执行第一种方式中的快捷键之一。这两个的区别是后一种执行之后会将代码保留在编辑区之内。

    Python 学习资料推荐

    廖雪峰 Python 教程
    笨办法学Python
    Python for Maya Artists

    相关文章

    使用 pycharm 作为 Maya 脚本编辑器 via @jesse

    ttmeow_2019-01-15_10-43-03.png

    PNG, 25.2 KB, jesse上传于2019年1月15日

    ttmeow_2019-01-15_10-41-43.png

    PNG, 3.0 KB, jesse上传于2019年1月15日