Playblast查询压缩

时间:2018-01-08 13:56:35

标签: python maya mel pymel

我正在为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']

但它不起作用,因为,当然,查询标志只允许布尔...

1 个答案:

答案 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'))