自定义菜单

用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为例

结构

新建图像涉及到两个文件:

  1. contextPolyToolsFaceUserMM.mel
  2. contextPolyToolsFaceUserMM.res.mel

其中res.mel控制显示的文本

12放到

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

2条回应:“Maya自定义标记菜单(marking menus)”

发表评论

电子邮件地址不会被公开。 必填项已用*标注


*

关闭菜单