【UE5】MetaHumanを使用してスキャンデータをキャラクターに変換する方法

Unreal Engine 5 には、ゲームおよびアニメーション コミュニティに衝撃を与えている画期的な機能、Mesh to MetaHuman の機能である。この記事では、未加工のスキャンデータを、Unreal Engine で使用可能なフル装備のメタヒューマン キャラクターに変換するプロセスを説明します。さっそく見ていきましょう！:raised_hands:

↓ **Mesh to MetaHuman** ↓
https://www.unrealengine.com/ja/blog/new-release-brings-mesh-to-metahuman-to-unreal-engine-and-much-more
![ezgif.com-video-to-gif-converter.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/e1501c36-5ef6-9f9b-faf6-a5eece995368.gif)

# はじめに
1. **3Dスキャンアプリ**：スキャンデータの取得には、どの3Dスキャンアプリでも使用できます。今回はiPhoneアプリのMetaScanを使用します
https://apps.apple.com/jp/app/metascan-3d-scanner/id1472387724
↓ 3Dスキャンの結果はこのようになりました！:clap:
![3D_Scan_Aziz.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/0821d906-6244-7466-1049-23d9027d67fa.png)
1. **Blenderのインストール**：UEにインポートする前、スキャンデータをクリーンアップするために、今回はBlenderが必要。Blenderのバージョンは問いません
https://www.blender.org/download/
1. **Unreal Engine 5**： Mesh to MetaHuman 機能は現在、Unreal Engine 5 でのみ動作します。そのため、必ず5.0以上のバージョンの起動が必要

# 作成手順
### スキャンデータの準備 （Blender）
1. **メッシュを組み合わせる**： メッシュがバラバラになるのを防ぐため、3DスキャンアプリからBlenderにインポート時、必ずメッシュを結合します
※ Unreal Engineがメッシュのブラッシュアップ処理も行ってくれるため、Blenderにしっかりブラッシュアップするは必要ありません。
2. **サイズ設定を調整する**： スキャンデータに応じて、サイズ設定とグリッド単位を設定します
3. **FBXとしてエクスポート**： 調整したスキャンデータを FBX ファイルとしてエクスポートします
![Capture1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/03e6c7f1-520e-ef60-47c5-65e018529a1d.png)

### Unreal Engineのセットアップ
1. **Unreal Engine 5 の起動**： UE5で新規プロジェクトを開始します
1. **MetaHuman プラグインの有効**： 新規プロジェクトで、MetaHuman プラグインが有効になっていることを確認します。プラグインを有効にした後、エンジンを再起動します
![Capture2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/27c32090-5550-bdb7-ac07-6b05d80fcf37.png)
1. **スキャンデータのインポート**: スキャンデータをプロジェクトにインポートします： スキャンデータをプロジェクトにインポートします

### メタヒューマン・アイデンティティの設定
1. **メタヒューマン・アイデンティティの作成**： インポートしたデータのあるフォルダを右クリックし、「MetaHuman」に移動して、新しいメタヒューマン・アイデンティティを作成します
![Capture3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/6e7fe803-1ef6-3522-ce52-a7f17b869f51.png)
1. **メッシュのコンポーネントの調整**： MetaHuman Identityに、インポートしたデータを「Components from Mesh」から追加し、メッシュを正しく配置します
1. **顔の特徴を設定する**： 顔の特徴を設定するには、視野を15に設定したUnlitモードを使用します。特徴の位置にフレームも追加し、「Track Active Frame」を押します
![Capture4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/002c5704-a4f4-dbbb-9f04-7defd109375c.png)
![Capture5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/6fdf9e3e-61eb-1968-ad9b-8a6058a63357.png)
1. **メタヒューマン・アイデンティティ解明の有効化**： 「MetaHuman Identity Solve」をクリックし、メタヒューマンの顔を生成します。その後、「Mesh to MetaHuman」を押してデータを送信する
↓ メタヒューマンの顔はそんな感じです！:open_mouth:
![Capture6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/9be3d52a-a0a2-07ca-8fab-863b22fe2191.png)

### メタヒューマン設定の完成
1. **メタヒューマンのエクスポート**：カスタマイズしたデータをメタヒューマンにエクスポートした後（この処理には時間かかる場合がある）、Quixel Bridgeアカウントにアクセスし、エクスポートしたデータで MetaHuman Creator（MHC）を起動します
![Capture7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/bb61a213-01cc-2f7b-7e14-603e635455d2.png)
![Capture9.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/f47035e6-d45b-1cf3-c8fd-880ca0d281bc.png)
1. **追加編集**： これからMetaHumanに自分のデータを使うことができます！必要に応じて、顔の特徴、髪型、服装などを微調整します
![Capture8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/8c6092c8-c3e8-4448-5cc2-1be702e3018e.png)

↓ これが私の出した結果 ↓
![Aziz_Front.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/819a7a1f-6ce5-8cb5-0528-72270896ef1c.png)
![Aziz_Left_Side.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/ef62fc6e-44ae-2864-47c1-95ca0bfd7ffa.png)
![Aziz_Left_Angle.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/63cd0647-8a75-9483-3468-8d4f35153ed8.png)

編集が完了したら、MetaHumanを保存し、自分のUnreal Engineプロジェクトにインポートします！

↓ UEプロジェクトの中で作った私のMetaHumanです！砂漠で迷っているのか？:laughing:
![Capture10.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/5d5ccbfb-071f-8559-f665-eb5aa12fa71e.png)

おめでとうございます！Unreal Engine 5 の Mesh to MetaHuman 機能を使用し、生のスキャンデータを完全にリグ化した Metahuman キャラクターに変換すること成功しました :raised_hands:
このツールがゲームやアニメーションの世界でどのような素晴らしい作品を生み出すのか、今から楽しみしています！

# 終わりに
Unreal Engine の Mesh to MetaHuman 機能は、アーティストや開発者に前例のないレベルの効率性とクリエイティブな自由度を提供する、まさに驚異の機能ですね！３Dスキャンデータを、数分のうちに完全にリグ化されたキャラクタに変換できる機能は、革命的としか言いようがありません。この技術が進化し続けるにつれ、バーチャルキャラクター制作の領域において、さらに発展が期待します！:open_hands:

リアルなモーションでMetaHumanの顔を動かしたい場合は、MetaHuman Animatorを使って顔のモーションをキャプチャする方法を記事にする予定です。
![MH_Aziz-ezgif.com-video-to-gif-converter.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/211a8ffa-c2a6-eb38-da48-de34ac2e6847.gif)

ご期待下さい！:slight_smile::wave:

---

弊社では現在、XRエンジニアを積極募集しています！
ご興味を持っていただいた方は以下のリンクからぜひお問い合わせください。
https://www.wantedly.com/companies/company_1847744/projects

![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f333632363338322f36333864646465662d633566662d383731652d393063312d3934633062336332633038322e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626431/b31776b6-dc69-ee64-0905-ea66b88fa31f.png)