アニメ 3D モデルをFaceBuilder でつくってみた

急にメタバースに興味を持ち、３Dアバタを作ってみたいと思いました。Vroid Studioを使ってかわいいアバタをつくれて満足したのは束の間、画像から自動でかわいいアバタができないか。と興味がでてきました。検索していたところ、FaceBuilderというものがあるようで、さっそく試してみました。

# １．FaceBuilderでの実験結果

> FaceBuilderは、写真に基づいて人間の顔と頭を3Dモデリングするための Blender のアドオンです。FaceBuilderを使用すると、経験豊富な3Dモデラーでなくても、きれいなトポロジで高品質の3Dモデルを作成できます。まず、人物の写真をさまざまな角度から数枚取得し、それぞれにモデルを配置して頭または顔のモデルを作成します。3Dモデルは後で Blender でスカルプト、アニメーション、トラッキングなどに使用したり、ファイルにエクスポートして他の 3D ソフトウェアにインポートしたりできます。（[引用元](https://medium.com/keentools/facebuilder-for-blender-guide-cbb10c717f7c)）

ということで、「人物の写真をさまざまな角度から数枚取得し」ということで複数枚あったほうがよいのだとは思いますが、今回は１枚の画像だけで試してみました。

こちらが結果です。

|　　　　　|写真|アニメ|BitMoji|
|:--:|:--:|:--:|:--:|
|元画像|<img width="150" height="10" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1413258/7bf91f5e-6ad9-4afb-54e3-c2ccdc8681a1.png">|<img width="150" height="10" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1413258/eb1b27f9-25a3-7fb8-a515-e844dc7b22e8.png">|<img width="150" height="10" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1413258/581574df-b957-5a1c-b782-5187f3711dee.png">|
|自動Align|<img width="150" height="10" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1413258/55fb6008-11d1-f8d9-67a1-51adb45082f9.png">|<img width="150" height="10" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1413258/bd3405cb-9e4e-3928-f2e9-44b77f0b3407.png">|<img width="150" height="10" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1413258/a0f36bbd-87ef-5723-5bca-73555a7ad3ef.png">|
|３Dモデル|<img width="200" height="40" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1413258/8819398a-5a93-b0c3-99af-db5bfeaf974d.gif">|<img width="200" height="40" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1413258/8dd64e65-56ab-ffed-a6a8-9d517ba806c4.gif">|<img width="200" height="40" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1413258/5cea454a-86a2-10f9-c3c0-e181a9cd5796.gif">|

リアルに近い顔だと「Align」がうまく機能し、ほとんど修正せずにモデルを作れました。自動Alignがかなりずれているアニメでも手動で修正をすればそこそこの３Dモデルができました（かわいさはまだまだですが）。


# ２．試した手順について

以下、Windows環境にて試した手順です。興味のある方は試してみてください（すごく簡単です）。

## 2.1 Blenderをインストール

Blenderを[ダウンロード](https://www.blender.org/download/) （「Download Blender」をクリック）。ダウンロードが終わったらインストーラを起動して、任意の場所にインストール（デフォルトは C:\Program Files\Blender Foundation\Blender 3.4\ )。

![01_install.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1413258/646114a6-058e-4277-cebc-0dcf417c292b.png)

## 2.2 FaceBuilderをセットアップ
FaceBuilderを[ダウンロード](https://keentools.io/download/facebuilder-for-blender)（「Download FaceBuilder add-on」をクリック）。無事にZIPファイルをダウンロードできたら、Blenderのメニュー［編集］から［プリファレンス］を選択します。[アドオン]セクションから、画面右上隅のInstall…ボタンからZIP ファイルを選択し、アドオンをインストールします。

![02_install.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1413258/778658d3-6b19-0660-3cc1-6a312629062b.png)

つづいてコアライブラリをインストールします。[アドオン]セクションから、［FaceBuilder］を選択し、画面下の［Install online］をクリックします。これでインストールは完了です。
![03_install.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1413258/1443631a-8dd8-e0c6-0c85-7e94d71b0d90.png)


## 2.3 FaceBuilderの使い方
メニュー［FaceBuilder］を開き［Create a new head］を選択。「Add Images」をクリックして、３Dモデル化したい画像を選択して［Open Images］（今回は１枚でトライしてますが、複数枚も一度に選択可能なようです）。Openした画像を選択して［Align face］を選択。メッシュ情報を更新して、[Create texture]をクリック（確認画面があがるので［OK］をクリックすると実行）。※画像が１枚だけのため、「Expand edges」という写真を引き伸ばして補間してくれる機能を使いました。

![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1413258/5186c37e-7339-497d-3752-d55bb86e7c23.png)


# まとめ
今回は、FaceBuilderを使って手動で画像からの合成を試みてみました。ここからアバタ―として作り上げるのとあわせて、コマンドラインでの自動化を目指していきたいなぁという思いです。ぜひ、そのへんの知識ある方、アドバイスなどいただけるとうれしいです。なお、facebuilderが無料で使えるには日数制限があるようです。かわいいアバタが欲しい。

# 参考
https://medium.com/keentools/facebuilder-for-blender-guide-cbb10c717f7c

https://www.cgradproject.com/archives/6300/