Maya线性工作流工具¶
核心思想 数据类型,对应的特性,属性与方法 listAttr getAttr setAttr 检测插件&加载插件 pymel pythonic 参数设置的两种方案 实例化对象 模块的导入导出 sys.path 设置AOV
管中窥豹:延伸阅读 cmds VS pymel pymel第三方文档 Maya中有哪些扩展接口 MEL command & function import maya.cmds as cmds import maya.mel as mel import pymel.core as pm Python API 1.0 Python API 2.0 C++ API
检测插件&加载插件
import pymel.core as pm
if "mtoa" not in pm.pluginInfo(query=True, listPlugins=True):
try:
pm.loadPlugin("mtoa")
except:
pm.error("Fail to Load Arnold Render!!")
pm.PyNode("defaultRenderGlobals").currentRender.set("arnold")
https://help.autodesk.com/cloudhelp/2018/JPN/Maya-Tech-Docs/PyMel/index.html
from pprint import pprint
import pymel.core as pm
# 返回所有节点
pprint(pm.ls())
# 实例化节点
renderGlobals = pm.PyNode("defaultRenderGlobals")
attrs = renderGlobals.listAttr()
pprint(attrs)
print(type(renderGlobals.currnetRenderer))
print(dir(renderGlobals.currnetRenderer))
renderGlobals.setAttr("currentRendererer", "arnold")
renderGlobals.currentRenderer.set("arnold")
pm.setAttr("defaultRenderGlobals.currentRenderer", "arnold")
pm.PyNode("defaultRenderGlobals.currentRenderer").set("arnold")
aiOptions = pm.PyNode("defaultArnoldRenderOptions")
# defaultRenderGlobals
# defaultArnoldRenderOptions
# defaultArnoldFilter
# defaultArnoldDriver
pm.PyNode("defaultRenderGlobals.animation").set(True)
import maya.cmds as cmds
# cmEnabled
# renderingSpaceName
# viewTransformName
# defaultInputSpaceName
# colorManagePots
cmds.colorManagementPrefs(e=True, parm=value)
# 软件版本的兼容性
import pymel.core as pm
print(pm.about(version=True))
import sys
path = "D:/"
path in sys.path or sys.path.insert(0, path)
print(sys.path)
from renderTools import linearWorkflowCheck
reload(linearWorkflowCheck)
linearWorkflowCheck.maya_ui()
from pprint import pprint
import maya.cmds as cmds
pprint(cmds.file(query = True, list = True, withoutCopyNumber = True))