はじめに
先日蜘蛛の巣を作ったけど別バージョンの蜘蛛の巣を見つけたので作ってみた。
しかし垂れたロープとか蜘蛛の巣とかなんかカッコいいですね。
実際にあると避けるけどなぜなんでしょうね。
参照元
手順
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するなりして線に太さを持たせ、マテリアルの設定をすれば蜘蛛の巣の出来上がり