VRMConverterForVRChat icon indicating copy to clipboard operation
VRMConverterForVRChat copied to clipboard

「VRM」→「Export VRM file from VRChat avatar」を選択するとエラーがでる: ArgumentException: Blend shape index out of range.

Open Roumei0624 opened this issue 2 years ago • 15 comments

下記内容エラーが出てしまうのですが、原因わかりますでしょうか?

::::::::::::::::::::::::::::::::::::::::::::::::::: ArgumentException: Blend shape index out of range. Esperecyan.Unity.VRMConverterForVRChat.Utilities.VRChatUtility.DetectBlinkExpressions (System.Collections.Generic.IDictionary2[TKey,TValue] expressions, UnityEngine.GameObject instance, System.Collections.Generic.IEnumerable1[T] shapeKeyNames) (at Library/PackageCache/[email protected]/Editor/Utilities/VRChatUtility.cs:382) Esperecyan.Unity.VRMConverterForVRChat.Utilities.VRChatUtility.DetectVRChatExpressions (UnityEngine.GameObject instance, System.Collections.Generic.IEnumerable`1[T] shapeKeyNames) (at Library/PackageCache/[email protected]/Editor/Utilities/VRChatUtility.cs:332) Esperecyan.Unity.VRMConverterForVRChat.UI.VRChatToVRMWizard.DrawWizardGUI () (at Library/PackageCache/[email protected]/Editor/UI/VRChatToVRMWizard.cs:170) UnityEditor.ScriptableWizard.OnGUI () (at :0) System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at :0) Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation. System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at :0) System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at :0) UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at :0) UnityEditor.HostView.Invoke (System.String methodName) (at :0) UnityEditor.HostView.OldOnGUI () (at :0) UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at :0) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

::::::::::::::::::::::::::::::::::::::::::::::::::: GUI Error: You are pushing more GUIClips than you are popping. Make sure they are balanced. UnityEngine.GUIUtility:ProcessEvent (int,intptr) :::::::::::::::::::::::::::::::::::::::::::::::::::

ArgumentException: Blend shape index out of range. Esperecyan.Unity.VRMConverterForVRChat.Utilities.VRChatUtility.DetectBlinkExpressions (System.Collections.Generic.IDictionary2[TKey,TValue] expressions, UnityEngine.GameObject instance, System.Collections.Generic.IEnumerable1[T] shapeKeyNames) (at Library/PackageCache/[email protected]/Editor/Utilities/VRChatUtility.cs:382) Esperecyan.Unity.VRMConverterForVRChat.Utilities.VRChatUtility.DetectVRChatExpressions (UnityEngine.GameObject instance, System.Collections.Generic.IEnumerable`1[T] shapeKeyNames) (at Library/PackageCache/[email protected]/Editor/Utilities/VRChatUtility.cs:332) Esperecyan.Unity.VRMConverterForVRChat.UI.VRChatToVRMWizard.DrawWizardGUI () (at Library/PackageCache/[email protected]/Editor/UI/VRChatToVRMWizard.cs:170) UnityEditor.ScriptableWizard.OnGUI () (at :0) System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at :0) Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation. System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at :0) System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at :0) UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at :0) UnityEditor.HostView.Invoke (System.String methodName) (at :0) UnityEditor.HostView.OldOnGUI () (at :0) UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at :0) UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at :0) UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at :0) UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Boolean straightY, System.Single pixelsPerPoint, System.Exception& immediateException) (at :0) Rethrow as ImmediateModeException UnityEngine.UIElements.UIR.RenderChain.Render (UnityEngine.Rect viewport, UnityEngine.Matrix4x4 projection, UnityEngine.UIElements.PanelClearFlags clearFlags) (at :0) UnityEngine.UIElements.UIRRepaintUpdater.DrawChain (UnityEngine.Rect viewport, UnityEngine.Matrix4x4 projection) (at :0) UnityEngine.UIElements.UIRRepaintUpdater.Update () (at :0) UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at :0) UnityEngine.UIElements.Panel.UpdateForRepaint () (at :0) UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at :0) UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at :0) UnityEngine.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at :0) UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <344226e341014466b33f0c0fa34fcef5>:0)

