Vellum Brush [Mardini2024]

これはMardini2024のDay11 Vellum Brushの動画を視聴してまとめたものです。

[動画](https://www.youtube.com/watch?v=opGobrqboYk)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/5fc87edb-2597-8962-8f79-deac1f8f32f4.png)


[公式のサンプルファイル](https://media.sidefx.com/uploads/contests/mardini2024/moeen_videos/mardini_examples_day11_vellumbrush.zip)

[Day10 Karma Physical Sky](https://qiita.com/jyouryuusui/items/c420cf5e3af1a623eff4) | Day11 Vellum Brush | [Day12 Vellum Configure Grains](https://qiita.com/jyouryuusui/items/50c7f13cf5583fca4e84)


Vellum Brushを使うと、VellumジオメトリやVellum Constraintsをリアルタイムで操作し、シミュレーションの調整や方向付けができます。

# 要約

- Vellum Brushノードは、VellumジオメトリとVellum Constraintsを最小限のソルバーで処理し、リアルタイムな操作を可能にします
- シミュレーションのスカルプト、修正、セットアップなどに使用可能
- ブラシモードには、Brush、Drag、Contract/Expand(収縮/拡張)、Rotate、Crease/Ruffle(折り目/しわ寄せ)がある
- ブラシオプションで、重力、減衰、シミュレーションの動作を調整できる
- シミュレーション後のジオメトリも編集可能
- ヘアーやグレインにも適用できるが、一部のブラシモードは機能しない
- テトラヘドラルメッシュにも使用可能
- セルフコリジョンの有無で速度が変化する
- ノード内部を編集し、ブラシストロークを記録することも可能(非推奨)


# サンプルファイル

SOPのgeo1内に４つの作例が含まれています


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/c5c68d32-a0f7-2e27-c202-4fbadf0037e7.png)

Vellum Brushの基本操作
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/73fb9795-96f9-29a6-2f77-31b5fb8dd3d2.png)

Vellum Solverのポストシミュレーション　髪の毛編集
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/6ea345f2-0ca3-ada2-634b-6a450853a558.png)

グレインのVellum Brushでのシミュレーションと事後編集
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/e765264c-7a5b-59ef-a464-e75301e12357.png)

テトラヘドラルメッシュへのVellum Brush変形
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/0ec1a1dd-bab6-340e-ad0a-75aa52c84d03.png)


## 操作手順

### Vellum Brush SOPの基本
- Vellum Brush SOPは、VellumジオメトリとVellum Constraintsを使用し、最小限のソルバーを通して、リアルタイムでVellumとインタラクションできるようにするノードです
- このノードは、Vellumのスカルプト、シミュレーションの修正、シミュレーション用のジオメトリのセットアップなど、様々な用途に使用できます

### ブラシモード（Mode）とブラシ形状（Shape）

- Planar Patch、Vellum Constraints、Vellum Brushの順でノードを作成します
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/9eb0addf-28ad-d22d-a13c-edb2a07544a7.png)
- Planar PatchノードではBuild PlaneをZX Planeに、Edge Lengthを0.1から0.05、UniformScaleを2にします
- ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/e1eee61a-ab17-9a32-0ff3-b95be0152516.png)


- Vellum Brushには、複数のブラシモードとブラシ形状があります。モードは1から6の数字キーで切り替えることができます
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/7be3d167-771e-2d5e-924e-b21748508519.png)
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/6c208921-bfe7-c999-449c-992ddc4a1e26.png)


- デフォルトのブラシモードは**Brush**で、押す動作を行います。**Drag**は下からつまむような動作、**Contract/Expand**は縮小または拡大、**Rotate**は特定の場所を中心に回転させる動作、**Crease/Ruffle**はシワを寄せたりする動作です
    - Brush : 1
        - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/4ca71c18-2ec5-1fb5-868f-0936979d9333.png)
    - Drag : 2
        - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/acd00e8e-080a-87ed-c898-afb7a314c4e5.png)
    - Contract/Expand : 3
        - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/3a09c698-2590-3a42-a055-d6751f348664.png)
    - Rotate : 4
        - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/a7e32cea-c7cd-f5a7-56d2-9036d86294eb.png)
    - Crease/Ruffle : 5
        - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/58618710-1a10-393d-82cd-bf4f119857ec.png)
