自定义菜单
用maya建模就不得不提到它的快捷菜单,常用的功能右键甩甩鼠标都有,可如何自定义它呢?
定义标记菜单的mel其实都在
C:\Program Files\Autodesk\Maya2018\scripts\others
以contex开头,比如contextPolyToolsFaceMM.mel为面编辑状态时SHIFT+RMB菜单
contextPolyToolsEdgeMM.mel则是边编辑
这些contex***MM.mel,底部都会有几行类似:
if (`exists contextPolyToolsDefaultUserMM`)
contextPolyToolsDefaultUserMM $parent;
所以我们可以新建一个叫contex***UserMM.mel的脚本,来自定义我们想要的功能,而不用破坏原来的文件。
下面以contextPolyToolsFaceUserMM.mel为例
结构
涉及到两个文件:
- contextPolyToolsFaceUserMM.mel
- contextPolyToolsFaceUserMM.res.mel
其中res.mel控制显示的文本
1和2放到
a:C:\Program Files\Autodesk\Maya2018\scripts\others
2还要放到
b:C:\Program Files\Autodesk\Maya2018\resources\l10n\zh_CN\scripts
当maya为中文版时,会显示b目录内的res.mel文件内容
ps:在\l10n\zh_CN\scripts这个目录里的res.mel,写中文的话文件编码应是中文GK而不是UTF-8
MEL文件
例如 contextPolyToolsFaceUserMM.mel
global proc contextPolyToolsFaceUserMM( string $parent )
{
menuItem
-label (uiRes("m_contextPolyToolsFaceUserMM.kDeleteFace"))
-command "doDelete"
-radialPosition "SW"
-enableCommandRepeat 1
-image "polyDelFacet.png"
-ia ""
;
menuItem
//contextPolyToolsFaceUserMM.res.mel会去调下面的名称
-label (uiRes("m_contextPolyToolsFaceUserMM.kExtractFaces"))
//下面这行用于分离之后自动跳到组件选择模式,没错,可以写上别的操作,都是mel
-command "ExtractFace;toggleSelMode;HideManipulators;"
-radialPosition "NW"
-enableCommandRepeat 1
-image "polyChipOff.png"
//下面这行会使新写的设置覆盖掉maya默认的
-ia ""
;
}
res:contextPolyToolsFaceUserMM.res.mel
displayString -replace -value "delface" m_contextPolyToolsFaceUserMM.kDeleteFace;
displayString -replace -value "ExtractFace" m_contextPolyToolsFaceUserMM.kExtractFaces;
radialPosition
定义了出现在菜单中的位置
ia""
似乎比较重要,没细究
上面mel的效果:
进入面编辑模式, SHIFT+RMB就会:
吐槽一下之所以会折腾这个,就是因为点边编辑下,SHIFT+RMB,SW的位置都是删除,到了面却变成了我不常用的一个功能,怨念已久。
这样就可以把marking menus按照自己的习惯重写,或许可以让建模效率更上一层吧(为什么不用快捷键
载入mel
maya2018似乎不会自动载入我们新定义的User文件,还是要在进入maya后跑一遍
source contextPolyToolsFaceUserMM.mel;
source contextPolyToolsFaceUserMM.res.mel;
这样我们的自定义才生效,不过这会带来一个问题,res.mel加载的不是对应中文版的b目录下的res.mel,用source
只能加载到a里的,无伤大雅不过我无解。。
好在似乎maya2018.1已经修复不会自动载入**UserMM.mel的问题,公司的2018.1运作良好。
参考文章:https://www.artstation.com/vrntech/blog/NnL/marking-menus-in-maya-part-3-customizing
感谢分享
感谢留言(滑稽
你好,MAYA标记菜单的命令好像比较全哦,二级菜单也比较合理,好像没必要自定义!几乎都能找到。
那你可以找找,删除边和面在哪里~
楼主说得好啊