3D墓の作り方

# 動機

最近Clusterで墓参り用の墓を作った。他に墓を作りたい人がいるかもなので、情報を共有しておきたい。

# 結果

自分の墓を参れるようになった

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/fa85481f-4f77-4cbd-8cbd-49a558660086.png)


# 作成方法

下記流れで3Dモデルを作ってClusterで確認する

+ 名前のSVGを作る
+ 墓のモデルを作る
+ Clusterで確認する

利用するツールは下記の通り

| ツール | バージョン | 備考 |
| :----- | :----- | :----- |
| Blender | 4.2 | |
| Gimp | 2.10.36 | |
| Unity | 2021.3.4f1.243 |

## 名前のSVGを作る

Gimpを開いて新規画像を作成。文字入力で墓に入れる名前を入れる。縦書きへの変更とかは参考サイトを参照。
名前を入力したら入力用のボックスはできる限り小さくする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/66346c2c-5bf9-54b5-b345-4c249704ba73.png)

デフォルトで入る背景レイヤーを削除したら、キャンバスを文字レイヤーに合わせる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/b2c56321-335a-373b-c821-f6cfd77f9c4f.png)

テキストレイヤーを右クリックしてパスへ変換する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/870832db-cf52-7dd5-158f-9dfe0e530fec.png)

パスのエクスポートでSVGを作る。名前とか場所とかはわかりやすいところであれば大丈夫。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/2a25b22a-71cc-dcdb-d726-ad43df80e22d.png)

参考サイト

+ [【GIMP】文字を縦書きにする方法](https://tunco-no-senaka.com/gimp-howto-vertical-writing/)

## 墓のモデルを作る

大まかに下記手順で進める

+ 石材作る
+ 名前を彫る
+ テクスチャ作る
+ エクスポート

Blenderは落ちやすいので適宜保存を心がけてほしい。今回みたいにちょろい奴だと問題ないかもだけど、ちょっと凝ったことすると落ちたりする。

### 石材作る

Blenderを開き、デフォルトで配置されているライトとカメラを削除。配置されている立方体のサイズを調整する。

+ x: 0.5
+ y: 0.5
+ z: 1.8

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/c6dedc1d-9f84-1ae7-f15e-358140ad6075.png)

z方向に移動して埋まらなくすれば完了。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/6ada1b8d-a269-66ed-4f2d-470472f6d90b.png)

### 名前を彫る

#### 名前のメッシュ化

File -> ImportからGimpで作ったSVGをインポートする

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/a0bfc361-41fb-93c0-2ccf-4b6bcf871d09.png)

墓石と丸被りなのでいったん墓石を選択して`H`で墓石を非表示にする。取り込んだパスが表示されるので`R -> X -> 90`でパスを立てる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/061844cd-e707-96ac-ffb2-a058c5457254.png)

パスを選択した状態で、オブジェクト -> 変換 -> メッシュを選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/40cf2d28-e47a-74fb-2cf2-cfb487fcf915.png)

編集モードで全選択して`F`キーで面を貼る

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/16296695-e212-d7cf-3fcc-94b13ec29ac5.png)

下記のように融通が利いてないところを地味に修正して文字の形を整える。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/3baafc1b-4808-5368-99ed-8c8cb92e5f0f.png)
↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/4e950a97-3774-2bac-d35d-16c1b4bd463b.png)
こんな感じ

直線なのにめっさ頂点がある場合などは、消したい頂点を選択後、削除メニューのDissolve Vertexesを試すといい感じにけしてくれたりする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/eb550fa1-a3ab-61d8-efb0-9fa29f7481e1.png)

#### 石材に名前を彫る

墓石を再度表示して名入れの位置と大きさを調整する

正面(テンキーの1)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/e1616f78-6024-6331-1976-6405b52e2a39.png)

横(テンキーの3)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/7560adaa-c560-149a-88cb-d266b34961ba.png)

編集モードの押し出しで名前に厚みをつける(E -> Y)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/e8e36681-add2-dc34-ff79-f1f443e81e4e.png)

石材にめり込ませる(G -> Y)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/33a2f7c7-807e-95b0-a251-bb7515d3afb8.png)

オブジェクトモードで石材を選択してBooleanモディファイアを追加する。オブジェクトに名前のパスを指定する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/51dfbffc-89b6-18d6-92fa-7476ed96af01.png)

名前のパスを非表示にすると名前の部分がくりぬける。位置やサイズが問題なければBooleanモディファイアを適用してパスのオブジェクトを削除する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/32518099-079f-2c98-2a9d-a3673aef333e.png)

#### 名前のくりぬきがうまくできないとき

Booleanでうまくくりぬけない場合は法線の方向を確認する。Face Orientationで確認して赤になってる面を反転する。

