strange items(楽天)


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


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

2010年02月28日

shade用スクリプトその53(ガイドラインスケーリング)

新)ガイドラインスケーリング20130123.txt

旧)ガイドラインスケーリング120330.txt

旧)ガイドラインスケーリング110412.txt

旧)ガイドラインスケーリング20100303.txt

旧)ガイドラインスケーリング20100228.txt

<重要>上位パートに変換がかかっている状態で、かつ一時ローカル座標モードかろくろモードONの状態でスクリプトを実行すると、「スクリプトの処理結果をキャンセルした際」に形状が破壊されてしまう不具合を修正しました。(2010.03.03)
修正前の旧版をお使いの方は不具合を修正した新版をダウンロードしなおしてください。
(メッシュツールプラスウィジェットでスクリプトを利用していた方はメッシュツールプラスの最新版をダウンロードしなおしてください。)


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



他3DCGソフトにあるようなテーパー(先細り)ツールを作ろうと思い、いつの間にかできあがったのがこの「ガイドラインスケーリング」というスクリプトです。
テーパーツールとしても使えますが、ガイドラインでより柔軟に形状を変形できます。
なお、ローカル座標モードや上位パートに変換がかかっている場合は結果が不正になりますのでご注意ください。

ガイドラインsc001.png
こういう形状を
ガイドラインsc002.png
ガイドラインの形に従って
ガイドラインsc003.png
という風に変形できます。


ガイドラインsc004.png
座標ごとの「固定」オプションを使えば、特定の軸に関しては移動させず側面だけ変形という事もできます。

ガイドラインsc005.png
オブジェクト全体だけでなくオブジェクトの一部のみ変形も可能です。

ガイドラインsc006.png
ガイドラインをこういう風にすると
ガイドラインsc007.png
テーパー処理も行えます。


<使用方法>

ガイドラインsc008.png
変形の効果がわかりやすいように16x16x16の立方体でご説明します。
まずポリゴンメッシュを選択し、頂点選択モードで変形したい頂点のみ選択状態にします。
今回の例ではオブジェクト全体を変形するため、全ての頂点を選択状態にしました。

この状態で、「ガイドラインスケーリング」のスクリプトを実効すると、まずガイドライン作成のためのダイアログが表示されます。

ガイドラインsc009.png
ガイドラインの向きを決めます。
今回はY軸と平行なガイドラインを作成するため、「Y軸と平行」を選択しました。

ガイドラインsc010.png
正面図で見て選択していた頂点群を囲む立方体の少し右側に矩形と、選択状態になっている1本の縦の線が追加されたのが確認できると思います。

ガイドラインsc011.png
ブラウザではポリゴンメッシュの下に「gscaling」というパートが作成され、「yガイドライン」という名前の開いた線形状と、「~基準線」という名前の自由曲面(「開始ライン」と「一倍ライン」という二本の縦線で構成)が作成されています。
ちなみにガイドラインの軸を「X軸」にした場合は上面図で見て選択部のやや下の方に矩形とガイドライン(横線)が追加され、ガイドラインの軸を「Z軸」にした場合は右面図で見て選択部のやや上の方に矩形とガイドライン(横線)が追加されます。

ガイドラインsc012.png
わかりやすいようにガイドラインの上の点を左にずらしてみました。
ガイドラインsc013.png
さらに色をつけてみました。
赤色の縦線が「開始ライン」となり、緑色の縦線が「一倍ライン」となります。

ガイドラインsc014.png
ガイドラインは開いた線形状ですので、コントロールポイントを追加したり削除したり、ハンドルを引き出したり折ったりして好きなように形を変形できます。

ガイドラインsc016.png
この「ガイドラインスケーリング」というスクリプトは、軸を中心とした拡大縮小処理を行うのですが、各頂点がどれだけ軸方向へ拡大縮小されるかは、各頂点と同じ高さにあるガイドライン上の点の位置で決定されます。
例えば黄色いライン上にある選択頂点は、ガイドライン上の同じY座標(*)にある黄色い点がどれだけ「開始ライン(赤い線)」に近づいているかで後のスケーリング量を決定します。(*ガイドラインの軸がY軸と平行の場合)
「開始ライン(赤い線)」と重なっていたり、「開始ライン」より左になった場合は0倍にスケーリングされ(つまりスケーリングの中心に移動し)、右にいくにつれスケーリングの倍率が上がっていき、ちょうど「一倍ライン(緑の線)」と同じ位置になった時にスケーリングの倍率は1倍となり、さらに「一倍ライン」より右側になった場合はスケーリングの倍率が1倍以上となります。

