myara CG blog

CG Design Blog. Thoughts, experiments and experiences.

SI | mSelectContained ・ ブログ休止

Maya「Select Contained Faces」「Select Contained Edges」という機能があります。
選択されたポイントの中のポリゴン、また中のエッジだけを選択するオプションです。

これは結構使えますよね。

XSIには「Select Adjacent」しかないですね。多分。俺は知る限り。
これは余計なエッジも選択されてしまいます。


なので、XSI版を書いてみました。

こんな感じでした:

Select Contained Faces
--------------------------------
「ポイントが選択されている状態」

・ポイントを取得
・ポイントの周りのFacesを取得
・Faceの全ポイントは最初の選択に入っているか確認
・全ポイントが入っているFaceだけを選択する



これはめっちゃ遅いです。
色々頑張ってみたけど、遅い。

それで、思い出しました。RCToolsの「Select Outline」機能を。


Ray氏はコンポーネント取得とか、ループとかじゃなくて、
XSIに入っているコマンドを上手く組み合わせていて、違うアプローチで書いています。

RCTools- Select Outline
---------------------------------
「ポリゴンが選択されている状態」

・選択範囲の反転(ポリゴン)
・隣接するエッジを選択
・境界エッジを選択に足し
・エッジ選択範囲を反転
・エッジ選択取得(とっておく)
・ポリゴン選択に戻って、(選択は最初と同じ状態に戻ります)
・ポリゴンの反転選択
・隣接するエッジを選択
・この選択から、さっきとっておいたエッジ選択を解除。



みたいな感じです。


この考え方を自分のスクリプトで使ってみました。

Select Contained Faces
--------------------------------
・選択範囲の反転(頂点)
・隣接するポリゴンを選択
・選択範囲の反転(ポリゴン)



これだけです!

しかも処理はめっちゃ速い!


最後に、ポイント選択を元に戻すために以下のコマンドを追加しました:

・頂点選択にもどる
・選択範囲の反転
・ポリゴン選択に戻る


これでスクリプト出来上がり。


エッジバージョンも作って、プラグイン化して、完了!


※ 色々試してみたところで上手く行っていますが、上手く以下ない場合もあるかもしれません。
上手く行かない場合は是非報告をお願いします。
バグ直しは無料です。

mSelContained.gif


DOWNLOAD

インストール方法:
プラグインフォルダに入れるだけです。

例: C:\Users\myara\Autodesk\Softimage_2013\Application\Plugins

実行方法:
コンポーネント選択して、右クリックメニューに「Select Contained...」ボタンが出てきます。


----------------------------------------------
ブログ休止

仕事と引越しで色々忙しくなってしまった為ブログを書ける時間があまりないです。

ていうか、家にちゃんと使えるパソコンもないので、しばらくこのブログを休止にします。
今はSIも入っていない古いネットブックから書いています。

CGが出来るように環境を整えたらまたブログを復活します。

では、またいつか!