strange items(楽天)


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


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

2009年11月02日

shade用スクリプト その10(マルチリンク)

ポリゴンメッシュ編集時に頂点間にエッジを張るのをより効率化しようとして、こんなのを作ってみました。
今回はダイアログの使い方を覚えましたので、ダイアログを利用して結果の取り消しができるようになってます。
ダイアログの「cancel」を押せばやり直しが可能になっています。
(間違って「ok」を押して確定してしまった場合は、念のためクリップボードに元の形状がコピーされてますので、CTRL(WIN)/COMMAND(MAC)キー+Vなどで形状をペーストする事でもアンドゥできます。)
これにともない、先に公開してた「ベルト抜き」や「選択ポイントを球の表面へ移動」も、ダイアログ機能を追加して機能を改善しました。

ダイアログの初歩的な使い方はわかったものの、「文字だけ出す」方法がわからないため、ダイアログ内の文章はプッシュボタンで表示してるというちょっと不恰好な感じです……。


新)マルチリンク20130123.txt

旧)マルチリンク20120330.txt

旧)マルチリンク20110412.txt

旧)マルチリンク20100303.txt

旧)マルチリンク.txt

マルチリンク.txt(旧)


<重要>上位パートに変換がかかっている状態で、かつ一時ローカル座標モードかろくろモードONの状態でスクリプトを実行すると、「スクリプトの処理結果をキャンセルした際」に形状が破壊されてしまう不具合を修正しました。(2010.03.03)
修正前の旧版をお使いの方は不具合を修正した新版をダウンロードしなおしてください。
(メッシュツールプラスウィジェットでスクリプトを利用していた方はメッシュツールプラスの最新版をダウンロードしなおしてください。)
shade13.22で正常に動作するよう修正(2013.01.23)
shade13.01に対応(2012.03.30)
shade12.02に対応(2011.04.12)
「ダブルループ接合」モードで必要な関数が搭載されてない事によるエラーが出るのを修正しました。(2009.12.22)

「ダブルループ接合」モードで時々エラーが出るのを修正しました。(2009.12.20)
「ダブルループ接合」モードを追加しました。(2009.11.23)

shade10.5用。(for WINDOWS&MAC)
スクリプトウインドウにコピペして、そのまま実行するか、スクリプトウインドウの「保存」を押してshadeのスクリプトフォルダに保存してから、shadeを再起動してスクリプトメニューから選択して実行してください。


では、マルチリンクツールのご紹介をば。

モードが(現時点では)5モード搭載してまして、状況に応じて好きなモードを使用してください。
搭載しているモードは
・「選択順に対接合」
・「開始点へ総接合」
・「座標値で対接合」
・「選択順に連続接合」
・「ダブルループ接合」

となっています。
各々の内容は以下の画像つき説明をご覧ください。

<マルチリンク(選択順に対接合)>

マルチリンク01.png
上記は一つのポリゴンメッシュ形状ですが、ツールの機能をわかりやすくするため中央部の頂点を削除してます。

で、SHIFTキー+ドラッグなどで頂点を一つずつ選択に追加していき、以下のように順番に選択したとします。
マルチリンク02.png
対で接合していくので、選択頂点数は2個以上でかつ、2の倍数でないといけない点に注意してください。

で、「マルチリンク」スクリプトを実行し、「選択順に対接合」を選ぶと……
マルチリンク03.png
のように、選択の順番が1の頂点と2の頂点が、3の頂点と4の頂点が、5の頂点と6の頂点が………という風に対でエッジが一気に張られるわけです。


<マルチリンク(開始点に総接合)>

これは名前の通り、
マルチリンク02.png

マルチリンク04.png
のように1以外の頂点が、1とのエッジを一気に張るという機能です。(1と2、1と3、1と4、1と5、1と6・・・・・)
あらかじめエッジが張られている頂点セット(例えば1と3とか)ではエッジは改めて生成しませんが、1と5、1と7、1と9のようにエッジが張られてない(頂点を介さず直接つながっていない)ため、今回のような選択状況で「開始点に総接合」を実行してしまうと、「頂点1と5を結ぶエッジ」「頂点1と7を結ぶエッジ」「頂点1と9を結ぶエッジ」までが生成され、それらは重複辺となってしまいますのでご注意ください。
(重複辺・・・・一つの頂点から、『同じ方向』を向いたエッジが二本以上生成される。長さが同じ場合もあれば、長さが異なる場合もある。)

