Material Viewerを画像として保存する




Maya2016から変わったHyperShadeですが、これにあるMaterial Viewerの画像を保存できないか模索しました。

hypershade

Material Viewerの部分は、modelEditorになっているようで、View Portなんかと同じ作りのようです。なので、OpenMayaUIのM3dViewを使えば簡単に画像保存ができました!

test

以下がその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を表示しなおすと治る、、、ぐぐぐ、、、







Maya x Pythonの技術書
たっきゅんのガチンコツール開発部 Maya Python 101
(CG Pro Insights)

もっとMayaを便利に使いませんか!?実用性のあるツールを例にPythonが学べるように、がんばって執筆させていただきました!是非、この機会によろしくお願いいたします!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です