Maya Python播放预览进度条

2024-09-29 10:30:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经创建了一个做playblast的脚本,我也为它制作了一个小Ui,只是为了显示playblast的进度,但是我不知道如何将进度条与脚本绑定,因此这里不需要什么帮助

这是Playblast脚本

import maya.cmds as cmds
import os
srtfrm = cmds.getAttr('defaultRenderGlobals.startFrame')
endfrm = cmds.getAttr('defaultRenderGlobals.endFrame')
filePath = cmds.file(q=True, sn=True)
fileName = os.path.basename(filePath)
plbPath = filePath.replace(fileName,"")
cmds.playblast(f=plbPath+fileName[:-3], fo=True, fmt='qt', c='H.264', w=1280, h=720, p=100, qlt=100, orn=False, st=srtfrm, et=endfrm, v=False, os=True)

这是用户界面

import maya.cmds as cmds
winID= 'PlayblastUI'
if cmds.window(winID, exists=True):
    cmds.deleteUI(winID)
window = cmds.window(winID, title='Make Playblast', resizeToFitChildren=True, sizeable=False, tlb=True )
cmds.columnLayout()
progressControl = cmds.progressBar(maxValue=100, width=325)
cmds.setParent('..')
cmds.rowColumnLayout(numberOfRows=1,rowHeight=(5,5))
cmds.setParent('..')
cmds.rowLayout(numberOfColumns=2)
cmds.button( label='Playblast', w = 200, command='cmds.progressBar(progressControl, edit=True, step=1)' )
cmds.text(label='     AnD CGI © 2020', font='smallPlainLabelFont')
cmds.setParent('..')
cmds.showWindow()

Tags: import脚本falsetrueosasfilenamewindow
1条回答
网友
1楼 · 发布于 2024-09-29 10:30:57

如progressbar(progressbar help)命令的文档所示,在执行进度期间(在创建playblast期间),必须以步长调用该命令。由于playblast命令本身不允许在爆破期间使用回调,因此可以尝试使用在帧更新期间调用的scriptJob或为每个帧执行的表达式

相关问题 更多 >