はじめに
Sverchokを勉強したての時に発見した動画。
頑張ってノードに起こしてみたのと後学の為にまとめてみた。
柱のイメージ
柱の各部位
名称は参照元となる動画に従う
- 一番上の部分 Top Cap
- 柱の部分 Pillar
- 一番下の部分 Bottom Cap
そして Bottom → Top → Pillar の順で作っていく
作成手順
1. Bottom Cap を作成
- Bottom Cap はこのような構造となっている
- ここではわかりやすくするため最小限の細分化数としている
少し見づらいが、この順番(赤い印)の順で頂点を作成しすべてをつなげる事でBottomCapを完成させる
- 最初の3つの頂点の基礎となるノードを配置
- Generator → Generator Extended → Ring
- Curcular Section は2
- Exteriorにする
- Generator → Generator Extended → Ring
- Number → A Number を2つ配置
- Viz → Viewer Draw Mk3 を配置
- Ringの各出力を接続。これは参照用で以降接続を変えながら結果を確認していく
- 配置したRingの内不要な頂点を削除する
- Modifiers → Modifier Change → Vector Vertices を検索→クリックして配置する
- 内側の頂点以外が消えている事がわかる
- Bottom Capの高さ分頂点を上げる
- 2番目・3番目の頂点を作成する
- すべての頂点を接続する
- RingをMask VerticesでマスクしCap Height分上げた頂点
- Circle をCap height分上げた頂点
- Circle の頂点
- 上記3つをすべて接続するため、Modifiers → Modifier Make → UV Connectionを配置
- 底がないため底を追加する
- List → List Main → List Joinを2つ追加する
- 1つは頂点結合用でUv Connection のVerticesとCircleのVerticesを接続
- 1つは面の結合用でUv Connection のdata と CircleのPlygonsを接続する
- 頂点と面を結合する為、Modifiers → Modifier Change → Mesh Joinを配置
- List → List Main → List Joinを2つ追加する
Bottom Cap 完成
管理しやすくするためフレームを作成する
2. Top Capを作成する
Bottom CapとTop Capの構造上の違いは、Bottom Capは上に Pillar が来るため上の面に穴が空いているが、Top Capは下にPillarが来る為下に穴が空いているという点のみ。
という事でBottom Capを全部コピーして一部を修正し作業を終える。
- Bottom Capをすべて選択
- Shift + d でコピー
- g → ドラッグで上に移動させる
- Label名をTop Capにする
- 各種変数と接続する
- Bottom CapではRing + Circleの頂点を Cap Height分上に上げたが、柱のてっぺんとなる Circleのみ上に上げてるように変更する
- UV Connection の接続順に注意
- 1番上は Mask Vertices した後のままの頂点を接続
- 2番目にはCircleの頂点をそのまま接続
- 3番目にはCircleの頂点を Cap Height分足した頂点を接続
- 頂点のList Joinの2番めの接続は Cap Height分足した頂点を接続
- UV Connection の接続順に注意
Top Cap 完成
3. Pillar を作成
- Pillarの本体となるGenerator → Cylinderを配置
- 各種パーツの配置場所を定めるGenerator → Line を配置
- Size と Pillar Heightを接続
- Z axisにする
- Num Vertsは2のままにする
- それぞれの位置を取得するため List → List Struct → List Sliceを配置
- Data と Line の Verts を接続
- Level は1にする
Cylinder、LineとList Sliceに Frameを作成しラベルを Pillarとする
Pillar 完了
4. すべてを組み合わせる
・Pillar はCap Height 分上げる必要がある
・Top Cap はCap Height + Pillar 分上げる必要がある
- Vector → Vector In を配置し Z と Cap Height を接続する
- Transforms → Moveを2つ配置
- Pillarの配置を確定させる為、Matrix → Matrix Applyを配置
- Verticesには Cylinderの頂点を Move の結果を接続
- Faces にはCylinderのPolygons を接続
- Matrix には Pillar にある List Sliceの Sliceを接続
- Top Capの配置を確定させる為、Matrix → Matrix Applyを配置
- VerticesにはTop Capの Mesh Join の頂点を Move した結果を接続
- Faces には Top CapのMesh JoinのPolygonsを接続
- Matrixには Pillar にある List Sliceの Other を接続
- Bottom Capの配置を確定させる為、Matrix → Matrix Applyを配置
- Vertices にはBottom CapのMesh Joinの頂点を接続
- Faces にはBottom CapのMesh JoinのPolygonsを接続
- Matrix にはPillar にある List Sliceの Slice を接続
- Bottom Cap、Top Cap、Pillarそれぞれのデータを結合する為、List → List Main → List Join を2つ配置
- 1つ目
- それぞれのMatrix Applyの頂点を接続
- 2つ目
- それぞれのMatrix ApplyのFacesを接続
- それぞれのMatrix ApplyのFacesを接続
- 1つ目
- 頂点と面を結合する為、Modifiers → Modifier Change → Mesh Joinを配置
- 頂点を結合したList Joinの出力を Verticesに接続
- 面を結合したList Joinの出力を PolyEdgeに接続
- 重複した頂点を削除する為、Modifiers → Modifier Change → Remove Doublesを配置
- Verticesに Mesh JoinのVerticesを接続
- PolyEdgeに Mesh JoinのPolyEdgeを接続
- 法線を再計算する為Modifiers → Modifier Change → Recalc Normalsを配置
- VerticesにRemove DoublesのVerticesを接続
- Edges にRemove DoublesのEdgesを接続
- Polygons にRemove DoublesのPolygonsを接続
- 結果を確認する為、Viz → BV Alphaを配置
- Recalc Normalsの各出力を接続
- Recalc Normalsの各出力を接続
完成!
ノード全体図
最後に
Sverchokはパズルみたいで楽しい