我有几个小项目想用来学习 python。如果我以后想为 Maya、Blender 等编写脚本,我应该使用哪个版本?此外,有哪些资源可用于为这些程序编写脚本?
3 回答
如果您使用的是 Maya 2011,它已经捆绑并绑定到 py 2.6.4。您不再需要单独安装,甚至不再需要 pyMEL。
如果您想在将知识应用到 3D 应用程序之前自己学习 Python,那么几乎任何 2.x Python 都可以,如果您处于第一步,那么特定于版本的功能只会在一段时间后发挥作用。2.6.4 当然是一个不错的选择,因为它将与您可能在 Maya 和 Softimage 中使用的内容保持一致。
暂时远离 py3k,因为我们领域的采用似乎还有很长的路要走。
至于资源,对于 Python 和 Maya 来说,几乎没有,但迄今为止我所看到的大多数面向编程的材料,除了少数值得注意的例外,例如 Gould 的材料,通常介于平淡无奇和普通业余之间。
你最好有一本不错的入门级书籍,它不会假设读者流口水的白痴(我仍然对 O'Reilly 的 Python 学习评价很高),像 StackOverflow 这样的网站可以解决惯用问题,以及大量的练习和浏览来制作当涉及到 Maya 脚本 API 的细节时,必要的心理联系和练习。
早点看一下 pyMEL,因为它现在已捆绑,也不会受到伤害。默认的、旧的 Maya 命令和类似 mel 包装器的模块确实很糟糕,并且与 Pythonic 相去甚远。pyMEL 虽然不是 100% 的方式,但具有更强的面向对象性,并且不像大量猴子突然被打字机处理那样读取。
根据这篇文章,Maya 2011 使用 Python 2.6.4。当然,较早版本的 Maya 很可能使用较早版本的 Python,反之亦然(可能;-)对于更高版本的 Maya(尚不存在 AFAIK;-)。
此页面(我现在无法阅读,可能blender.org
已关闭)显示适用于 Windows 的 Blender 2.49b 是使用 Python 2.6 构建的,适用于 Linux、Irix 和 Solaris 并没有说,对于 MacOSX for PowerPC 需要 Python 2.3,对于 MacOSX对于英特尔 2.3 或 2.5。
如果您想尝试 Blender 2.5.4 beta,请参阅链接文本——尽管没有提及 Python 版本。
“等”不是我听说过的任何“3d 应用程序”的名称。
IOW,答案将取决于您要使用的 3d 程序的版本!对于相当新的 Maya 和 Blender,Python 2.5 得到了相当可靠的保证(对于仅适用于 PowerPC 的 MacOSC 上的 Blender 2.49b,您仅限于 Python 2.3);更高版本的 Python 2 努力保持与早期版本的高度兼容,因此即使您使用基于(例如)基于 Python 2.6 的 3d 应用程序,只要您知道如何使用 Python 2.5 并坚持下去,您仍然应该是很好(但反之亦然——如果您只知道如何使用 Python 2.6,那么当您需要在 2.5 或更早版本中执行某些操作时,您可能会遇到麻烦;-)。
我会说Python版本没有太大区别。就像其他人提到的,TheE_JacO 不参与流行的 3D 应用程序。Maya、Pixar 的 RenderMan、Houdini、Blender、Realflow ……都具有 Python 2.x 绑定。对于 Python 2.4、2.5 和 2.6,函数接口很少有差异。你可以忽略这个问题。
在我们的工作室中,我们编写 Python 脚本以在 2.4、2.5 和 2.6 中工作,因为我们在不同的动画项目中使用不同的 3D 应用程序版本。有一些代码片段需要修改以使其一切正常,但它们确实是小问题。