esperecyan / VRMConverterForVRChat

https://pokemori.booth.pm/items/1025226
Mozilla Public License 2.0
189 stars 23 forks source link

Export VRM fileボタンを押した時にArgumentExceptionエラーが発生 #25

Closed shakura02 closed 2 years ago

shakura02 commented 2 years ago

■現象 Export VRM fileボタンを押した時に以下エラーが発生します。 System.ArgumentException: GetBlendShapeFrameVertices() output arrays size must match mesh vertex count at (wrapper managed-to-native) UnityEngine.Mesh.GetBlendShapeFrameVertices(UnityEngine.Mesh,int,int,UnityEngine.Vector3[],UnityEngine.Vector3[],UnityEngine.Vector3[])


■発生手順 以下手順で発生します。 もし手順に誤りがありましたらご指摘いただけますと幸いです。

①Unityプロジェクトを新規作成 ②VRCSDK3-AVATAR-2021.11.08.14.28_Public.unitypackageをAssetsにD&D ③ダイナミックボーンをAsset storeからインストール ④Rusk_SDK3.0.unitypackageをAssetsにD&D  アバター:https://komado.booth.pm/items/2559783 ⑤PrefabをHierarchyにD&D ⑥VRM Converter for VRChat Installer.unitypackageをAssetsにD&D ⑦VRM0⇒Export VRM file from VRChat avatar ⑧Title等設定してExport VRM fileボタンを押す


■備考 ⑥の後にUnityを落として再起動してみましたが、 ⑦⑧の結果、同じエラーが発生しました。


原因に心当たりのある方いらっしゃいましたら、 アドバイスをいただけますと大変ありがたいです。

以上、よろしくお願いします

shakura02 commented 2 years ago

■追記 VRM0⇒Export UniVRM-0.88.1の場合は問題なく出力できることを確認しました。 取り急ぎは手作業で表情やSpring Bone、Colliderの設定をしてこちらの出力方法でトライしてみます。 「Export VRM file from VRChat avatar」はこれらの煩雑な手順を自動で行ってくれる機能という認識でしたが、 そもそもこの認識が誤っていましたらすみません。

esperecyan commented 2 years ago

ご報告ありがとうございます。 こちら側で再現可能なアバターデータ等はありますでしょうか。

shakura02 commented 2 years ago

@esperecyan コメントいただきありがとうございます。

こちら側で再現可能なアバターデータ等はありますでしょうか。

⇒申し訳ございません。  まだVRは始めたばかりでして、こちらの有償アバターしか所有していない状況です。

■メモ こういった現象はアバター依存の可能性が高いでしょうか。 検証用に別のアバターで試す必要がありましたらご指示いただけましたら幸いです。 ご指定いただいたアバターで現象再現するかどうか、私の環境で確認してみたいと思います。

esperecyan commented 2 years ago

問題が起きるデータを調べてみないと何とも言えませんが、ご報告いただいた現象が発生するアバターは手元になく、情報がない状態です。

たとえばこちらのunitypackageは、以下のVRoid HubからダウンロードしたVRMファイルをVRChatアバターへ変換したものですが、これをVRM Converter for VRChatでExport VRM fileすると正常に .vrm ファイルが出力されます。 https://17.gigafile.nu/0131-ce0515ee6cf887fc578d7c0501eadd25e https://hub.vroid.com/characters/675572020956181239/models/4479743608263344465

shakura02 commented 2 years ago

■結果 リンクを貼っていただいたUnitypackageで試してみました。 全く同一の手順で問題なくVRMが生成できることを確認しました。

■テスト手順 ①Unityプロジェクトを新規作成 ②VRCSDK3-AVATAR-2021.11.08.14.28_Public.unitypackageをAssetsにD&D ③ダイナミックボーンをAsset storeからインストール ④AvatarSample_D (VRChat).unitypackageをAssetsにD&D  アバター:https://17.gigafile.nu/0131-ce0515ee6cf887fc578d7c0501eadd25e ⑤PrefabをHierarchyにD&D ⑥VRM Converter for VRChat Installer.unitypackageをAssetsにD&D ⑦VRM0⇒Export VRM file from VRChat avatar ⑧Title等設定してExport VRM fileボタンを押す

■備考 同じ環境、同じ手順で結果が変わりましたので、 VRChatアバターの条件によって変換できたりできなかったりするみたいです。

esperecyan commented 2 years ago

検証いただき有り難うございます。

エラーメッセージを見る限りだと、シェイプキーが何か特殊な状態になっているのでしょうか……モデル制作者様に問い合わせてみても良いかもしれません。

jameswilddev commented 2 years ago

Apologies, I do not speak Japanese, but I might know what caused this:

Ensure that your model (likely FBX) is configured to import or calculate normals: image

If "import" doesn't work either, try "calculate".

esperecyan commented 2 years ago

@jameswilddev I have indeed reproduced it! Thank you for the information!

esperecyan commented 2 years ago

UniVRM-0.99.4で不具合が修正され、VRM Converter for VRChat v38.2.0でそのバージョンへ依存するようにしました。