VRMとPMX変換の話
前回の記事でMMDで自分のアバター(VRM)をインポートするのにはPMXに変換する必要があると言いました
しかし、変換ツールがあったとしても仕様上、互換性がない場合もあります
今回はテクスチャが正しく表示されないという不具合に見舞われました

見ての通り右側の髪や服のテクスチャが反映されてません
Unityでシェーダーを変えてみたり、BlenderでUVをいじってみたり、PmxEditorをまさぐってみたり、かれこれ4時間近く解決策をMMD初めたばかりなりに模索しました
結果、解決策を編み出したので備忘録として書き記しておきます
まず、テクスチャが抜けている原因はVRMのテクスチャ反転のせいです
同じテクスチャの場所はそのままコピーしようという本来、必要なUVを減らせる便利機能なのですが、PMXに変換するとその機能は失われ、そこのUVが新しく補完されます
新しく補完されたUVはテクスチャが乗ってないのでこのような事態に陥ったわけですね
実はここまでの解説は僕の想像の話なので本当にこうなっているのかは謎です
そこで考えついたのはテクスチャを二枚貼るという単純な方法です

今見て思ったけどちょうど三枚貼り付けられるように設計されているように見えてきた
調べても全く出てこなかったけど想定されてたのか...?
PmxEditorでUVエディタのプラグインを導入し2つに分れたUVをいい感じにテクスチャと合わせます

これをすべてのマテリアルで行って本体へモデルを送信してエクスポート
MMDに戻ってインポートすると...

ちゃんとテクスチャが乗ってます!
やったね!