Blender ClayPencilの基本的な使い方

株式会社GENEROSITYのCGデザイナーの丸山です。
アドベントカレンダー12日目、今回は最近発表されたBlenderのモディファイア、
ClayPencilの使い方について解説します。

## ClayPencilとは
2024年12月4日に、手描きと立体表現の間のような絶妙な使用感が特徴的な
「Claypencil v0.1」というBlender4.3向けのモディファイアが
Pepe School Landさんより無料公開されました。
<iframe width="560" height="315" src="https://www.youtube.com/embed/bIHKDAs2fvw?si=g2CEN2qkF-pRyF1-" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

<iframe width="560" height="315" src="https://www.youtube.com/embed/tx_dYeNxhQ0?si=J1efVcpx5H8VEMpo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

公開して数日、瞬く間に話題となったClayPencil、
Grease PencilとGeometry Nodesを組み合わせ、手描きアニメーションのワークフローで
3Dアニメーションを描画できるという仕組みに思わず唸った方も多いのではないでしょうか。
今後の進化が楽しみでなりません。

チュートリアルを一通りやってみたので、
今回は基本操作をまとめていこうと思います。

## バージョンと概要
- Blenderバージョン
    - Blender4.3
    - ClayPencil v0.1
- 難易度
    - 中級(Blenderの基本操作ができる前提)
- こんな方にオススメ
    - 2Dのアニメーションを作ったことがあって3Dでやってみたい方
    - イラストを簡単に立体にしてみたい方
## Blender ClayPencilの基本的な使い方

https://pepeschoolland.gumroad.com/l/ibbls

プラグインが内包されているプロジェクトデータをGumroadよりダウンロードします。

2024年12月現在、3つのデモ用のblendファイルが同梱されています。

- ClayPencil v0.1 - Cowboy Demo.blend
- ClayPencil v0.1 - Fire Demo.blend
- ClayPencil v0.1 - Start Here.blend

今回は、すぐに作業に入れる3つ目の
ClayPencil v0.1 - Start Here.blendを
テンプレートに進めていきます。

### 1.ファーストビュー
開いてみるとGeometry Nodesのタブに
Grease Pencilのビュー、それらの下にDopeSheetが並べてある画面から始まります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/f4743885-39a3-3394-8159-d57ce698fd98.png)

開いた瞬間からDraw Modeになっているので、ちょっと落書きしてみます。
すると、描いたそばから立体的なスタイルが適応されていることが確認できると思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/735e2767-05ef-1c11-02bf-57add14258f4.png)
線はGrease Pencilとしてベクターで描かれており、それが立体として描画されるように
Geoemtry Nodesで処理しているという仕組みのようです。
この時点でもうなんだか楽しくなってきました。

### 2.様々な描画スタイル
ClayPencilには現在5つの描画スタイルがあります。
一旦Ctrl+zで初期画面に戻り、各スタイルの解説をしようと思います。

- Tube
- Fill
- Tube & Fill
- Thinn
- Object Deform(*Experimental)

順番に説明していきます。
#### Tube
![スクリーンショット 2024-12-11 141838.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/b48574b4-167e-447d-2d26-ebff854a3d70.png)
Grease Pencilのストロークでチューブが描画されます。
##### Radius
![スクリーンショット 2024-12-11 143440.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/7da9f0ff-12a3-64bc-3a68-4406d73e5044.png)
Tubeの太さを変えることができます。
##### Smooth
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/8bc6cc5a-4776-60cd-a194-157a7e6aa18e.png)
Tubeの角を慣らします。

##### TrimStart/TrimEnd
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/8050885f-18c4-07fc-9ff3-94f35d726b7b.png)
ストロークの始まり、終わりの描画位置を変更できます。

##### Override Resolutions
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/e9e1445e-c22d-9759-d9c0-5bdd28928be3.png)
解像度を上書きします。

##### Fill Cap/Start Cap/End Cap
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/18601d03-0908-6058-4cb8-4a8bceb6b970.png)
筒の始まり、終わりの設定を変更できます。

Fill Caps … 平面で穴を埋める
Start Cap … 始まりの穴を丸く埋める
End Cap … 終わりの穴を丸く埋める

##### Shade Smooth
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/726162e7-3423-ab51-fd6d-e80c918bf028.png)
スムーズシェードで表面を滑らかに見えるようにします。

##### Material
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/7e207225-1f6f-029d-4db5-74adc2d605f7.png)
マテリアルの設定です。デフォルトでは赤いマテリアルですが
任意のものに変更可能です。
Tubeの場合はTubeの項目のマテリアルを変更します。


#### Fill
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/9ce1f160-70a4-fa46-fcd3-c85ae60d8c1f.png)

