[ MEL ] Render Viewのイメージを全部保存

という動作のMELを書いてみた。

簡単に作ったシーンでvisibilityにキー入れてbatchしたら、
なぜか順繰りに全部表示されていったので、そんなウンコタレbatchなんか使わねーよ!
ということでGUIでRender、保存の繰り返し。
さすがに面倒だったのでMELにしてみた、という寸法です。

っていうかhighend3Dとかに既に高機能なやつがありそうだけど、DIY精神で。
というかこの程度のものなら探すよりも作ったほうが早い。

ところでDIYってDo It Yourself!の略って知ってましたか。
まさかこんなに簡単な英語だとは知らなかった。


以下ソースコードです。

———————————————————————–
// Render Viewの中のイメージ全てを所定の場所に保存。
{
string $path = “D:/mayaImage/”;
string $scene = basenameEx( `file -q -sceneName` );
int $min = `intScrollBar -q -min scrollBar`;
int $max = `intScrollBar -q -max scrollBar`;
int $i = 0;
for( $i=$min; $i<=$max; $i++ ){   intScrollBar -e -v $i "scrollBar";   renderWindowScrollDisplayImage "renderView";   string $file = $path+$scene+$i+".tif";   renderWindowSaveImageCallback "renderView" $file "TIFF"; } } ----------------------------------------------------------------------- // 全フレームをRenderViewにRenderしてStock { int $st = `playbackOptions -q -min`; int $ed = `playbackOptions -q -max`; int $i; for( $i=$st; $i<=$ed; $i++ ){   currentTime $i;   // render   renderWindowRender redoPreviousRender renderView;   // stock image   renderWindowMenuCommand keepImageInRenderView renderView; } print "// Finish Render\n"; } ----------------------------------------------------------------------- と、こんな感じです。 この二つはきちんとツールになってたら便利だなぁと思うので、いずれまとめるとかまとめないとか。 今拡張子とか選べないけど、いずれ選べるようにせねばと思います。 まぁそんなに手間じゃないかも、この程度なら。 あと、現状だとrenderViewが立ち上がってないとSaveする方は使えません。 なんたってscrollBar(RenderViewのスクロールバーの名前)がシーンに存在している前提で書いてますから。 そんな非常にやっつけなMELなので、ご使用になられる場合はご注意くださいませ。 ところでbasenameExってすんげー便利です。 例えば、basenameEx( "D:/hoge/foo/bar/mayaScene.ma" ); としてやると、 なんとmayaSceneだけが返ってきます。 これを応用して、basenameEx( "blinn1.outColor" ); としてやれば、 blinn1だけが返って来るという寸法です。 内容的にはtokenizeしてどうのって話なんで、こんなものは誰にでも作れそうなもんですが、 自作しなくていいってのは楽でいいです。気楽に使える。 兄弟分としてbasename、dirnameなどもあります。こちらも便利です。 今までずーっとtokenizeしてたことを思うと楽過ぎてならない。

「[ MEL ] Render Viewのイメージを全部保存」への2件のフィードバック

  1. mentalRayならvisibilityアニメーションするときはRenderGlobalでちょいと設定が必要なのだけど。。。

  2. >hajimeさん
    あーーーそうなんですか。
    知らなんだ、、

    前からrenderviewにストックしたやつ全部一気に保存したいなぁとは思っていたので、
    visibilityがアレだった時点でMEL書き始めてました。

    結果オーライ!です!

    RenderGlobalの方も調べておきます。
    ありがとうございまーーす。

コメントを残す

メールアドレスが公開されることはありません。