我正在用 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/