なお、重複辺ができてしまうと目視での検出および削除はほぼ不可能なため、これについては「重複辺検出」のスクリプトを製作して、検知して削除できるようにするつもりです。


<マルチリンク(座標値で対接合)>
マルチリンク05.png
上記のように頂点を選択します。
今回は座標値を使って対を作りますので、ちまちまと1個ずつ選択に入れる必要はなく、10個の頂点を一気に矩形ツールで囲んで選択しました。

マルチリンクの「座標値で対接合」を選択すると、さらに別のダイアログが出て、どの座標値を接合の指標とするか聞いてきます。
マルチリンク06.png
今回は上面図(真上から見ている状態・横がX軸、縦がZ軸)で作業しているので、X座標を指標としてみました。
すると……。
マルチリンク07.png
という風にX座標が近いもの同士で一気にエッジが張られるわけです。


<マルチリンク(選択順に連続接合)>

マルチリンク02.png
という順番で頂点を選択してる状態で、「マルチリンク」の「選択順に連続接合」を行うと、
マルチリンク08.png
1と2が結ばれ、2と3が結ばれ、3と4が結ばれ、4と5が………という風に選択順に連続で接合していきます。
このようにジグザグに縫う時や、ポリラン同士を格子状に編みながらモデリングする時に使うと効率良くエッジを張っていく事ができるようになります。


<マルチリンク(ダブルループ接合)>
頂点選択数が4個か6個の時のみ機能するモードです。

ダブルループ001.png
図のように内側の稜線と外側の稜線の頂点数がまったく同じ状態で、頂点を図の通りの順に4つ選択し、マルチリンクの「ダブルループ接合」を実行すると…
ダブルループ002.png
一瞬で各頂点同士にエッジを張ってくれます。

ダブルループ003.png
このようにちょっとずれて選択すると…
ダブルループ004.png
とずれた感じで接合されます。
頂点1と3の間にエッジを張り、頂点2と4の間にエッジを張り、2の隣の頂点と4の隣の頂点の間にエッジを張り……といった感じで止まるまでエッジを張っていきます。

注意点として、頂点1と2は直接エッジが張られている必要があり、同様に頂点3と4も直接エッジが張られている必要があります。
また辺12も辺34も、それぞれ隣接面が1以下でないといけません。(つまりポリゴンメッシュの端にある辺か、ポリライン上の辺でないといけない。)

ダブルループ005.png
のように頂点を6個図のとおりの順に選択した状態で「ダブルループ接合」を実行すると、
ダブルループ006.png
頂点3と6のところで処理を止める事ができるようになっています。
頂点を6個選択して途中で止める場合は、2から3までの頂点数と5から6までの頂点の数が同数であるように3と6を選択するよう気をつけてください。

shade標準のブリッジツール(faceツール)は条件を満たしていてもたまに動作しなかったり、ねじれてくっついてしまう事があるのですが、ブリッジ処理を行う面を両方削除してから頂点編集モードに入って4つだけ頂点を選択し、この「ダブルループ接合」を実行すると、簡単にブリッジ処理ができるようになります。
ダブルループ007.png
ダブルループ008.png
(ブリッジ処理を行う場合は、切り口の頂点の数が同じであることを確認してからスクリプトを実行してください。頂点の数が違う場合はスクリプトは動作しません)




と、まぁ以上のようなモードを搭載しているというわけです。
現在のモード以外にも、また役に立ちそうな機能を思いついたら、新たなモードを追加するかもしれません。

スクリプトメニューに登録した後、ショートカットキーに登録すれば、すぐにスクリプトを実行できるようになります。
お仕事、あるいはホビー用途でのモデル製作の作業効率を多少は高めてくれるのではないでしょうか。
本スクリプトがみなさんのお役に立てば幸いです。

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