Maya Script Pymel ハードエッジの選択
以前Pythonでハードエッジの選択をするものを公開しました。
Pymelだとエッジのメソッドにハードエッジの検出をする機能があったので、試しに作ってみました。
import pymel.core as pm pm.select([x for x in pm.ls(pm.selected()[0].node().e,fl=1) if x.isSmooth()==False],r=1)
ただし単一オブジェクトのみです。
そしてこちらが複数オブジェクト対応です。
import pymel.core as pm pm.select([z for z in pm.ls([pm.ls(y.e,fl=1) for y in set(x.node() for x in pm.selected())])if z.isSmooth()==False],r=1)
相変わらず、ここまでしてリスト内包表現に拘る必要はないだろう。
と、思っているのですが、何となくできないと悔しいので、やってしまいます。
それはともかく、Pymelだと簡単に書くことができます。
しかし、cmdsと比べて一つ一つの頂点を検索してゆくのは遅いような気がします。
やり方が悪いのでしょうか?
コメントする
トラックバックする
トラックバック用URL: