我正在尝试弄清楚如何在Maya中使用Python。我想在Maya中创建一个工具架,当我单击该工具架时,它将执行一个包含python代码的文件。
首先,我发现我们不能简单地source python脚本。我学习了this教程,所以现在我有了一个psource()函数。在我的书架上,我可以给psource("myPythonScript")打电话
我的问题是当Maya第一次加载时,我必须以某种方式注册psource()。
你知道怎么做吗?
发布于 2011-08-30 22:37:13
我建议您在调用函数之前使用按钮导入Python模块。假设脚本位于maya/scripts/tep.py中,按钮将执行以下操作:
import tep
tep.psource()如果您想要修改脚本并在每次单击按钮时保持运行最新版本,请执行以下操作:
import tep
reload(tep)
tep.psource()如果希望模块在Maya启动时加载,请在maya/scripts目录中创建名为userSetup.py的文件,并使其执行以下操作:
import tep然后,您的按钮可以简单地:
tep.psource()或者..。
reload(tep)
tep.psource()发布于 2012-10-05 19:41:18
作为Maya启动序列的一部分,它将为您执行名为userSetup.py的文件。在这个文件中,你可以使用标准的python代码来设置你的环境等等。
文档:http://download.autodesk.com/global/docs/maya2013/en_us/index.html?url=files/Python_Python_in_Maya.htm,topicNumber=d30e725143
这是2013年的文档,但它在2011和2012年也有效。我希望这也是正确的,但我在这里没有运行任何更老的东西
顺便说一句,我的userSetup.py文件如下所示:
import sys
# import a separate pyscript dir - we keep the standard scriptdir for MEL
sys.path.append(r'C:/Users/tanantish/Documents/maya/2012-x64/pyscripts')
# odds on i'm going to want PyMEL loaded by default
# and we are going to try distinguish it from the old maya.cmds
# since the two since they're similar, but not the same.
# from pymel.core import *
import pymel.core as pm
# and we might as well get maya.cmds in for testing..
import maya.cmds as mc
# import local toolpack
import tantools(根据@jdi的评论对userSetup.py进行了编辑)
发布于 2010-09-10 05:53:27
您运行的是哪个版本的Maya?如果版本高于8.5,Maya会内置python。放置在本地Maya脚本目录中的任何python脚本都将自动获得源代码。您可以在脚本编辑器源文件中运行python脚本。
要自动运行:
在myDocs\maya\mayaVersion\scripts
python("from package import module");
python("module.method(\"passedVar1\", \"passedVar2\")");希望这能有所帮助
P.S同样的语法也适用于工具架按钮。只需确保您为Maya设置了python路径,以便可以找到您的代码。本地脚本目录已包含.....
https://stackoverflow.com/questions/2944935
复制相似问题