Maya2016から変わったHyperShadeですが、これにあるMaterial Viewerの画像を保存できないか模索しました。
Material Viewerの部分は、modelEditorになっているようで、View Portなんかと同じ作りのようです。なので、OpenMayaUIのM3dViewを使えば簡単に画像保存ができました!
以下がそのPythonコードです。modelEditorの名前は、MELのグローバル変数「$gShaderBallEditor」に格納されています。
from maya import OpenMaya, OpenMayaUI, mel editorName = mel.eval('$gShaderBallEditor = $gShaderBallEditor;') view = OpenMayaUI.M3dView() OpenMayaUI.M3dView.getM3dViewFromModelEditor(editorName, view) image = OpenMaya.MImage() view.readColorBuffer(image, True) image.writeToFile(r'C:\test.bmp', 'bmp')
まれ、上手く保存できなくなって、Hyper Shadeを表示しなおすと治る、、、ぐぐぐ、、、