关于Maya userSetup.py的用法.

使用Maya的userSetup文件可以在Maya启动时初始化自定义的函数.

创建一个userSetup.py文件放在"F:\document\<username>\maya<Version>\scripts"下就可以.

以下为测试代码:

[userSetup.py]:存放在"scripts"目录下.

import maya.cmds as cmds
'''
> 添加第一个测试类.这个类直接存放在scripts下面.
'''
from TestPY1 import TestClass1 as TC

'''
> 添加第二个测试类.这个类存放在"scripts/Users(自定义目录)"下面.
> 将Users(自定义目录)加入到环境变量中.自定义目录不能自动获取地址,需要手动添加.
'''
myPath = 'F:/Z_AppData/maya/scripts/Users'
import sys
if myPath not in sys.path:
	sys.path.append(myPath)

#导入几个测试类.
from TestPY2 import TestClass2 as TC2
from ExecuteFunction import TestFuncClass as TFC

#使用evalDeferred执行自己的函数.evalDeferred可以在maya加载所有启动项后执行命令.
cmds.evalDeferred('tfc=TFC()') #这个函数是在TestClass2中调用的内容,在这里实例化一下.

cmds.evalDeferred('ttt2=TC2()')
cmds.evalDeferred('ttt2.MyTestMenu()')

cmds.evalDeferred('ttt1= TC()')
cmds.evalDeferred('ttt1.MyTestMenu()')

[TestPY1.py]:放在"scripts"目录下.

'''
这个类添加了一下测试菜单.子菜单点击后均会输出"FUCKYOU!"
'''
import maya.cmds as cmds
class TestClass1:
    def MyTestMenu(self):
        MM=cmds.menu(p='MayaWindow',tearOff=True,l='[PythonMenu 1]')
        cmds.menuItem(p=MM,l='-----------',c='print("FUCKYOU!")')
        cmds.menuItem(p=MM,l='-----------',c='print(\"FUCKYOU!\")')
        cmds.menuItem(p=MM,l='-----------',c='print(\"FUCKYOU!\")')

[TestPY2.py]:放在"scripts/Users"自定义目录下.

'''
这个类同TestClass1大致相同.不同在于它调用了另外一个文件("scripts\Users\ExecuteFunction.py")的函数. tfc在userSetup.py中,在maya启动时声明和初始化.
'''
import maya.cmds as cmds

class TestClass2:
    def MyTestMenu(self):
        MM=cmds.menu(p='MayaWindow',tearOff=True,l='[PythonMenu TWO]')
        cmds.menuItem(p=MM,l='-----------',c='tfc.PRINT(\'FUCK \')') #上面说的这里的'tfc'
        cmds.menuItem(p=MM,l='-----------',c='tfc.PRINT(\'YOU !\')')
        cmds.menuItem(p=MM,l='-----------',c='tfc.PRINT(\'Okey ?!\')')

[ExecuteFunction.py]:放在"scripts/Users"自定义目录下.这是上一个文件中所调用的内容.

'''
TestPY.py中的tfc就是它.
'''
import maya.cmds as cmds
class TestFuncClass:
    def PRINT(self, txt):
        print(txt)

------END------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值