Blender Sverchok Polyline viewerノードを見てみる

Sverchok

はじめに

このノードの使用頻度はかなり多いもののちゃんと使い方を理解していなかったのと、新しくなったようなのでこれを機にみてみます。

Polyline viewer

参照元

sverchok/docs/nodes/viz/polyline_viewer.rst at master · nortikin/sverchok
Sverchok. Contribute to nortikin/sverchok development by creating an account on GitHub.

機能

この名前にかかわらず2つのタイプの曲線が生成できます: PolylineとNurbsです。入力する頂点は開始から終了の順で並び替えられて与えられている必要があります。生成する曲線は太さを持つことができます。もしベベルオブジェクトが渡されたら、それが生成された曲線にそって押し出されます。

カテゴリ

Viz -> Polyline viewer

入力

  • Vertices曲線に沿ってソートされている事を期待されている頂点
  • Matrix
  • radius生成される曲線の太さ
  • tilt生成された曲線のねじれをラディアンで指定
  • bevelobject 生成される曲線に沿って押し出すcurve タイプオブジェクト

パラメータ

  • Live更新されたときにのみ処理をする
  • Hide ViewView上に表示、非表示の切り替え
  • Hide Select 選択可、選択不可を切り替える
  • Hide Renderレンダリングを行う、レンダリングを行わないの切り替え
  • Base Nameこのノードによって作成されるオブジェクトとメッシュの名前
  • Random name ランダムな文字でランダムな名前を生成する
  • Select3d このノードで生成された曲線を3d View上で全選択する
  • Collectionコレクションを選択しておくとそのコレクションに生成した曲線を格納する
  • Material Selectこのノードによって生成された曲線にマテリアルを割り当てる
  • Add material 新しいマテリアルを作成し、曲線に割り当てる
  • Lock origin もし無効になっている場合、生成されたオブジェクトのオリジンはViewportから手動で割り当てる事ができる
  • Merge 入力されたジオメトリによって生成された全てのメッシュを結合して一つにする
  • 2D or 3D生成された曲線の次元
  • Bevel depth bevelのサイズを変更
  • Resolutionベベルの滑らかさを変更
  • Spline type NURBS または Polyline
  • Close生成された曲線を閉じる
  • Assign matrix to オブジェクトかメッシュどちらかにマトリックスは適用できます。オリジンの位置のみに影響します。もしマトリックスが与えられたら Lock origin オプションは常に真となります
  • Capsベベルされたカーブの終端をシールします

出力

  • オブジェクト

その他

例が公式にもあるので見てみてください

使ってみる

ベベルオブジェクトして四角い断面の曲線にする例

  • 青い枠でベベルオブジェクトを作成
    • PlaneのXの頂点数は4としている。おそらくこうしないときれいな四角い断面にならないため
    • PlaneをCenter作った時と非Centerで作ったときはBevel Objectとして使用した時に結果が異なる
    • ベベルオブジェクトとして使う場合の曲線はXY平面にある必要がある様子
    • Vector Sortで頂点の順番を接続順に並び替え
    • Polyline Viewer ではBevel depthを0にしないとベベルオブジェクトとして使用すると変になる
  • 黄色い枠でメインの曲線を作成
    • tiltは0~12.57(2*pi*2)として2周分の円を描くようにねじれるようにしている
    • Lineの頂点数に合わせてNumber RangeのCountも設定する必要がある
  • 最後のPolyline ViewerではCap(赤丸部分)を有効にしておくとキャップをしてくれて中が筒に見えなくなる

カテナリー曲線

  • 青い部分でランダムにPlane上にランダムなポイントを作成
    • 開始点と終了点を別々に140ポイント作成
  • 黄色い部分でカテナリー曲線(ロープを垂らしたような曲線)を生成
    • ランダムに生成したポイント間の距離をDistanceノードで算出
    • 算出した距離に係数を掛けてどれだけロープを垂らすかを調整
    • 開始点と終了点とロープの長さをCatenary Curveに渡してCurveを作成
  • 赤い部分で140本のロープの太さをランダムにするように乱数を生成
  • 最後にEvaluate CurveノードでCurveを頂点情報に変換してPolyline Viewerで作成

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