実際に上記のガイドラインでスクリプトを実行してみます。
ガイドラインの変形が終わったら編集モードから出ずに、そのままブラウザで元のポリゴンメッシュを選択してください。
ポリゴンメッシュの頂点の選択状態は先ほどと同じ(全頂点が選択状態)になっていると思います。
この状態で「ガイドラインスケーリング」スクリプトを再実行します。
ガイドラインsc017.png
というダイアログが表示されますので、「変形を行う」を選択。
(ガイドラインを作り直したい場合は「ガイドラインの新規作成」を選択してください。)

ガイドラインsc018.png
というダイアログが表示されますので、各種設定を行います。

「スケーリングの中心」で各頂点が拡大縮小を行う中心位置を決めます。
ただしガイドラインの軸がY軸にした場合は、Y軸方向はスケーリングされません。(Y座標は元のまま)
同様にガイドラインの軸がX軸の場合はX軸方向は固定され、ガイドラインの軸がZ軸の場合はZ軸方向は固定されます。

「ガイドラインの分割数」は、ガイドライン上の点を参考にスケーリング量を決めるためにスクリプト内部でガイドライン(線形状)を分割するのですが、その分割量を決めます。
この数値が低いとガイドラインはカクカクに分割され、元の形状とは異なった結果になってしまいます。
デフォルトの500でいいと思いますが、より高い数値にすると精度が増します。(計算時間も増加します。)
元のポリゴンメッシュの頂点数がかなり多い場合はこの数値を高めにしないと変なシワが発生する場合があります。

「X座標固定」「Y座標固定」「Z座標固定」のそれぞれのチェックボックスは、これをONにすると特定の軸に関してスケーリングできないようにします。
例えばガイドラインの軸がY軸の場合はY軸方向は元々固定されているのですが、「X座標固定」をONにするとZ軸方向にしかスケーリングされません。

とりあえず「バウンディングボックスの中心」をスケーリングの中心とし、「X座標固定」「Y座標固定」「Z座標固定」はOFFで実行してみると…
ガイドラインsc016.png
というガイドラインの場合
ガイドラインsc019.png

ガイドラインsc020.png
という風に変形されました。

ガイドラインsc021.png
「Z座標固定」をONにした場合はZ軸方向には動きませんので、上記のような形になります。


選択箇所によっては中心位置の設定などにちょっとコツがいりますが、うまく使えばいろいろな加工ができるようになると思います。

ガイドラインsc022.png

ガイドラインsc023.png

ガイドラインsc024.png


ガイドラインsc025.png

ガイドラインsc026.png

ガイドラインsc027.png


ガイドラインsc028.png

ガイドラインsc029.png

ガイドラインsc030.png


なお、変形後に不要になったガイドライン(gscalingパートとその中身)は削除してもかまいません。

ガイドラインsc035.png
こういう角柱があったとします。
ガイドラインsc031.png
ちょっと多めの分割数ですが、縦方向に分割数200で分割してみます。

ガイドラインsc033.png
こういうガイドラインで変形すると…
ガイドラインsc034.png
独特の形の柱が瞬時に作成できます。
縦方向の分割数が200と多めの場合、ガイドラインの分割数も高めにしておかないと変なシワが発生する場合があります。
上記例では「ガイドラインの分割数」をデフォルトの500で実行するとシワが発生したため、5000にして実行してみました。
変化の少ない箇所にも無駄にポリゴンが使われていて、ちょっと極端な例ですが…。
(角ばってる柱なのに1本だけで1600ポリゴン近くもあったり…)

よく考えたらこういう柱なら普通に自由曲面の掃引で作れますね…。

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