SOP
どんなノードがあるのかあまり知らないので、なるべくメモする
sweep
線をGeometry化することに特化したノードだが、直線を起点に複数線を引いたりもできて便利
Surface Shapes をRoundやRibbonにして、Surface TypeをColumnsやRowsにすると線だけ抽出できる
Columnsの場合は、シェイプをconvert lineして、線上にcopy to pointsするのと同じような挙動
poly extrude
normalを検出して、押し出す
既存の向きのattributeを使うこともできる
ハンドルを使った押し出しもできる
boolean
subtract, intersectなど2つの形状から演算的に新たな形状をつくる
一般的に交差面の一致に注意する必要がある
x,y,z軸に直行する面は賢くやってくれるが、それ以外の面はかなり厳密になってしまい、意図と異なる結果になりがち
shatter
自己交差を解決して共有部分などを抽出できる
match size
バウンディングボックスを検出し、中央揃えをするのが基本として、
XYZそれぞれの端にそろえることもできる
各軸の最大の大きさも揃えることもできる
bend
capture regionを指定してその範囲内でポイント位置を曲げる
Set Capture Regionを押すことによってSceneViewから範囲指定することがきできる
SnapPointを有効化すればグリッドや頂点位置にスナップさせられる
curve
ポリゴンやベジェ曲線を描ける
曲線をいい感じに書くのは大変なので、まずカクカクにポイントをポリゴン(polyline)として打ってから、あとでSubdivisionをかけるといいカモ
subdivideかresample>Treat Polygon As: Subdivision Curve
https://scrapbox.io/files/689e9e9ae824f7e5777f5e45.png
find shortest path
メッシュ状にある開始点と終了点を指定すると、最短経路を構築する
point attributeのcostを指定すると、costが高いポイントを避けるように経路どりしておもしろい
たとえばcostをslopeやconcavityなどでつくってあげても良い
特定の地点から見た相対的な経路取りをするためには、ある地点から近傍の別地点にいくときの経路選択肢のなかから最適なものを選ぶ、ということもできる
例えば迂回するといった急斜面をジグザグにのぼるといった経路取りができる
Adjacency Array Attribute を有効化
有効な場合、ここには、各ポイントから配列内の番号のポイントの方向のエッジを追加するように指示したPointアトリビュートを指定します。 この場合では、オプションで Point Cost Attribute に、他のコストに加えて、それらのエッジに追加するコストに相当するエントリーを含んだ配列アトリビュートを指定することができます。
point attributeにi[]@neiboursとf[]@costを用意する
triangluate2D
点群に対して、dealuneyアルゴリズムによって三角形を与えメッシュ化する
ただしメッシュ化時に使うのは2次元の座標
heightfieldに対してscatterをしたものにtriangluate2Dを使うとremeshより高速に適度なメッシュが得られる
poly expand
2Dのポリゴンを法線方向に引き伸ばしたり、縮めたりできる
peakの2D版的
平面に限られるが、凹面のInsetありのPolyExtrudeの例外処理ができる
https://scrapbox.io/files/68a575e06ffad384be40fabb.png
fuse
近傍の点の結合
Snap To でGridを選択するとGridにスナップしたあとにマージできる
facet
プリミティブ単位のポイント操作
Unique Points: 頂点共有している点を分割する
split pointsと同じ挙動
Remove Inline Points
直線上のポイントを削除できる
scatter and align
scatterをするだけでなく、サンプリングされる面に沿った、向きのattributeを付与してくれる
attribute from pieces
基本的にはcopy to pointsを使う際に利用を考える
点群に対してPacked PrimitivesのPieceと対応するAttributeをルールベースで付与する
周期的に与えたり、乱数であたえたり
Wrangleでやるより定型化されている分、考える負荷は下がる
edgegroup to curve
group > include by edges > unshared edge でグループ化した部分をconvert line をするような感じ
distance along geometry
Geometry内のある点からある点までの距離を測る
直線上にchrampでアトリビュートをつくる手順を簡略化できる
maskを使えば、端点からの正規化位置に応じたrampアトリビュートがつくれる
output mask
resample からcurveuアトリビュートを出し、 point wrangle で f@mask = chramp("curve", f@curveu);とやるのと同じ結果
connect adjacent pieces
プレクサスをつくる
chain
鎖状にジオメトリを配置できる
copy to pointsに似ているが、Spacingやサイズ計算などがパラメータ化されている
point deform
近傍のポイントをrest inputとdeformed inputの差分に従って動かす
poly path
convert lineに似ている
エッジを全てpolylineにする
ラインを閉じて面を貼ることができる
Make Isolated Loop Closed
split points
facet > Unique Pointsに☑をいれるのとほぼ同じ挙動
attrib adjust
単一のアトリビュートに対して算術演算ができる
これはさすがにwrangleでやったほうがわかりやすいのでは…
soft transform
prim properties
error
Labs Tool
labs exoside quadremesh
軸に対する対称性を加味してQuad Remshをおこなえるため、きれいなQuadモデルができる
ボリュームからメッシュに変換したあとに使うなど
labs color gradient
UV展開系
uv unwrap
選択した平面数の多面体にプロジェクションする
planesを6に選択したらキューブにプロジェクションする
uv project
円柱、円(極座標)、正投影など投影した結果としてuvを得る
uv texture
uv projectに似ているがカメラによる透視投影など便利な選択肢が多い
labs auto uv
seamをつくる系のセットアップから展開まで一つのノードで行える
uv flatten
edgeを指定して、seamとすることで、展開する
展開時に、Primitiveの形状を保つ
展開図をつくるときに便利かも
uv auto seam
uv flattenのためのedgeグループを自動で生成してくれる
生成時のアルゴリズムはcurvature based、つまり稜線の角度がせり出ているかどうか
Volume系
vdb from polygon
polygonをsdf volumeの VDB に変換する 内側は負の距離、外側は正の距離
Heightfiled系
HeightfiledもVolume的に扱える場合が多い。volumesample()が使える
heightfield layer
heightfieldのとりまわしに使える
1st inputのmaskに2nd inputのmaskをコピーする
別のheightfieldからmaskだけひっぱってくるなど
heightfieldはレイヤーの取り回しが直感的でない(慣れを擁する)ので注意
すでにレイヤー名が存在しないと動作しない
heightfiled combine
一つのノード内にあるレイヤーを別のレイヤーに合成させる
heightfield scatter
通常のscatterはheightfieldでは動作しないのでこれを使う
向きやScaleのジッターなどもコントロールしてくれる
densityのコントロールはmaskが基本だが、すでにあるInstanceポイントからの周辺のような条件もできる
出力はheightfiledとinstance用のpointがあわせってしまっているので分けてもいいかも
KineFX系