Maya Script Pymel バインドされたメッシュを選択

import pymel.core as pm
pm.select([x.getParent() for x in pm.ls(s=1)if x.listHistory(type="skinCluster")])

シーン内にある、バインドされたメッシュだけを選択したい。
そんな時はないでしょうか?
いちいち覚えていられないし、色を変えるのも面倒くさい。
そうなると、メッシュを選択して、入力を確認する。というとても面倒くさいことになる。
で、Pymelで作りました。
一行でできてしまった。素晴らしい。

 

シーン内のシェイプノードのリストを取得し、ヒストリーを見てスキンクラスターが存在するものだけを選別、
選別されたシェイプの親のノード、要するにトランスフォームノードを取得。
それをセレクトコマンドに放り込む。

 

Pythonのリスト内包表現は楽しい。パズルみたいだ。
どうもPythonでMayaAPIを使うにしても、Pythonらしい書き方はできないようだ。
恐らくCに最適化されているためだろう。ポインタや参照があることが前提になっているように思う。
ますますMayaAPIから遠ざかってしまいそうだ。
Pythonの弊害は他の言語で書くのが億劫になってしまうことのように思えてくる。

コメントする

post date*

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

トラックバックする

トラックバック用URL:

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

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

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