VRM1.0対応撮影アプリ「PaShaONE」で読み込んだVRMモデルの色に違和感がある、今まで使っていたVRM0.x用のアプリで読み込んだ色とは違う、などのケースが報告されております。
この記事ではVRoidを使った例で「原因」と暫定的な「対策」をご紹介します。
あくまで現時点までの考察ですが、MToon10は「Shade Color」乗算しないという仕様の違いです。ポイントはVRM1.0ではモデルが0.xであってもMToon10を適用する点で、PaShaONEでもこの部分は意識せずに開発してきました。
このケースに当てはまらない場合はまた継続的に考えます。
現段階ではPaShaONE側からの対応は保留といたします。理由はMToon公式さまで「この挙動はその仕様に沿って、意図して実装しています」と明記されており、仕様変更は無いそうです。
参考ソース:https://github.com/vrm-c/UniVRM/issues/2037
こちらの都合でMToonに強制変更したり、シェーディングを乗算に修正するのはちょっと強引かと感じるのでそこまではしない方針です。(オプションとしてはありかもしれません)
将来的に当方で対処できる方法があれば是非検討していきます。
ご了承下さい。
結論から言うと3番目の「基本色=青、かげ色=暗い青」が暫定的な対応となります。要は「影の色も明示的に指定する」ことで解決します。
下記はVRM1.0用アプリでVRM0.xを使う場合の設定例と結果です。(※自作モデルのMToonをUnityで設定する場合は下記参照)
では順番に例をあげます。
・基本色=白、かげ色=白(グレーまたは未設定)
出力結果
白と白なのでほぼ違和感はありません
・基本色=青、かげ色=白(グレーまたは未設定)
出力結果
影のはずが逆に白いので違和感があります
・基本色=青、かげ色=暗い青
出力結果
影がちゃんと暗くなります
VRoid Studioでは「ルック」>「陰影」からこの辺をいじります。影をクッキリさせたい場合や、影の範囲が設定できます。ざっくりと顔、髪、体と別れています。
「目だけ」「靴だけ」など個別に設定したい場合はUnityなどでマテリアルを直接設定する必要があります。Unity導入からUniVRMのインポートなど格段にハードルが上がります。
Unityを使ってる時点で知ってる人も多いと思いますが一応書いておきます。モデルがVRM0.xでも、PaShaONEからVRM1.0としてロードするには現段階では個別対応が必要です。
下記はマテリアルをインスペクターから見たところです。設定可能な項目が異なります。四角で囲んだ部分が主に陰影に影響します。特に「Shade Color」は重要です。
今の時点では以上となります。誤った情報や追加情報があれば更新いたします。ここまで読んでいただきありがとうございました。
お疲れさまでした。