Constraintとかをする場合は圧倒的にVellum Grainsのほうが速い。つまり…ほぼVellum Grainsのほうが良い。
注意メモ
pscale
Pointに、float型のpscale
必須。「Points from Volume」などでPointにした場合は、Point Separationの半分をpscaleにする。
「Vellum Configure Grains」をアトリビュートの設定だけで使用するとpscaleも上書きされるので注意が必要。
Scatterなどで生成した場合は、pscale設定後にOverlapを回避する処理が必要。
isgrain
Pointに、int型のisgrain
が必須。絶対に忘れてはいけない。「Vellum Configure Grains」を使えば設定される。
「Vellum Solver」内の以下の部分でisgrainがあるかないか、で処理が変わる。
mass
Vellum Solverでデフォルトが適応されるが設定しておいたほうが無難。
Vellum Solver
Substepsを上げるとより良いコンストレインになる。最低でも5から始める。大体25とかあると結構良い崩れ具合になってくる(気がする)
Pointの作成
「Vellum Configure Grains」のCreate Points from Volumeだと、グリッド状のPoint配置しかできないため、「Grain Source」を使用してPointを作るほうが良い。
注意にあるように「Vellum Configure Grains」で必要なアトリビュートだけ作成するのはありだが、Grain Source段階とpscaleを合わせるのが手間。
pscaleとmassは「Grain Source」でも設定できるので、以下画像のようにisgrainだけ別途設定するほうが無難。
「Grains Source」ではpscaleは自動で設定され、massはCompute Massにチェックを入れることで計算される。
さらにJitter Scaleでグリッド状の配置をずらせるので使い勝手が良い。
Clusterの作成
Point化する前にVoronoiで割ってピースごとPoint化して…でもできなくはないが、重いのでPoint化後にCluster Attributeだけ作成するほうが軽い。
画像のように「Cluster Points」ノードで作成してもいいが、処理も重く細かいコントロールができないのでVOPなどで作成したほうが良い。
VOP
Point VOP内で以下のように組む。Voronoi Noiseのposの間に更にノイズを追加したりするのもあり。
このとき作成する__cluster
は実際の@clusterを作成する前の仕込み。
その後、Enumrateを以下のようのに設定し、int型のcluster Attributeを作成する。
Enumerate Piecesモードは多分18.5から追加されたモードのはずなので注意
Voronoi NoizeのSeedアウトプットは、ハッシュ値のような使いづらい値になっているため、Enumrateを使用して使いやすい整数に直している。
この方法は他の用途でも使えるので覚えておくと便利。
ノイズを追加した場合
posにノイズを挟んで上げると以下のように手軽に複雑なclusterが作成できる。
二重にする場合
作例動画の場合は、ノイズは足していないがclusterとclusterを更に細分化したpieceの2つを作成している。
Constraintの作成
まず「Vellum Constraint」のGlueで各ポイント間にコンストレインを作成。
先ほど作成したcluster間とpiece間で強度を変更するためにPrimitive Wrangleで直接breakthreshold
を書き換える。
Constraint Geometryの方にはcluster
とpiece
がないのでAttribute Transferで転送し、
異なるpiece
間の値を上書き。
同様に異なるcluster
間も上書き
breakthreshold
をVisualizeすると画像のようになる。赤が強く、青が弱い。
これにより、シムした際に最初にcluster
が分離し、さらにpiece
ごとに分離するっぽくなる。
色付けするとなんとなくわかると思う。
Upres
POP GrainsのUp Resと同じ方法でも良いが、せっかくなので別手法でupres
丸いだまになりがち。
simする前にN
を適当に作成する。(Grainは回転しないので後で作っても一応問題はない。)
ポイント番号からname
を作成
Timeshiftで止めたものに対してPoint Replicateをする。
ShapeをSphereにし、程よいUniform Scaleとちょっとのノイズを追加。アトリビュートの転送も忘れない。
これをTransform Piecesで動かす。
pscale
はお好みで程よい値に変更する。
ちょっとスポンジっぽくも見えるが、Replicateのおかげで断面にも少しディテールが出る。