プルダウンからFillを選択するとストロークにぷっくりとした面が貼られます。
##### Fill Extrude Front/Fill Extrude Back
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/8e3e0a34-33fd-b78e-7ec3-f817151d112e.png)

手前や後ろ側へ、貼られた面を押し出す距離を設定します。
##### Fill Shape Scale
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/6937ad9a-4b85-d132-8b12-286e8af75bf0.png)
Fillエリアの拡縮を設定できます。
##### SubdivisionSurface
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/122f990e-f295-be73-2c43-0e96f88c2117.png)
面の分割度を上げて滑らかにできます。
##### Fill Y Offset
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/ffe1e810-f84f-f967-85e9-a98e109506f9.png)
前後(Y値)のオフセットで、オブジェクトを手前や後ろに移動できます。

#### Tube & Fill
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/bc03005a-79f0-63f7-a4bc-84d207a46e03.png)

その名の通り、TubeとFillを両方適応することができます。
TubeとFillには別々のmaterialを適応することができます。
(これはTubeに黒いmaterialを適応しています。)

#### Thinn
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/b1a54744-58ba-68f7-9254-542f169656ff.png)
ペラペラ平面として描画する設定です。
2Dのキャラクターと3Dのキャラクターの会話演出などに利用
することができると解説動画内では説明されていました。

#### Object Deform(*Experimental)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/7160600b-4dd3-8c05-1b2d-fd4de05ad869.png)

特定のオブジェクトをストロークに沿ってデフォーム表示する機能です。
Experimentalとあるように、実験版なので安定していない
部分もあるかもしれませんが、これはかなり面白い機能だと感じます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/9f5d6d42-a057-0cf9-c215-a20e56ee391d.png)

カメラを引くと元々用意されていた手のオブジェクトが表示されるので、
Object Deformのスポイトから選択すると(デフォルトで既に設定されていると思います。)
ストロークに沿って手を描画することができます。

ベースのオブジェクトにはシェイプキーが打ってあり
そちらを変化させると、描いたストロークの手も同じように
変化します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/5fc58241-7665-7a41-d6d6-2523ae6a3acf.png)

ジオメトリが正常で、いくつかのシェイプキーがついている通常のオブジェクトなら
問題なく動作するのではないかと動画内では触れられていました。

### 3.その他機能
#### Show GP lines
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/2374b111-27f7-24d4-9b32-7f9f57766f94.png)
Show GP linesにチェックを入れるとベースのGreasePencilのストロークが表示されます。
線がうまく表示されないときはObjectのIn Frontにチェックが入って
最前面表示になっているか確認してください。

#### Remesh
Onにチェックマークが入ってると、オブジェクト同士がくっついて
吸着するような見た目になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/a80fb3ce-3379-4f8b-fb03-57ccfa4571db.png)

ちなみに、このときFill & Tubeを設定していても、Tubeのmaterialは無視されFillの
materialのみが適応されます。

また、重いと感じるときはその下のOnly in Renderにチェックを入れて
ビューポート上でのプレビューをオフにすることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/d0aa1e5b-49b2-b3de-dc32-f145806c2ca9.png)


### ◆マテリアルの違うパーツを増やしていく方法
1レイヤーにつき1マテリアルのようなので、マテリアルを変化させたい場合などは
逐一別のレイヤーを作成しなければなりません。
レイヤーを作成して描画を進める方法です。
#### Layerを作成し、名前を変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/bebbf89b-72c3-5c02-9ce7-dbec0f3b5248.png)
ユニークネームにして他のレイヤーの名前と被らないようにします。
#### GroupNodeを複製し、参照しているレイヤーの名前と、ラベルの名前を変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/4bf1c06a-602b-d649-588a-c6405f11c610.png)
Shift + DでGroupNodeを複製し、それに紐づく参照レイヤーの名前を設定します。
先ほど追加したレイヤーと同じ名前にしましょう。(重要)
ノードの名前を変更するために、ラベルの名前も変更しておきます。
参照してるレイヤーの名前を間違えると
何も表示されないので、おかしい場合は確認してみるといいかもしれません。

#### NodeGroupのインとアウトを繋ぐ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/a00f4b47-d290-0ba3-1482-cc53dbbba45e.png)

Node Groupのインとアウトを元々繋がっているノードと同じように繋ぎます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3901849/6876ce7b-9c7d-2882-5fd6-0226d68c74be.png)
新しいレイヤーに好きなように描画していきます。
基本的な使い方は以上です。

通常のGrease Pencilと同じようにSculptでストロークの太さなども
変えられるので興味がある方は試してみてくださいね。

## おわりに

いかがでしたでしょうか。
ClayPencilを触ってみたいけど日本語文献がなくとっつきにくいと
感じる人の一助になるといいなと思います。