モデルを読み込んだけど、うまくいかなかった→なんとかなりました。
今回わかったこと
複数のモデルを1つのフォルダで管理するとおかしくなるので
1フォルダ1モデルにする。
ということでした。
PMD2FBXというツールでMMDデータをFBXに変換できる!ということを知りましたが、MMD関係のデータについては全然わからないのでいろいろ調べてみたところ、
PMD:古いフォーマット
PMX:最新フォーマット
ということがわかり、PMX2FBXを使えばできるということまではわかりました。
最新のPMX2FBXはMMD4Mecanimに同梱されているということで、こちらを試すことに。そして、MMD4Mecanimは、UnityPackageとして配布されているのでそちらの環境を使うことになりました。
実際にチュートリアルを見ながら、UnityでMMD4Mecanimを使ってコンバートをかけても表示されるのはマゼンタのモデルのみ。
チュートリアルのようにきれいなモデルは表示されませんでした。
日本語テクスチャとか日本語フォルダなのがダメなのかと思ってPMXエディタでテクスチャファイル名を変更してみたりして読み込むもダメ。
どうしても正しい結果にならず、かなりあきらめてて、このツイート
PMX2FBXで表面のデータとかテクスチャが反映されないのをどう直せばいいのか全然見当付かないので、このまま年越しそう
— sato_c (@sato_c) 2013, 12月 31
で、なんかおかしいなと思ってUnityのバージョンを調べてみると4.1.5f(4.1.5f1だったか)なので、まずはこちらをアップデートして最新版の4.3.2f1にして再度試してみると
@sato_c @GOROman あと、Unity上でマテリアルが剥がれているようなら、Materials フォルダを削除して再変換 or MMD4Mecanim オブジェクトの Material ページの Process を押すと変化するかもしれません。
— Nora (@Stereoarts) 2013, 12月 31
という情報を元にMaterialページでProcessを押してみると体は大丈夫だけど、顔だけ白くてやばい…。ということで、もう一度聞いてみた。
@Stereoarts http://t.co/HKoeqyJEXN ここのモデルだとこんな感じで顔が白くなりました。体も白かったのですが、マテリアルタブでProcessを押してマテリアルを更新すればOKでした http://t.co/4btv2MZuLN
— sato_c (@sato_c) 2013, 12月 31
@Stereoarts お手数おかけしてすいません。Materialsフォルダを再度全削除してから試してみたところ、顔も出るようになりました。複数モデルを同一フォルダで管理するにはMaterialsフォルダをモデルごとにリネームして試してみます。ありがとうございました。
— sato_c (@sato_c) 2013, 12月 31
それから、MMD4Mecanim/Editor/PMX2FBXにあるpxm2fbx.exeをコマンドラインで使えますかという質問をしたら、使えるということだったので今はこちらのexeを使って変換してます。
@sato_c はい、PMX2FBXはUnity用に多少調整してますが、汎用的に使用できます。ただし、初期状態ではテクスチャは張られていない状態なので、同時に変換されるXMLを元にマテリアルを補正する必要があります。
— Nora (@Stereoarts) 2013, 12月 31
Noraさんには、テクスチャを反映するPMX2FBXも作っていただいたりして、いろいろとお世話になりました。ありがとうございました。