はじめに
メッシュの頂点の一部を変えたいと思ったがやり方が分からなかったため、関連していそうなノードを見てみます
参照元
https://github.com/nortikin/sverchok/blob/master/docs/nodes/transforms/transform_mesh.rst
Transform mesh
機能
このノードはメッシュと取りパラメータに従って変形させます。移動、スケール、回転ができます。このロジックはBlenderがメッシュに対して行う操作に近いです。選択要素はマスク入力によって決定します。
カテゴリ
Transforms -> Transform mesh
入力
- Verts頂点
- Edges辺(オプション)、選択モードが辺の時は必須
- Faces面(オプション)、選択モードが面の時は必須
- Maskマスクモードに従う。Boolマスクか Indexマスク
- Originカスタムオリジンモードで利用可能なカスタムオリジン
- Space directionカスタムスペースモードで利用可能なカスタム法線
- Mask Index Indexマスクモードで利用可能なメッシュパーツのインデックス
- Direction変換ベクトル、回転モードの時の軸
- Factor変換ベクトルの因数、回転モード時の半径
出力
- Verts変形された頂点
パラメータ
- Transform mode 移動、スケールまたは回転
- Mask mode Boolマスクまたは Index マスク
- Origin mode 境界ボックスセンター、中央センター、個別センター、カスタムセンター
- Space mode グローバル、ノーマル、カスタム
- Selection mode 頂点、辺、面
- Direction mode XYZ またはカスタムな方向
Boolマスクと値分布 : Boolマスクはメッシュを選択、非選択に分けます。このノードはすべての選択中のメッシュにのみに変形を適用します。もし方向ベクトルのようなパラメーターが複数与えられた場合、それらは選択された要素間で分布します。結果として得られる方向ベクトルは、選択された要素パラメータの分布から平均値を求めて算出されます
Indexマスクと値分布:インデックスマスクは、異なるインデックスを持つメッシュの異なる部分をマークします。このモードでは、マスクインデックスソケットを介して与えられたインデックスと等しいインデックスを持つメッシュの部分にのみプロパティを適用します。
例
- index [1, 3] パラメータが [param1, param2]
- 1 でマスクされたすべてのメッシュのパーツがparam1に割り当てられる
- 3 でマスクされたすべてのメッシュのパーツがparam2に割り当てられる
- 他のすべてのパーツは変更されない
- 🤔まだよくわかりませんね
例
公式にあるので見てみてください
使ってみる
基本
- 🤔頂点、辺、面のいずれかを選択して移動させたり回転させたりという事ですね。Blenderの編集モードでよく行う操作ですね。という事はまずは選択するの必要がありそうです。
- XYのプレーンを配置
- Select mesh elements by location の By side モードでY軸方向の頂点を選択(赤い部分)
- Percent 50 として50%を選択
- 選択した部分のみ 1.19 倍にスケールアップ
- 🤔少し慣れが必要ですがうまく使えばかなり面白そうですね
土管
メモ
錆(Rust) Procedural シェーディング
参照元
- Color ramp中央でBumpの分布を調整
- Noise Texture(中央)で錆の部分
- 下のNoise Textureはきれいな部分の汚れ具合の為のBump
- 上のカラーランプも中央のNoise Textureを共有しているため錆のひどいところとそうでないところの色分けがリアルにできる