Roumei0624 avatar Dec 15 '21 10:12 Roumei0624

またボタンを押してもこのような表示で何も表示されるでして… image

Roumei0624 avatar Dec 15 '21 10:12 Roumei0624

ご報告有り難うございます。 こちらのエラーは、変換ダイアログを開いたときに表示される、ということでしょうか。 また、問題を再現できる3Dモデルをご提供いただくことは可能でしょうか。

esperecyan avatar Dec 16 '21 05:12 esperecyan

はい。 提供すること可能です。 個人で色々と改変しているデータですが、よろしいでしょうか?

Roumei0624 avatar Dec 16 '21 05:12 Roumei0624

改変というのは、自作でない改変元となるモデルが存在するということでしょうか。

esperecyan avatar Dec 16 '21 06:12 esperecyan

はい。そのとおりです。

Roumei0624 avatar Dec 16 '21 06:12 Roumei0624

こちらで公開、あるいは自分へメッセージ等で送っても権利上問題がないモデルということでしょうか。 でしたらぜひよろしくお願いいたします。

esperecyan avatar Dec 16 '21 06:12 esperecyan

製作者に確認致します! ちなみにデータの渡し方はどのようにすればよろしいでしょうか?

Roumei0624 avatar Dec 16 '21 06:12 Roumei0624

助かります。よろしくお願いいたします。 https://gigafile.nu/ などでアップロードしたURLを、ショップへの問い合わせから送っていただければと思います。 https://accounts.booth.pm/conversations/9205879/messages

esperecyan avatar Dec 16 '21 07:12 esperecyan

同エラーが発生する3Dモデルは、QuQu様で販売されている「U」、なっふな堂様で販売されている「狐薄 -こはく-」であり、いずれも共有不可ということで承知しました。

QuQu様では無料頒布の3Dモデルがありましたので、VRMへの変換を試したところ、別のエラーが発生しました。 https://sonovr.booth.pm/items/1843582

System.ArgumentException: An item with the same key has already been added. Key: bikkuri   at System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) [0x000c1] in :0   at System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) [0x00000] in :0   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable1[T] source, System.Func2[T,TResult] keySelector, System.Func`2[T,TResult] elementSelector, System.Collections.Generic.IEqualityComparer1[T] comparer) [0x0009d] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 &nbsp;&nbsp;at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement] (System.Collections.Generic.IEnumerable1[T] source, System.Func2[T,TResult] keySelector, System.Func\2[T,TResult] elementSelector) [0x00000] in <351e49e2a5bf4fd6beabb458ce2255f3>:0   at Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.VRChatExpressionsReplacer.ExtractShapeKeyNames (Esperecyan.Unity.VRMConverterForVRChat.VRChatToVRM.VRChatExpressionBinding vrchatExpressionBinding) [0x00013] in ○○○○○○○○○○○○\Editor\VRChatToVRM\VRChatExpressionsReplacer.cs:32

とりあえずこちらのエラーの原因を調査したいと思います。

esperecyan avatar Dec 17 '21 14:12 esperecyan

ご対応ありがとうございます! 何卒よろしくお願い致します!

Roumei0624 avatar Dec 17 '21 18:12 Roumei0624

Same error. it solved?

Kieaer avatar Apr 05 '22 08:04 Kieaer

@Kieaer Currently, I have not been able to determine how to reproduce the error.

esperecyan avatar Apr 05 '22 09:04 esperecyan

System.ArgumentException: An item with the same key has already been added. Key: bikkuri については v38.0.2 で対処しましたが、こちらのエラーについては再現方法が無く不明です。

esperecyan avatar Jul 17 '22 08:07 esperecyan