本文记录了一些Maya中出现的一些小问题:
AOV无法正常创建
import maya.cmds as mc mc.lockNode('initialParticleSE',l=0,lu=0) mc.lockNode('initialShadingGroup',l=0,lu=0)
Maya 操作总是提示 “// Error: line 1: Cannot find procedure “onModelChange3dc”. //“,这可能是模型制作的时候打开了某个窗口,maya在关闭的时候会保存一份配置在maya文件里,可以从Expression Editor的By Script Node Name里看到,虽然没什么影响,但是真的很烦。解决办法:
import pymel.core as pm # 获取Maya中的所有模型编辑器并重置 editorChanged 事件 for item in pm.lsUI(editors=True): if isinstance(item, pm.ui.ModelEditor): pm.modelEditor(item, edit=True, editorChanged="")
RenderSetting渲染面板内容空白,执行mel脚本:
deleteUI unifiedRenderGlobalsWindow;
关闭“cannot find procedrure ‘look’”:
执行mel脚本:
- 方法一:
outlinerEditor -edit -selectCommand "" "outlinerPanel1";
- 方法二:
global proc look(){};
- 方法一:
执行python脚本:
maya.mel.eval('outlinerEditor -edit -selectCommand "" "outlinerPanel1";')
删除TurtleDefaultBakeLayer层:
执行mel脚本
//删除海龟渲染 mel脚本 lockNode -l off TurtleDefaultBakeLayer; delete TurtleDefaultBakeLayer; lockNode -l off TurtleRenderOptions; delete TurtleRenderOptions; lockNode -l off TurtleBakeLayerManager; delete TurtleBakeLayerManager;
执行python脚本
def delTurtleRender(): if mc.objExists('TurtleRenderOptions'): mc.lockNode('TurtleRenderOptions', 'TurtleUIOptions', 'TurtleBakeLayerManager', 'TurtleDefaultBakeLayer', lock=0) mc.delete('TurtleRenderOptions', 'TurtleUIOptions', 'TurtleBakeLayerManager', 'TurtleDefaultBakeLayer') print u"海龟渲染节点清理完成" else: print u"场景中海龟渲染节点已清理干净" delTurtleRender()
Maya Arnold不能渲染:
// Rendering with Arnold Renderer… //
// Result: Rendering Completed. See mayaRenderLog.txt for information. //
是因为Maya 的mtoa环境变量丢失,导致渲染器使用的部分文件没有调用到,因此直接结束渲染。
解决办法:
https://support.solidangle.com/display/AFMUG/Batch+Rendering 的Batch Render Flags 提到了解决问题的办法,就是在环境变量中增加如下环境变量(对应maya版本号):
MAYA_RENDER_DESC_PATH=C:\solidangle\mtoadeploy\对应maya版本号
然后,重新打开maya渲染。或者,重新安装渲染器,此办法有概率解决问题。高版本Maya(2020以上)不能加载Arnold渲染器的问题:需要打补丁程序VC_redist.x64.exe。