python - maya/python 修改 modelPanel 布局和行为

标签 python maya

我正在用 python 编写我的第一个脚本。它应该只是一个 2 个选项卡脚本,在一个选项卡上将有角色选择器,在第二个选项卡上应该有一个带有面部 GUI 的相机 View 。

我想摆脱红色圆圈菜单(您可以在此处看到 http://postimg.org/image/fozvc010x/ )并以这种方式锁定 View ,禁止缩放和平移。

我尝试搜索 Maya 帮助,但对我来说不是很清楚。

我还附上了负责该 View 的代码。

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( '..' )

谢谢, 丹尼尔!

最佳答案

要摆脱红色圆圈菜单,请在命令 modelPanel 中尝试将 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)

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

关于python - maya/python 修改 modelPanel 布局和行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31262914/

相关文章:

python - 如何删除 pymel 中未使用的影响

用立方体替换对象的 Python 脚本

Python:依次等待协程列表

c++ - Maya API 到 C++

python - 在Python中的进程之间共享/使用对象

python - pydev 控制台已经存在

python - PySide QTreeWidget clear() 导致崩溃

python - 将随机颜色分配给灰度范围内的顶点

Python 装饰器添加了与 Python2 和 Python3 的关键字参数兼容性

python - self 属性不起作用python