Maya 添加货架分隔符:一切都会出错或无法正常工作

问题描述 投票:0回答:0

尝试在 Linux 上的 Maya 2020 上创建一个架子分隔符到任何当前打开的架子(这里恰好被命名为

Custom
,但我想要一个可以在任何架子上工作的东西)。到目前为止,我已经尝试了一些事情:

1。在 MEL 命令行中使用
addShelfSeparator();
或作为架子中的架子按钮时,我需要分隔符:
// Error: file: /s/apps/packages/cg/maya/2020.4.9-45.0/platform-linux/scripts/startup/shelf.mel line 594: Object's window not found.
2。在打开属性编辑器的情况下,在第 594 行的
separator -width 12 -height 35 -style "shelf" -hr false;
中使用
shelf.mel
时:
// Error: line 1: Object's window not found.
3。与上面相同,但关闭了属性编辑器:

它在属性编辑器的下半部分创建一个分隔符:

// Result: AttributeEditor|MainAttributeEditorLayout|formLayout52|AEmenuBarLayout|separator91
4。使用以下代码:
import maya.cmds as cmds
import maya.mel as mel

gShelfTopLevel = mel.eval("global string $gShelfTopLevel; $temp = $gShelfTopLevel;")
currentShelf = cmds.tabLayout(gShelfTopLevel, q=True, st=True)

cmds.separator(currentShelf, width=12, height=35, style="shelf", hr=False)

我得到这个错误:

global string $gShelfTopLevel; $temp = $gShelfTopLevel;
// Result: Shelf|MainShelfLayout|formLayout17|ShelfLayout // 
# Error: Object's window not found.
# Traceback (most recent call last):
#   File "<maya console>", line 7, in <module>
# RuntimeError: Object's window not found. # 

为什么

addShelfSeparator();
一开始就不起作用?它应该是执行此操作的“官方”工具。

python maya mel
© www.soinside.com 2019 - 2024. All rights reserved.