例) 一部の面が反転している状態(赤)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/17bca3a6-67bd-8139-1b69-f04213cce20c.png)


+ [【blender】ブーリアンでくり抜けない原因と対処法](https://note.com/3d_grapefruit/n/n80541ef380ba)

### テクスチャ作る

#### UV展開の準備

まずはUV展開の準備を行う。テクスチャの切り取り線(シーム)を入れる。名入れの部分だけ黒にしたいので名前にもシームを入れる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/7e32c640-2613-88cf-6b43-f54949cd0a10.png)

切り取り線を選択したら右クリックからマークシームでシームを入れる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/0cddedf8-d537-21ed-6b82-33d1bfb0a694.png)

オブジェクトモードに切り替えてスケールの適用を行う(Ctrl + A -> Scale)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/d1e294f2-4767-df3e-0894-6c7187235e05.png)

#### UV展開 & ばらつきの確認

下半分をUV Editorに変更して新規テクスチャを作成する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/ebec8cf6-23b1-f9dc-536f-d084d5c65a83.png)

ばらつき確認用なのでUV Gridで作成する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/c8368dc9-2fee-d70a-5cbb-80e7174ad181.png)

3Dモデルを編集モードで全選択してU -> Unwrap

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/2ea9ddbe-4ac8-62a3-83ab-c367c8961778.png)

3D表示をマテリアルプレビューへ変更

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/18fcb3df-c005-0568-be16-decc46c08bf6.png)

画面の下半分をシェーダーエディタに切り替える

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/51506ed2-46f8-25e9-c152-9100f38afeb9.png)

Node Wranglerのアドオンを有効にして、Principle BSDF選択後にCtrl + T。Image Textureにgridを指定。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/438c304e-4a5c-0689-31ec-7a3dcf549519.png)

3Dプレビューにグリッドが表示されるので、グリッドの大きさにばらつきがないかを確認する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/6d260efe-7d2d-4696-5f15-107e9e9b4847.png)

`ロ`など空白が入るような文字の場合、浮島となるのでUVの場所を調整する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/d1d461db-581a-3314-da28-4a8272806185.png)


#### 墓用のテクスチャを適用する

下部をUV Editorに切り替えて新規テクスチャを作成する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/ac5e3c6a-5969-789a-9a35-f77d77a9a27c.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/0fc9c600-7a48-d944-2564-d405feb52575.png)

Image -> Save Asで画像を保存する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/2b44def2-1650-b029-e2a7-07f10eb433ed.png)

UV -> Export UV LayoutでUV情報を保存する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/d90e54b3-95fd-200b-3920-c93f15700bcb.png)

Gimpでテクスチャ画像とUVレイアウトを開く

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/88808a9e-633d-5881-ac17-bc91c0ca6604.png)

墓石的な石の画像を貼り付けたらエクスポートしてテクスチャ画像を上書きする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/3947e781-5328-142f-6844-58bcfa739423.png)

BlenderのUV Editorで画像を開きなおす

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/82aa6ea6-c815-7f7f-7dd7-d1a8fcca3e05.png)

Shader Editorでテクスチャ画像を切り替える

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/2195accb-f8fc-dae0-690a-4e6d9f747520.png)

3Dモデルの表示を確認する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/c3e38e05-9696-a74c-12a4-703c13744783.png)

### エクスポート

Clusterのワールドに配置するので、[BlenderでUnity向けにモデルを出力する時のおすすめ設定](https://creator.cluster.mu/2022/07/26/blender-unity/)に沿ってエクスポートする

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/4ee1f956-dc91-df3d-b676-e99cf5a0dc89.png)

fbxとfbmが出力されていることをかくにんする

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/c5935d0d-1a6f-70f4-bf33-89c976cb962d.png)

## Clusterで確認する

ワールド自体の作り方は[Cluser Creators Guide](https://creator.cluster.mu/articles-by-purpose/)を見てやってもらう。今回はすでにアップロード済みのワールドに墓を追加する。

作ったfbxとfbmをprojectのにドラッグ&ドロップする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/4b296c34-bade-6f61-7317-674276b8aa29.png)

ワールドに墓を配置したらワールドのアップロード

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/27f68520-5d08-4179-82ae-cf0c1a26483e.png)

アップロードが済んだらClusterで墓を確認する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/6995590e-1052-bf25-586b-4b3a5b863468.png)

# まとめ

Blenderでモデルを作るところからClusterのワールドで確認するまでを手順として残してみたけど、慣れたら30分ぐらいで墓を追加できることが分かった。
もっと勉強して線香立てたりしたい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42445/c0a049ce-d58b-dfcd-3b7b-d163c97f3b77.png)
山の中にある墓って感じが気に入ってる。