saturday06 / VRM-Addon-for-Blender

VRM Importer, Exporter and Utilities for Blender 2.93 to 4.2
https://vrm-addon-for-blender.info
MIT License
1.33k stars 142 forks source link

バグ報告:  出力する分には問題ないがBlender上のポリゴン数が明らかにおかしい(特に髪が顕著だが髪以外もほぼ確実におかしい) #581

Open KAGURASUZU-type56 opened 1 month ago

KAGURASUZU-type56 commented 1 month ago

バグについて

VRoidStudioの出力時にエクスポートはポリゴン数49667だったVRM(1.0も0.0もどちらも)がBlenderで読み込んだらポリゴン数94655と倍近い状態になっていた。一番おかしいのは髪(hair)。これだけでポリゴン数51692と、髪だけでVRoid出力値を上回っている。 正直髪以外も怪しい。 古い環境(アドオン)のプロジェクトファイルと比較するとでFaceもポリゴン数が7337から11639と増えてる1.4倍くらい増えている。 このプロジェクトより今制作中の服装のほうが重ね着してないのでポリゴン数は減るはずなのに明らかに増えている。 Blenderの細分化や立体化等のモディファイアどうこうではなくVRMを入れた瞬間からおかしい。

しかしながらBlenderから出力したファイルではポリゴン数は実際には増えていない。試しにVRoidHubにアップロードするとVRoidStudioのエクスポート情報のポリゴン数と一致する。

バグの再現方法

Windows10Pro64bit下でVRoidStudio(1.29.2)でVRMのアバターをVRM拡張子で出力し、VRM-Addon-for-Blender(Version 2.20.88)経由でBlender(4.2.2LTS)に入力

期待する動作

正確なポリゴン数を表示してほしい。

PC環境情報

saturday06 commented 1 month ago

ご報告ありがとうございます。ただ、こちら一般的なVRMプレイヤーアプリケーションのMToonのアウトラインが 背面法(Inverse Hull) で実装されていて、Blenderでもそれを再現しているため、アウトラインが設定されている場合に背面法の背面ポリゴンのぶん頂点数表示が増えてしまうという問題があります。

背面法のアウトラインの出方は特徴的で「例えば顔のほうれい線アウトラインが出るのをアウトライン制御テクスチャで消す」みたいなワークフローがあるので、例えばグリースペンシルなどでアウトラインは作れる気もしますが、それをするとどうしても一般的なVRMプレイヤーアプリケーションとの表示や、制作ワークフローが変わってしまう問題があります。

これを解決するには、ポリゴン数を正確に数えたい場合は「アウトラインを一括で隠す」という機能実装が考えられますが、悩ましいです。

saturday06 commented 1 month ago

何か良い案を思いつきましたら、ご提案いただけると助かります。

KAGURASUZU-type56 commented 1 month ago

古いアドオンでは正常なのに今更そのような問題になるのがよくわかんないです。 比較的新しいVRM1.0だけの問題ならまだしも古いアドオンのときに使ってたVRM0.xまでそのような問題が発生してます。 VRM1.0に関しては別スレッドでこの前述べたリーフボーン二重問題もあります。

そういえば古いアドオンの方はArmatureモディファイアしかないのに、新しいアドオンの方にはMToonOutlineモディファイアという謎モディファイアが存在してますね。なぜこのような独自のモディファイアが新しい方にあるのかはよくわからないですが。これが悪さして解決不可能なら古いときのと同じ仕様で良いと思いますよ。アウトラインの調整なんて基本Unityでやるものだと思っています。Blenderの役割はモデリング、リギング、UVマッピングなんで。 268409280626 268409280623

saturday06 commented 2 days ago

旧バージョンと同様の動作をお求めとのことなので、こちら最新版でそのような設定を追加いたしました。「(MToonのアウトラインプレビューを)有効にする」のチェックを外すと旧バージョンの同様の動作になります。こちらご利用ください。

VRMインポート時に設定する場合はインポートダイアログからアクセスできます。

すでにインポート済みの場合はマテリアルのアウトラインの設定からアクセスできます。

KAGURASUZU-type56 commented 2 days ago

ご対応ありがとうございます。 リーフボーン問題も対応お願いします。