Mixamoで非人間型3Dモデルにアニメーションをつける ～3Dスキャンした笹団子を躍らせるまで～

# 概要
Mixamoで（無理矢理）非人間型3Dモデルにアニメーションをつける方法の個人的備忘録です。

:::note warn
この記事は「リグとかよくわからないけど、とにかく3Dモデルにアニメーションをつけたい！」という初心者向けです。
:::

この記事でやることはたったこれだけ。
1. Blenderで非人型3Dモデルに頭、体、両手、両足が揃うよう適当にメッシュを追加する
1. Mixamoにアップロードしてアニメーションを追加する
1. Blenderで不要なメッシュを削除する

つまり、これ(3Dスキャンした笹団子)を
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/0fed73b2-46ff-4a93-bc6b-86236064e24d.png)
　↓
こうします！
![3D ビューアー 2025-04-27 12-59-33.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/5e2d3955-1cbe-4226-8413-f16348efe7d7.gif)

では、始めます！

# 3Dモデルの準備
今回はKiri EngineでLiDARスキャンした笹団子を使っていきます。
OBJ形式でエクスポートしたローポリモデルを使います。
　※Mixamoの対応フォーマットはOBJ or FBX

Mixamoにアップロードする際、OBJは関連ファイル一式をZipにまとめておく必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/b7653ed7-75ba-4159-8426-1e7774b4fd27.png)

今回使った3Dモデル：

https://skfb.ly/pwxCQ

# Mixamoにアップロードしてみる
https://www.mixamo.com/#/

[UPLOAD CHARACTER]を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/f530f5c4-2b5d-495c-82fe-7cabf3d69345.png)
　↓
3Dモデルファイル(OBJ or FBX)をD＆D
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/726394f6-c423-4d7c-a0f4-76e602a48286.png)
　↓
例を参考にマーカーをセットすれば、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/a877762f-7e3e-471b-bc36-634f10716178.png)
　↓
 はい、エラー！
 > ERROR occured on rig: Unknown error while generating motion
 > Oops! Please place all markers ont the character!
 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/cc167817-9815-4b74-b15a-4e958464e0db.png)


そう、Mixamoは人型モデルにしか対応していないのです。

# Blenderで人型に
笹団子はほぼ人間なのですが、Mixamoさんが認識しないので仕方がないです。
Blenderで少しだけ修正して、Mixamoさんの認識を助けてあげましょう。
こんな感じです。頭、体、両手、両足が揃うよう3Dモデルにメッシュを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/de2d94bf-478f-4856-8579-9e8ef519b54e.png)

（Mixamoアップロードのため）メッシュを1つに結合しておくことをお忘れなく。
　※オブジェクトを複数選択してCtrl+J(or Object > Join)で結合できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/d24401e9-8486-4fd3-9bb8-4241ec1291e5.png)

後は適当にFBXでExportすればOK。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/33cf0725-50ca-4762-802c-03b00c389f75.png)

Textureはなくてもいいけど、あってもいいのでとりあえずコピー。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/210faf56-2cb4-4821-8919-1f842cf86d60.png)

トラブル対応は以下を参考にしました。
https://cgbox.jp/2023/06/28/mixamo-faq/

# 今度こそMixamoにアップロード
BlenderからExportしたFBXをMixamoにアップロードします。
先ほど付けた頭と足にマーカーを合わせて、No FingersでRigを設定します。
笹団子の形がシンメトリー出なかったので、Use Symmetryのチェックも外してマーカーを設定しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/0c60a31a-cff8-4866-9888-461da6a9288a.png)

それでもエラーとなる場合がありますが、私はマーカーの位置を変えて何度か試すことでアップロードできました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/65834c57-338d-48c5-bb47-94a5cf1607d1.png)

# Mixamoでアニメーションを設定
アップロードできたら、以下手順でアニメーション付きFBXを作成、ダウンロードします。
1. 好きなアニメーションを設定する
1. アニメーションを調整する
1. ダウンロードを選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/4b069028-bb32-430f-bd64-b5eba4e979c1.png)

ダウンロード設定はデフォルトでOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/96f47ed4-11db-457a-9f93-87fbbf0bfe2c.png)

3Dビューアーなどで開いて指定したアニメーションが再生されるか確認します。
![3D ビューアー 2025-04-27 19-05-03.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/140b4f2e-25da-4718-b765-04f857b2c8dd.gif)

3DビューアーでFBXファイルが開けない場合の対策は以下参照。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/220edf7e-fe99-4ba8-a5d2-70db6e9f121d.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/9241246e-27ab-4168-b25f-02c9a2f903e2.png)

# 再びBlenderで元の3Dモデルに戻す
このままでもいいですが、笹団子らしくなくなってしまいました。
Blenderに再びインポートして先ほど追加した頭、体、足を削除して元に戻します。

Edit Mode / Face Select で不要な面を Shift Click で選択し Deleteキー > Face で削除します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/4c9ba3c8-1ddd-40af-9fbe-8bb1eb085a41.png)
　↓
削除したらArmatureとメッシュを選択してFBXにエクスポートします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/12ac6a8a-79d1-43a6-8480-215c91d44735.png)

設定はこんな感じ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/001f05bb-0d9e-47ce-a3df-b7e80d27b638.png)

FBX Export設定参考：

https://blender.atom-box.net/mixamo_multiple_animations/

GLTFでExportする場合はこちらを参考：

https://blender.atom-box.net/glb_export/


他にも、必要なメッシュ以外に透明なマテリアルを設定する方法などもあります。
（リグに対応するメッシュがないとエラーになる環境で使用する場合など）

# 完成！
![3D ビューアー 2025-04-27 12-59-33.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3196409/5e2d3955-1cbe-4226-8413-f16348efe7d7.gif)

後はお好きなように使えばOKです。
私はARコンテンツにしました。

https://x.com/fubuki35/status/1916145172414665109

https://gallery.styly.cc/scene/c2a89eda-e127-481f-b0df-7af6f5f76c77


# まとめ
Mixamoで非人間型3Dモデルにアニメーションをつける方法
1. Blenderで頭、体、両手、両足が揃うよう適当にメッシュを追加する
1. Mixamoにアップロードしてアニメーションを追加する
1. Blenderで不要なメッシュを削除する

# 参考

https://www.reddit.com/r/VRchat/comments/corep4/help_rigging_model_without_legs/

以上です！