Help us understand the problem. What is going on with this article?

MixamoをUnityで使おうぜ

More than 1 year has passed since last update.

Mixamo何するものぞ

Mixamoとは、3Dモデルやアニメーションを無料で商用、非商用問わず利用することができるWebサービスです。
Adobeが運営しているサービスで、利用にはAdobeアカウントが必要です。
Mixamo_top.png
3Dモデルもアニメーションも種類が豊富かつハイクオリティで、画面右側のパネルでアニメーションを微調整することもできます。

非常に便利なサービスなのですが、MixamoのアセットをそのままUnityにインポートするといくつか問題が発生します。この記事では自分が出くわした事案とその解決法をご紹介します。

事案1.テクスチャが貼られていない

今回使おうと思うのはこちらのDouglas君です。
douglas.png

さてDouglas君をUnityにインポートしました。すると...
douglas_white.png
驚きの白さ。キン消しみたいになっちゃってますね。

解決法

テクスチャが貼られていないのはテクスチャが存在していないからです。fbxファイルの中に埋め込んであるのでこれを引き出してあげる必要があります。
extract_texture.png
ImportSettingsのMaterialsタブにあるExtract Texturesボタンを押してください。テクスチャの展開先を適当に選んでやればモデルの中に埋め込まれていたテクスチャが生成されます。なおMaterialへの適用は自動で行われます。便利!
douglasWithTexture.png
...狂ってますね。事案2です。

事案2.透けている

お腹が出ちゃってますね。物理的に。袖も若干突き破ってますし眼球もシンプソンズみたいになっています。

解決法

これはMaterialのRendering ModeがTransparentになっているのが原因です。
material_setting.png
ですがこちらのMaterialもfbxの中に埋め込まれているため設定を変更することができません。テクスチャと同様にfbxから引き出してあげましょう。
extract_mateerial.png
ImportSettingsのMaterialsタブにあるExtract Materialsボタンを押してください。
Materialが個別に生成されると思うのでいい感じに設定を変更してあげましょう。
douglas_color.png
シンプソンズみたいだったDouglas君がウィル・スミスみたいになりました。地球の1つや2つは救ってそうな面構えです。

事案3.足首が折れている

3Dモデルは問題なくインポートすることができました。このモデルをゲームキャラクターとして使用するにはアニメーションが必要です。
douglas_run.gif
今回はこちらの走るアニメーションを使おうと思います。

ドラッグ&ドロップでインポートし、Animation TypeをHumanoidに変更します。
そのプレビューがこちらです。
unityModel_run.gif
左足首にご注目下さい。折れてます。Mixamoのアニメーションアセットに含まれているAvatarはUnityのMecanimに上手く対応できないようですね。

解決法

アニメーションのfbxのImport SettingsのRigタブのAvatar DefinitionをCopy From Other Avatarに変更し、Sourceに適当なHumanoidのAvatarを入れましょう。
running_setting.png
今回はDouglasのAvatarを入れています。事前にDouglasのAvatarをDouglasのImport SettingのRigタブからHumanoidに変更しておくようにしましょう。
変更した結果がこちらです。
unityModel_run_proper.gif
足首が治っていることはもちろん上半身も自然な感じになっています。

まとめ

Mixamoは便利なサービスですがUnityで使うにはひと手間必要です。そこら辺を勝手にやってくれるAssetPostProcessorを作りました。
https://github.com/Dumble009/MixAmoAssetImporter
こちらを使えば今回の記事で取り上げたような操作を自動で行ってくれます。お試しください。

db0091
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away