2022-07-18

【Geometry Nodes】Fillet Curveノード【Blender】

カーブの角を丸めるノードを解説。

Article Image
使用ソフトウェアバージョン備考
Blender3.2

Fillet Curve

日本語:カーブフィレット

Fillet Curveノード外観

概要

カーブの角を落として丸くするノード。

ベベルに似ていると思えば良い。

例えばStarノードで作ったカーブ

star

こちらにFillet Curveを適用すると

歯車のようになった

角が落ちて歯車のようになる。

出し方

Curve => Fillet Curve

Bezierモード

Bezierモード外観

コントロールポイント(カーブの頂点みたいなもの)1つに対して2個のコントロールポイントを用いて角を取る。

上の歯車の見れば分かるが、角の点が二つになっていることが分かる。

角の丸め方

注意点

このノードを通すと、全てのコントロールポイントに処理が入る。

つまり単純に点の数が2倍になるため処理負荷に注意しよう。

Radius

日本語:半径

半径設定の外観

これを大きくするとより広く角が取れる。

いくつか試したが厳密な距離コントロールが難しいので、直感で使う事が多いと思う。

Radiusをあえて大きな数字に

Radiusをあえて大きな数字に設定すると、反転するような方向に拡張されていくので模様のようなものを簡単に作ることができる。

ネットで調べるとコレで遊んでいるユーザーも多いようで一番楽しい部分かもしれない。

模様

どちらも同じStarをベースにしているが、どんどん変化する。

模様2

Limit Radius

日本語:半径を制限

半径を制限の設定外観

カーブをメッシュに変換するような例では、Radiusが大きすぎて反転した場合に生成されるポリゴンに不具合が生じる可能性がある。

Limit Radiusをチェックしておけば反転方向にいかないように制限できる。

カーブがぐちゃぐちゃ

Limit Radiusで制限して補正

Polyモード

Polyモード設定

Polyモードにすると設定項目が変化する。

Count

Bezierモードでは自動的に2個ずつの点が追加されたが、Polyモードではこの数を更に増やすことができる。

よって、こちらを増やすことでよりカーブをなめらかにすることが出来るが、点の数が倍々で増えるので慎重に設定する。

Count設定項目

特定の角だけ丸める

RadiusCountはフィールドなので、特定の角だけ狙って丸める事ができる。

Index2だけ丸める

このノードでIndex=2の角だけ丸めているので

1箇所だけ丸められている

対象の角にだけ適用されていることが分かる。

処理負荷が高い可能性があるノードなので、必要な箇所だけ丸めるだけで良い場合は必ず使っていきたい。

作例

個人的にStarを丸めるだけのたった2ノードで歯車が作れるのが興味深い。

あまり複雑な計算はしていないが、サンプルとしてジオメトリノードだけで歯車を作って回転させてみた。

ノード例

数学的に難しい計算を入れていけばめちゃくちゃ複雑な物も作れそうだ。

この作例はハードコードした座標で並べてるだけなのでプロシージャルにギアを増やしたり、サイズを変えたりはできない。

PositionからLengthをとってスイッチしてるのは、単純に中央からずれているギアを逆回転させるためだけのもの。

ベクトルの長さが0より大きければTrueで認識される。

簡単にモデルを装飾してシェーディングして完成



謎の技術研究部 (謎技研)