我正在为Maya开发一个自定义的playblast工具,我遇到了一个关于如何查询每种格式的可用压缩以执行playblast的小问题。
我可以使用:
constructor(props) {
super(props);
this.role = window.localStorage.getItem('role');
}
我得到的结果是import pymel.core as pm
availableFormats = pm.playblast(query = True, format = True)
print availableFormats
。这很好,但现在我需要压缩选项。
当我使用
时['qt','avi','image']
我明白了:
import pymel.core as pm
availableCompressions = pm.playblast(query = True, compression= True)
print availableCompressions
'avi'格式的压缩选项。
所以,问:
如何查询特定格式的压缩?
我试过传递:
[u'Codec IYUV', u'MS-RLE', u'MS-CRAM', u'MS-YUV', u'Toshiba YUV411', u'TSCC', u'TSC2', u'none']
但它不起作用,因为,当然,查询标志只允许布尔...
答案 0 :(得分:1)
这似乎是一个python绑定错误。 梅尔做的事:
whatIs changePlayblastFormat;
// Result: Mel procedure found in: /path/mayaxxxx/scripts/others/performPlayblast.mel //
您可以发现他们查询的编码格式如下:
string $selectedFormat = `optionMenuGrp -q -value playblastFormatWidget`;
string $lEncodings[] = `playblast -format $selectedFormat -q -compression`;
所以我的建议是在这种情况下使用melval:
pm.mel.eval('playblast -format "{0}" -q -compression;'.format('qt'))