maya/python修改模型面板布局和行为

maya/python修改模型面板布局和行为,python,maya,Python,Maya,我正在用python编写我的第一个脚本。它应该只是一个2个选项卡的脚本,在一个选项卡上会有字符选择器,在第二个选项卡上应该有一个带有face GUI的相机视图 我想摆脱红色圆圈菜单(你可以在这里看到),并以这种方式锁定视图,禁止缩放和平移 我试图搜索maya帮助,但对我来说不太清楚 我还附上负责该视图的代码 FacialGUI = cmds.formLayout() FacialPanel = cmds.modelPanel(camera = "facial_cam") cmds.form

我正在用python编写我的第一个脚本。它应该只是一个2个选项卡的脚本,在一个选项卡上会有字符选择器,在第二个选项卡上应该有一个带有face GUI的相机视图

我想摆脱红色圆圈菜单(你可以在这里看到),并以这种方式锁定视图,禁止缩放和平移

我试图搜索maya帮助,但对我来说不太清楚

我还附上负责该视图的代码

FacialGUI = cmds.formLayout()



FacialPanel = cmds.modelPanel(camera = "facial_cam")
cmds.formLayout(FacialGUI, e=True,
                            attachForm=[
                                (FacialPanel, "top", 0),
                                (FacialPanel, "left", 0), 
                                (FacialPanel, "bottom", 0), 
                                (FacialPanel, "right", 0)
                            ]) 


cmds.setParent( '..' )
谢谢,
丹尼尔

要摆脱红色圆圈菜单,请在命令模型面板中尝试将menuBarVisible标志设置为False

FacialPanel = cmds.modelPanel(camera = "facial_cam", mbv=False)
使用命令
mel.eval(“ToggleModelEditorBars”)
可以切换编辑器栏的可见性

如果要锁定缩放和平移,必须对摄影机对象执行此操作

编辑

否则,您可以通过以下方式拍摄场景的屏幕截图:

import maya.cmds as cmd
import maya.OpenMaya as api
import maya.OpenMayaUI as apiUI    


def grabViewport(directory, imageName, ext="jpg"):
    viewport = apiUI.M3dView.active3dView()
    viewport.refresh()

    img = api.MImage()
    img.create(1280, 720)
    viewport.readColorBuffer(img, True)

    filePath = os.path.join(directory, imageName + "." + ext)
    img.writeToFile(filePath, ext)


cmd.viewSet(front=True)
cmd.viewFit()
filename = "image"
dir = "c:/snapshots"
ext = "jpg"
imageName = filename + "_front"
grabViewport(dir, imageName, ext)

现在,您可以拍摄该图像并设置在面板中。

您好,很抱歉耽搁了,但我一直生病。我只是试着按照你的指示去做。mbv=false只起了一半作用。我的意思是他隐藏了文件阴影照明等菜单,但没有图标菜单。有什么提示吗?谢谢,Daniele如果你不需要旋转面部摄像头,一个解决方法可能是拍摄视口的屏幕截图。解决相机锁定和菜单可见性问题的方法找到了:使用
mel.eval(“ToggleModelEditorBars”)
切换工具栏可见性我做了一些测试。你的方式在我第一次打开窗口时起作用,但如果我第二次打开它,它会再次出现,第三次不会,依此类推。解决方案是在modelPanel中puttin me=False。不幸的是,这还不够,因为我无法控制网格、平移和缩放。到目前为止,最好的解决方案是使用cmds.modeleEditor(camera=“facial_cam”,grid=False,ignorePanZoom=True)。不幸的是ignorePanZoom不工作,我不知道为什么。有什么线索吗?试着先创建一个模型面板,然后在创建模型编辑器时用标志面板“分配”该面板。