Maya Script Python インポートされたモジュールの更新

小技が続きます。
Mayaでスクリプトを作る場合、エディタがついているので小さいものはそこで行うかと思います。
ただ、ファイルとして用意し、モジュールとしてインポートしているものはMayaを立ち上げ直さないと通常は更新されません。
なので、それを更新する方法を書きます。

import filename
reload(filename)
filename.functionName()

filenameと書かれた場所全てに拡張子(.py)を抜かした名前を書きます。
test.pyというファイルであれば「test」です。
functionNameと書かれた部分にはその中で使われている関数名を書きます。
3行目は、関数を実行するときに使うものなので、なくてもモジュールは更新されます。
いちいちMayaを立ち上げ直さなくても良くなります。

 

要するにPythonの標準関数として入っている「reload()」を使えばリロードができる。
というだけの話です。

 

しかしpymelには色々なメソッドが用意されていますねぇ、
仕事で使う小物スクリプトがだんだんと膨大なものになって来つつあります。
これを機に要素をクラス化してpymelで書きなおして完全オブジェクト指向に移行しようか。
などと考え始めました。考えただけですが。
そうしてゆくと、現状のゲーム制作における方向性のようなものが見えてきそうな気はします。
ただ、日に日に多様化してゆく作り方にどこまで耐えられるか。そう考えると面白そうでもあり、ゲンナリもします。

 

C++の勉強はほとんどストップしております。
というのも、そもそもそれを始めようと思った理由が、早さの追求でした。
しかし、Mayaのプラグインとして公開されていらっしゃる方がいますが、
モデルの左右対称を検出するものがありました。
自分のパソコンで約1万ポリゴンのメッシュを検索するのに約5秒くらいでしょうか?
十分に早いのですが、試しにmodoの標準機能である、形状>対象ツール
を使って同じ事をすると、約3万ポリゴンのものでも一瞬で終わります。

 

なので、ちょっとヤル気が失せました。
それならpymelでできることを極めたほうが面白そうだ。
さらに、どうせプラグインを作るならmodoのほうが楽しそうだ。
そんなことを思ってしまいました。

コメントする

post date*

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

トラックバックする

トラックバック用URL:

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

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

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