Blender Sverchok 蜘蛛の巣を作る2

Sverchok

はじめに

先日蜘蛛の巣を作ったけど別バージョンの蜘蛛の巣を見つけたので作ってみた。

しかし垂れたロープとか蜘蛛の巣とかなんかカッコいいですね。
実際にあると避けるけどなぜなんでしょうね。

参照元

github.com

https://user-images.githubusercontent.com/3952687/34547703-4a901408-f151-11e7-9725-18a454db7b62.png

手順

1. 原型を作る

  • A Number は蜘蛛の巣の解像度で上げれば目が細かくなる
  • 上のNumber Range
    • 0.03 ~ 1.75の間の等差数列を作る
    • 0.03 は内側の円の半径
    • 1.75 は外側の円の半径
  • 下のNumber Range
    • 0 から A Number までの等差数列を作る
  • NGon
    • Radius に配列を入れる事で画像のような複数のNGonが作られる
    • Seed に入力している値は謎

2. 頂点を分離する

  • NGon の出力部分をみつと Vertices は8となっている
    • この値は一番最初の A Number の値と同じ
    • 現在五角形の線が8個見えており、それぞれの辺は頂点を共有している
  • Polygon Boom を配置し頂点を共有しないようにする
    • 出力の頂点数が 8 x 5 = 40 となっている事がわかる

3. 辺を分割する

  • 頂点を分割する
    • Number Range を配置、0 から 1 の間を count で割った等差数列を作成する
    • Vector Interpolationして Number Range の count 分で分割する
    • しかし頂点間の辺が失われている

  • 分割した頂点について辺を作成する
    • UV Connection を配置する

4. 蜘蛛の巣の形にする


Vector Inは蜘蛛の巣の中心を決める
– 0にしておくが好きな値が設定できる
– 頂点の配置を蜘蛛の巣のような配置にする
Vector Attraction を配置
– Falloff type を Inverse exponent – Exp(-R) にする
Clamp はチェックを外す
– Attractor type は Point にする
– 頂点の情報と辺の情報を結合しメッシュにする
– Mesh join を配置

5. 所々辺の無い蜘蛛の巣を作る

  • Mesh を頂点と辺に分離する
    • Separate Loose Parts を配置
  • 頂点と辺をマスクする
    • List Mask (out) を2つ配置
    • 乱数作成のため、Random Num Gen を配置
    • Mesh join にて再度頂点と辺を結合する

6. 内から外への放射状の線を作る

  • 一部分の辺のみ放射状に辺を作るために List Item を配置しほしい部分の頂点のみをフィルターする
  • フィルターした頂点を結ぶため UV Connectionを配置
  • 結んだ頂点を分割する
    • 現状だと円形に結ばれているのを放射状にするため List Split を配置
  • 結果をUVConnection で再度結ぶ

完了!

  • NGon の N sidesとList Splitは連動して変える。
  • 最初に配置した上のNumber Rangeのcountは目の細かさを修正できる
  • Random Num Gen の Size、Seed、Int Height を変えて抜け落ちる部分の調整

最後に

ノードをグループ化して手軽に作れるようにしてみた図

後はオブジェクトなのでCurveに変換して、Extrudeするなりして線に太さを持たせ、マテリアルの設定をすれば蜘蛛の巣の出来上がり

タイトルとURLをコピーしました