strange items(楽天)


shade10.5〜15用スクリプト(WINDOWS&MAC用)一覧はこちらです。


bannerst.jpg
リンク用のバナーです。
リンクはご自由にどうぞ。

2010年02月08日

shade用スクリプトその46(ビトウィーン選択)

新)ビトウィーン選択20130123.txt

旧)ビトウィーン選択120330.txt

旧)ビトウィーン選択110412.txt

ビトウィーン選択2010208.txt

shade13.22にあわせて修正(2013.01.23)
shade13.01に対応(2012.03.30)
shade12.02に対応(2011.04.12)



他のいくつかの3DCGソフトに搭載されている「ビトウィーン選択」機能をshadeでも使えるようにしてみました。
作った自分が言うのも何ですが、アルゴリズムがかなりアホですので、思ったような結果にならない事がままあります。

btw001.png
このように頂点が二個選択されてるとします。
で、この「ビトウィーン選択」スクリプトを実行すると…

btw002.png
間の頂点が選択に追加されます。

btw003.png
頂点だけでなく辺や面でも利用できます。
btw004.png

「エッジループ選択」や「エッジパラレル選択」同様、SHITFキーなどを押しながら追加選択を行うと、どんどん追加していけるようになってます。
「一番最後から二番目に選択に追加された頂点(辺、面)」を開始点として、「一番最後に選択に追加された頂点(辺、面)」へ辿りつくように選択が拡張されます。

btw005.png
こういう風に面が選択されているとして
btw006.png
二つ選択に追加してから「ビトウィーン選択」を実行すると…
btw007.png
と、どんどん選択に追加していく事ができるようになっています。


btw008.png
斜めに選択した状態でスクリプトを実行してみると…
btw009.png
ジグザグにつながりました。
実際はその時その時でつながり方が違ってきますので、斜めに選択して使用すると思ったようにつながらない事が多いです


btw010.png
こういう選択方法で実行すると…
btw010.png
選択は拡張されません。
頂点や辺、面を拡大していく方法として、「(一番最初は開始点に)隣接する頂点(辺、面)のうち、『終了点に一番距離が近いもの』を選択に追加する」→「追加された頂点(辺、面)のうち、『終了点に一番距離が近いもの』を選択に追加する」……以後終了点まで繰り返して選択を拡大していくのですが、その過程でループしてしまって終了点にたどりつけない場合は途中で処理をあきらめ、選択の拡張を取り消すからです。

btw011.png
距離によって経路を探索していますので、こういう球の頭らへんでの挙動とかはちょっとおかしいです。
上記のように辺を選択してスクリプトを実行すると…
btw012.png
となってしまいます。
思うような結果にならなかった場合は「キャンセル」ボタンを押して元の選択状態に戻してから手動で選択を追加するなどしてください。

btw013.png
距離で判定してますので、こういうケースでもつながらなかったりします。
うまくいった時は良いのですが、このスクリプトを使うより、自分で追加選択した方が早い場合もままあります。

posted by stxsi at 18:44| shadeスクリプト | このブログの読者になる | 更新情報をチェックする