- 2007/11/02 00:19
- 未分類
MayaPython触ってみた。
以前から言ってる通り、MELとPythonでは言語仕様が雲泥の差。
もちろんMELの簡潔さがあるからこそ
デザイナーがスクリプトをいじることが出来るわけで、
それに関して非難するつもりなんかないです。
でも、Pythonの方が強力であるというのは事実。
ということで、ツールを作ろうかと思ったときに、いつものMELではなくて、
今日はPython挑戦してみよう!ということで、挑戦してみました。
今日引っかかった点は何点かあったのですが、
僕がPythonになれてないから、というのがひっかかった一番大きな理由だったような気がします。。
まず、Tmp.pyで、Tmpというクラスを作成したとします。
それをimportして、例えば以下のようなことをやったとします。
import Tmp
a = Tmp()
これはOUT。エラーです。
正しいのはこう。
import Tmp
a = Tmp.Tmp()
MELのsource感覚でやってたからなぁ、これは気をつけないとイカン。
あとはPythonは多重配列が可能なので、ただの配列で返ってきてると思っても、
場合によってはリストのタプル、なんてことがあるようなので、気をつけないとダメ。
今日早速、2重配列を扱ってるつもりが、リストのリストのタプルになっていた。
つまり3重配列状態。これだと正しい情報のやり取りが出来ないので要注意。
あとは
import maya.cmds as mc
としてMELモジュールをインポートして使ってたんだけど、
どうしてもmc.を忘れていきなりgetAttr( xxx )ってやっちゃうから、
その都度エラー。
かといってfrom~を使うのはなんとなく嫌なので、
仕方ないからこれは慣れるしかなさそう。
あとMELみたいにドラッグ&ドロップでsourceとはしてくれないので注意。
外部ファイルを読むときは、importかfromを使って持ってくる必要アリ。
その際、ファイルはパスの通ったところにおいておく必要がある。
今日は暫定的にMELのと同じ場所をPythonディレクトリとして作業してたんだけど、
.pycが出来たりとか、あとはパッケージつくろうとかいう話になるとまたややこしいので、
個人的には、PythonはPythonで分けたほうがいいかも、という気がしました。
今までscriptsとしてたディレクトリ、今後はmelとpythonに分ける必要アリかな。
と、以上、ひっかかったところばっかり書きましたが、
やっぱり強力です、Python。
いろんなモジュール使って外部と連携できるのはすごく魅力的です。
MELではやりづらいことや不可能なことにも手が伸びていく感じはすごく楽しいです。
プロジェクトでも使えそうなパイプライン補助ツールとか、ガシガシ作るつもりだったので、
今後はツール類はPythonメインでツール作りしていく予定。
そんな感じで明日も引き続き。
- Newer: そういうことか。
- Older: external web browser
Comments:4
- hajime 2007/11/02
MayaのGUI言語は今後どうするのかね。
新機能はpythonで書かれたのも増えてきてるけど。MayaPythonはGUIが扱いにくいという評を聞いて、まだ躊躇。
- tai 2007/11/02
>hajimeさん
GUI、使い辛いらしいですね。
どうするんですかね。ちょっとハッと思ったんですけど、
実はHTMLエンジンのまともなのがあれば
GUIって全部それだけでまかなえちゃうのでは、と思いました。
ダメですかね、、今後MayaPythonがどういう方向で進化していくのか用チェックです。
- hajime 2007/11/04
FlashでGUI作っちゃえばクールじゃん!と思った人が世界にはずいぶん居たみたいですが、みんな重すぎると諦めたようです、はい。
- tai 2007/11/04
>hajimeさん
ぶはははwww
MayaでFlashライクなUI立ち上がったらめっちゃ笑いますww
さすがにそこまでは考えなかったwwというか、結局Flashもビットマップ自作してUI作ると、
別にHTML&CSSと変わんないわけなので、HTMLでも頑張りすぎると重くなるのかもしれませんね、、、でもMaya de Flashみて見たかったww