- ブラシの形状
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/9d2c2d83-2481-6d25-29b0-fffb81436781.png)
- 第3インプットのコリジョンジオメトリを指定すると、コライダーが自動的に適用されます
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/5fcd7140-7350-56f2-3862-a9c826dc2555.png)
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/71a51ba0-3cbd-9a08-eefd-a0d8eb230af1.png)
- 各ブラシモードには、Brushごとに固有の設定項目があります
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/6f866aa1-b6df-e096-38aa-30a07f41135b.png)


### フォースとシミュレーション
- Forcesセクションでは、重力をオフにすることができます。これらの設定は、クリック＆ドラッグ時に適用されます
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/831c9c72-ae1a-012e-6a95-36d80a2ac3f9.png)

- Dampedモードでは、マウスのボタンを押している間、シミュレーションが実行されます。Live Simulationをアクティブにすると、ブラシを修正するためにシミュレーションが継続的に実行されます
- Settleモードで、Live Simulationをアクティブにすると自由落下します
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/27a27211-3860-218c-99c1-35c90091ad70.png)

### コリジョンとVDBボリューム
- Collisionsセクションでは、Ground Planeを追加してコリジョンを設定できます
- External CollisionsをVDB Volumeに変更すると、シミュレーションの効率が向上します
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/2f1d9925-bb39-450b-7cd3-7ac169c16053.png)


### ポストシミュレーションの編集


- VellumSolverで数フレーム再生させます
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/78d4f753-cbcb-658b-ce80-01198052845e.png)
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/3ac39f27-e00e-751b-772c-25acbaafd674.png)

- シミュレーション後のジオメトリを編集する場合は、Vellum Solverの出力をVellum Brushに接続し、Input Frameを使用して編集するフレームを選択します
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/db336d6f-cb83-dbd9-1e3e-586a4a1f1180.png)
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/c5786952-2756-b130-8451-90d609257244.png)

- Reset All Changesを使用して、変更をリセットできます
- ヘアスタイルなどを修正する場合は、Brushモードで強度を上げてブラッシングし、Settleモードでシミュレーションを落ち着かせることができます

### グレインとテトラヘドラルの使用

- Boxに対してGrain Source（PointSeparation:0.005）、Vellum Configure Grain（Particle Size:0.005） のグレインを作成します
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/07ec39cb-4413-9cb6-ca8f-d9eae1dc9f2a.png)
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/1d0c691f-c1dc-ba24-bef7-18736dab12b6.png)

- Vellum Brushは、Vellum Grainsセットアップでも使用できます
    - 落下させる地面を設定します
        - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/48e79015-9056-be89-37e9-5f31f74f18d1.png)

    - Grain CollisionsのAttraction Weightを増やすことで、グレインのクランプ効果を得ることができます
        - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/53ded737-7fe3-ba24-ebaf-63694cf48533.png)

        - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/e828affa-f2e8-8ba2-8c34-23304e44bf67.png)

- RotateとBrushモードは、グレインやヘアーでも正常に機能しますが、他のモードは効果が限定的です
- Vellum Brushは、テトラヘドラルジオメトリ（Tet Conformを適用したジオメトリ）でも使用できます
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/5722c78f-9db6-27e4-aca8-d329fab75123.png)
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/3246b24f-6a8e-3686-46e8-29253d1a8a3c.png)
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/6e550a6d-4c85-fbd7-ab7e-f334f8091f98.png)
    - おもしろい！


### パフォーマンスとキャッシュ
- Self Collisionsをオフにすると、Vellum Brushの速度が向上しますが、ジオメトリが自己交差する可能性があります
- 内部のDOP Networkの Minimal SolverノードのCache設定を変更し、Object Mergeノードでロケーションを参照することで、ブラシストロークを記録できますが、これはノードに問題が発生する可能性があるとのことです

# まとめ

Vellum Brush SOPは、アートディレクションやシミュレーションの修正に優れたツールであり、様々な設定を試して最適な結果を得ることができます。