You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The text was updated successfully, but these errors were encountered:
teresayawn
changed the title
バグ報告: Blenderで編集したVRM1.0モデルがPythonエラーでエクスポートできないVRM 1.0 Models / Edited in Blender Failing to Export Due to Python Errors
バグ報告: Blenderで編集したVRM1.0モデルがPythonエラーでエクスポートできない / VRM 1.0 Models Edited in Blender Failing to Export Due to Python Errors
Dec 10, 2024
バグについて
Blender4.2または4.3でVRM1.0のアバター編集時、メッシュオブジェクトを追加すると、Pythonエラーでエクスポートできなくなるケースがあります(下図:Fig1)。エラーメッセージの内容は、図の下のリンクから確認できます
Python Traceback.txt
バグの再現方法
バグの発生要件は特定できていませんが、少なくとも、Brender4.2または4.3において、VRM1.0モデルの出力時にPythonエラーを返されます。ただし、Blender3.6ではこのような問題は起きません。また、どのバージョンから問題が起きるか、特定できていません。
図ではVroidアバター間(ともにVRM1.0)でHairオブジェクトとFaceオブジェクトの交換作業を行う途中、エクスポートを試みたところ、Pythonエラーが返されています。
今回のエラー再現実験について述べると、まず、HairメッシュとFaceメッシュの交換目的でVRMモデルを2体重ねてインポートします。次に、後から追加したモデルのHairとFaceだけ残し、アーマチュア、コライダーを含め残りのオブジェクトを全て削除します。そして、両オブジェクトの親を最初にインポートしたモデルのArmatureに変更します。付随してきたアーマチュアモディファイアの対象も同Armatureに変更します。
この時点で、Blender3.6であれば、VRM1.0ファイルを出力できるのですが、Blender4.2または4.3では、上図のようなPythonエラーを返され出力できません。送り側モデルがVRM0.x系であっても、受け側がVRM1.0であれば同様なエラーとなります。
ただし、Hairオブジェクトにアーマチュアモディファイアを設定しなければエラーは返されず出力できます。一方で、Faceオブジェクトは、アーマチュアモディファイアの設定に直接関係ないようであり、このケースでは、Hairオブジェクトに反応しているようです。
対処法として、Hair、Faceの送り手側モデルの髪に設定したスプリングボーンだけを残して、その他の送り手モデルのボーンを全て削除します。そして、オブジェクトモードで受け側Armatureに残ったプリングボーンを結合させます。この処置により、Hairのウェイト情報はそのままメッシュに残り、エラーも返されず出力可能となります。後はスプリングボーンの親子設定や揺れもの設定を行えば、目的は達成できます。
期待する動作
今回ご報告したケースでは回避法がありましたが、VRM1.0に限っては、外からのメッシュのインポートだけでなく、編集モードで新たにメッシュを追加した場合でも、出力時にPythonエラーを返されることがあります。
また、今回のFaceオブジェクトのように、直接影響していないメッシュの存在も、何がトリガーになっているか、非常に見極めにくい状況です。
とりあえず、VRM1.0の作業において、少なくともBlender3.6と同じ結果が欲しいです。
PC環境情報
なにか他に書いておきたいことはこちらへ
本文だけでは理解しにくい場合、下記noteに記事をまとめましたので、ご参照ください
https://note.com/melvina/n/nd8f4655ae4c4
The text was updated successfully, but these errors were encountered: