modo Script Python パースビューのワイヤーフレームオーバーレイ切り替え

# python
import lx

wlist = ["colored","uniform","none"]
lx.eval("select.viewport fromMouse:1")

if lx.eval("viewport.type ?")=="3Dmodel":
	cwcolor = lx.eval("viewport.3dView wireframe:?")
	nwcolor = wlist[wlist.index(cwcolor)-1]
	lx.eval("viewport.3dView wireframe:{0:}".format(nwcolor))

modoのスクリプトです。
今までどこかで拾ってきたのか知りませんが、パールで書かれたワイヤーフレームオーバーレイの切り替えスクリプトを使っておりました。
取り立てて問題はないのですが、「なし」、「同一」、「色付き」を順番に切り替える必要が出てきました。
で、Pythonで作ってみました。

 

実行するごとに順に切り替わります。
しかし、Mayaのスクリプト開発になれると、modoのスクリプト開発はちょっと大変だ。
エラーメッセージが明確ではない。
きちんとできているはずなのにおかしいなぁ、としばらく格闘しておりました。
原因ははじめに設定したリスト内でのスペルミスです。
エラーでは、index()メソッドにはリストは入らないよ。というようなことが出てきいました。
リストは入れていないのになぁ、としばらく途方に暮れてしまいました。
Mayaであれば、そんな文字列は入らないよ、とその文字列も表示してくれます。
Mayaにおんぶにだっこです。

 

しかし、頂点マップのスムーズ機能のバグは直らないのだろうか。
パーセントを設定しても効いてくれない。スキニングのノーマライズが効かなくなる。
頂点カラーはスムーズ後、カラーを設定しようとすると、正しく設定できない。
地味に不便だ。
スムーズ後に値を設定する場合は、そのマップをコピーして、新たなマップで設定し直すと回避できる。
というバグ回避の技が身についてしまった。
出来れば頂点カラーを画像として出力できるきちんとした方法もあるとありがたい。
実はウェイトマップの出力で裏技的にできることもあるが、それなりの頻度でmodoが落ちる。

コメントする

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トラックバックする

トラックバック用URL:

アニメーションが親切に解説されております

レンダリング、ライティングの基本が分かります

図版が見やすい美術解剖書です