開発お疲れさまです。モアイです。
この記事では前回説明した記事の中の原理的なところを解説したいと思います。
前回の記事はこちら→https://qiita.com/yasuimi6601/items/a750d67e8f719c054ad2
さて、MMDをUnityで使おうとして失敗した方は次のような原因が多いと思います。
1.MacでMMD4Mecanimを使ったのにPrefabが作られない
2.アニメーションがMMDモデルに反映されない
なのでこの失敗の原因と解説をしていこうと思います。
またそれ以外でも何か説明してほしいところがありましたら、編集リクエストの方をしていただければ、可能な範囲でお答えします。
#1.MacでMMD4Mecanimを使ったのにPrefabが作られない
これの原因としては、「libiconv.2.dylibという動的ライブラリのバージョンが古いため作動していない」からです。
libiconv.2.dylibというのは、簡単にいうと文字列の文字コードを変換するライブラリのことです。
これは推測でしかないですが、libiconv.2.dylibというのをMMD4Mecanimでは、MMDモデルの情報をPrefabに変換するところで使用していると思います。
そして、これのバージョンを8に更新すればうまくいきます。ただ、僕たちの勉強グループで試したところどうやってもバージョンがうまく更新されないのです。
そこで考えたのが、ここのところだけバージョンを下げるということでした。
少し調べたら可能であることが判明したので、前回の記事で紹介した方法でPrefabにするところだけバージョンを下げてあります。
#2.アニメーションがMMDモデルに反映されない
これの原因としては「使用してるアニメーションクリップとその動作の対象であるPrefabのAnimation Typeが違う」からです。
これはMMDモデルをPrefabにした時の初期設定です。Animation Typeが「Generic」になっています。Genericというのは「非ヒューマノイドアニメーション」を指します。
そしてこちらは、今回使用した走るアニメーションです。Animation Typeが「Humanoid」になっています。ここの二つが一致しないとアニメーションというのは使うことができません。
AssetStoreでインポートできる人のアニメーションの多くは「Humanoid」ですから、設定を変えないと使えないです。