strange items(楽天)


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


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

2009年11月11日

shade用スクリプトその19(選択辺を線形状に変換)

選択辺を線形状に変換.txt
不正な選択状態(ループ状の線1本と、それとは離れた線1本の計2本を選択してる状態)でスクリプトを実行すると、プログラムが無限ループしてしまうバグを解消しました。(2009.11.12)

ポリゴンメッシュ上の辺を1本の連なる線状に選択してる状態で、この「選択辺を線形状に変換」スクリプトを実行すると、選択辺の情報から1本の線形状を作りだしてくれるスクリプトです。

選択辺を線形状に変換001.png
例えばポリゴンメッシュを一つ選択し、編集モードの「辺編集モード」に入って、このように辺を選択してからこのスクリプトを実行すると…
選択辺を線形状に変換002.png
ポリゴンメッシュのすぐ下(弟階層)に選択していた辺そっくりの開いた線形状が作成されます。


選択辺を線形状に変換003.png
このように選択辺がループしてる場合は…
選択辺を線形状に変換004.png
「開いた線形状」ではなく、「閉じた線形状」が作成されます。

選択辺を線形状に変換005.png
このように選択辺が分岐してる場合は、1本の線形状には変換できないため、スクリプトは動作しないようにしています。


選択辺を線形状に変換したらどんなメリットがあるかというと……

選択辺を線形状に変換006.png
例えばこういう風に穴があいてるポリゴンメッシュ(ポリゴンメッシュ1)があって、穴の縁をエッジバウンダリー選択スクリプトなどで選択状態にします。
この時、選択している辺の数をよく覚えておいてください。(今回の例では10ですね)

選択辺を線形状に変換007.png
「選択辺を線形状に変換」を実行すると、穴の縁の線形状(断面の線形状A)が手に入ります。

選択辺を線形状に変換008.png
「開いた線形状」描画ツールで、横からの視点で掃引パスとなる線形状(線形状B)を描いてから、その掃引パス線形状を「記憶」します。
*shadeの掃引のルールに従って、できれば断面の線形状Aの中心あたりから描画を開始し、掃引パスの最初の方は断面の線形状Aの平面と直行するようにしてください。
選択辺を線形状に変換009.png
断面の線形状Aを選択してから「掃引」を実行すると、パスに沿って断面の線形状Aが掃引された自由曲面が作られます。
選択辺を線形状に変換010.png
できあがった自由曲面の、「自由曲面パート」を選択し、「変換>ポリゴンメッシュに変換」を実行し、「分割数(選択方向)」の値には、最初に覚えた辺の数(10でしたね)を入力し、「分割数(交差方向)」には好きな値を入れてください。(今回は20としました。)
選択辺を線形状に変換011.png
すると自由曲面がポリゴンメッシュ(ポリゴンメッシュ2)に変換されますが、まだ元のポリゴンメッシュ(ポリゴンメッシュ1)にはマージされていません。
選択辺を線形状に変換012.png
ブラウザで「パート」を作成した後、そのパート内にポリゴンメッシュ1とポリゴンメッシュ2を入れてから、パートを選択して「変換>ポリゴンメッシュに変換」を実行すると…
(変換の際の「曲面の分割」については、ポリゴンメッシュ1に角の丸めをONにしてる場合は「分割しない」を必ず選択してください。)
選択辺を線形状に変換013.png
ひとつのポリゴンメッシュにマージされます。
注:ポリゴンメッシュのマージを行うと、ポリゴンメッシュ1に設定していた表面材質情報はクリア(消去)されてしまいますのでご注意ください。 
断面の辺数は元のポリゴンメッシュ1と同じ10ですので、根元もしっかりとマージされています。


と、まぁこんな風に、この「選択辺を線形状に変換スクリプト」を実行してから、いくつかの手順を踏むと、稜線(穴の縁)を掃引パスに沿って掃引する事ができると。
(ただし表面材質情報はクリアされちゃいますけど。)

で、これらの手順も自動化して、もう一発で稜線を掃引しちゃおうというのが、次でご紹介する「選択辺を線形状に沿って押し出し」スクリプトです。

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