2017/06/22

MELからPymelに変換するツール


昔書いたMELをいつかPythonに変換したいなと思いつつも
面倒さが勝ってしまってなかなか進まなかったのですが、
何気なしに検索してたらMEL → Pymel 変換ツールあるやんけ。

https://www.highend3d.com/maya/script/ezmel2python-for-maya

めっちゃべんり。一瞬で書き換え終了。
多少変なところが出る部分もあるけど
そこを直すだけなのでめちゃくちゃ楽ちんになった。

しかし中身見ると39行とそんなたいした文章じゃないしどうなってるのと
解析してみたらmel2pyってモジュールがあったのね。知らんかった。
pythonからMELもあるみたい。

http://rigging.hateblo.jp/entry/2013/10/01/223043




2016/12/01

非表示フェースの割当て

知らなかったんだけど、こういう機能があったのね。

https://knowledge.autodesk.com/ja/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2016/JPN/Maya/files/GUID-4B408DD0-D0E7-48E4-8CCE-BE859C73B00D-htm.html

選択したフェースを非表示フェースに指定して、InvisibleFacesで表示切り替えをやる機能。一見便利に見えるんだけど、どのフェースが非表示設定になってるかひと目ではわからない。

そして、レンダリングしても表示されない 。
ビュー上では表示されているのでかなりわかりづらい罠


フェースがレンダリングされないときこの項目チェック。

polyHoleFaceとうノードが追加されているので削除すればいい。

2016/07/29

exrに余白を付けてレンダリングする

先日いろいろ調べてたら、exrに余白付きでレンダリング出来ることに気がついたのでメモ。


mayaだったらここにメタデータ書き込めばexrのデータが上書きされる。
レンダー設定のイメージフォーマットオプション。

 カメラの情報だとかいろいろ書き込めるみたいで応用すればいろんなことが出来そう。

ここにこんな感じで書き込む。

displayWindow=(20,20,2067,1171);

そうすると表示範囲を指定できる。

nukeでその画面を表示すると下のような画面になる。


 レンダリング自体は余白部分まで出てるけど、nukeの扱い自体はdisplayWindowの数値を見てくれる。

 レンズの歪みとかボケ系のエフェクトを入れるときにそのまま与えてやれば領域外の部分を使ってくれるのであまり考える必要が無い。
 一部ノードによってはダメな場合もあるけど:(


毎回書き加えるのは面倒なのでPreRenderMelとPostRenderMelにスクリプトを書き加えてあげれば簡単にオーバースキャンの画像を作ることが出来る。
例えばこんな感じとか。(レンダラーVRayの場合)

PreRenderMEL
int $overscan = 100;
int $width = getAttr ("vraySettings.width");
int $height = getAttr ("vraySettings.height");

string $cameraNode[] = `lsType("camera")`;
string $nodes;
for($nodes in $cameraNode){
    if ($nodes != "<done>"){
        if(`getAttr ($nodes + ".renderable")` == 1){
            $getPostScale = `getAttr ($nodes+".postScale")`;
            setAttr ($nodes+".postScale",($getPostScale * $width / ($width + $overscan)));
        }}}
       
setAttr ("vraySettings.width" ,($width + $overscan));
setAttr ("vraySettings.height" ,($height + $overscan));
setAttr -type "string" vraySettings.imgOpt_exr_attributes ("displayWindow=(50,50,1009,589);");

PostRenderMEL
int $overscan = 100;
int $width = getAttr ("vraySettings.width");
int $height = getAttr ("vraySettings.height");

string $cameraNode[] = `lsType("camera")`;
string $nodes;
for($nodes in $cameraNode){
    if ($nodes != "<done>"){
        if(`getAttr ($nodes + ".renderable")` == 1){
            $getPostScale = `getAttr ($nodes+".postScale")`;
            setAttr ($nodes+".postScale",($getPostScale * $width / ($width - $overscan)));
        }}}
       
setAttr ("vraySettings.width" ,($width - $overscan));
setAttr ("vraySettings.height" ,($height - $overscan));
setAttr -type "string" vraySettings.imgOpt_exr_attributes "";
 スクリプト作って自動で書き込んであげるようにすればいちいち面倒な計算しなくてすむ。やったね!


追記
公式でoverscanの項目が追加されたみたい。
 めんどくさいことはしなくて済みそうだ。



2016/03/11

VRay Ligthtをオブジェクトの変形に追従させる

VRay Lightなどのロケータを変形するオブジェクトに追従させるには




上記のように追従させたい場所にライト、ロケータを配置

変形するオブジェクトのvertexを選択、Shift押しながらロケータを選択
 Constrain>PointOnPolyを実行

するとロケーターが追従するようになるので
そのロケーターにライトを親子付け


 オブジェクトを変形してもライトは追従します。


2016/02/25

MayaからNukeへのオブジェクト、カメラの書き出し

いままでFBX使ったりしてたけど、alembicでやると超簡単。

Maya Expression Editorがメモ帳で開いてしまう問題

Expression Editorが勝手にテキストで開かれるようになっちゃうことが多々あり、設定を忘れてしまいがちなのでメモ

C:\Users\(ユーザ)\Documents\maya\2016\prefs
 userPrefs.mel

を開いて、

 -iv "EEexprEdTextEditor"

を検索

 -iv "EEexprEdTextEditor" 0

になってると思うので、

 -iv "EEexprEdTextEditor" 1

に変更する。

そしたら元のExpression Editorが立ち上がるようになる。
設定ファイルを直接いじらせるとかMayaらしいというか。。

2015/11/26

マウスについて

先日使用しているマウスがチャタリングが発生するようになり壊れてしまいました。
ただのクリックがダブルクリックになる現象でドラックもままならず。。
早速新しいマウスを購入したのですが、これがまた随分と使いづらく、ストレスが溜まります。
3D作業をやる上で1ピクセル単位の使い心地は致命的に作業速度が変わります。

今まで使用していたマウスは、
LOGICOOLのゲーミングマウスでした。


有線ですがかなり動きがよく、細かい動きにも追従してくれます。
設定で動きを調整したり、重りの数を変えて軽さを調整したりもできます。

今現在、家で使っているマウスもLOGICOOL製のレボリューションMX-Rを使っています。



こっちは高速スクロールに親指スクロールとかなり多機能。
 無線ですが、全く遜色なく使えています。
充電スタンドが必要ですが、そんなに電池切れすることはありません。
 このマウスを触っちゃうと他に移れなくなるぐらいの使い心地のよさ。

なぜこのふたつを紹介したかというと、
壊れたマウスと同じものを買おうと思ってアキバの電気屋に行ったわけですが、
どこを探しても同じ型番のものが置いていない。
最新機種が出ているようで、全部それになっていました。

試供品を触ってみたのですがどうもしっくりこず、、
一番手に馴染んだものを買ってきたわけですが、動作がひどすぎる!というわけ

amazonとかカカクコムで同じ型番のマウスを探してみると、
なんと3万~5万と3倍以上の値段になっている。中古でも1.2万もする。。
在庫がなくなってプレミアが付いてしまったというわけですね。

というわけで同じものを買うのは断念。
壊れたマウスは修理しようと思います。
 LOGICOOLさん、すっごくできの良いマウスなので変に改良せずそのままのマウスも買えるようにしてください。



余談
ロジクール製マウスの左スクロールを中ボタンに設定するとmayaやmaxの操作が劇的に楽になります。
中ボタンってどのマウスも変に押しこむ必要があって使いにくいですよね。
3ボタン式もあるけどめっきり見なくなってしまったし。