Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[0.99.4][UniGLTF] MeshIntegratorUtility.Integrate() を、法線のないメッシュへ適用すると ArgumentException が発生 #1746

Closed
esperecyan opened this issue Jul 18, 2022 · 5 comments
Labels
bug Something isn't working mesh

Comments

@esperecyan
Copy link

環境情報

  • UniVRM version: 0.99.2 / 0.101.0
  • Unity version: Unity-2019.4.31f1 / Unity-2022.1.9f1
  • OS: Windows 10

バグについて

ArgumentException: GetBlendShapeFrameVertices() output arrays size must match mesh vertex count
UniGLTF.MeshUtility.MeshIntegrator.Push (UnityEngine.SkinnedMeshRenderer renderer) (at Library/PackageCache/com.vrmc.gltf@0.101.0/Runtime/MeshUtility/MeshIntegrator.cs:221)
UniGLTF.MeshUtility.MeshIntegratorUtility.Integrate (UnityEngine.GameObject go, UniGLTF.MeshUtility.MeshEnumerateOption onlyBlendShapeRenderers, System.Collections.Generic.IEnumerable`1[T] excludes, System.Boolean destroyIntegratedRenderer) (at Library/PackageCache/com.vrmc.gltf@0.101.0/Runtime/MeshUtility/MeshIntegratorUtility.cs:37)
UniGLTF.MeshUtility.TabMeshIntegrator.Execute (UnityEngine.GameObject src, System.Boolean onlyBlendShapeRenderers) (at Library/PackageCache/com.vrmc.gltf@0.101.0/Editor/MeshUtility/TabMeshIntegrator.cs:79)
UniGLTF.MeshUtility.MeshProcessDialog.OnGUI () (at Library/PackageCache/com.vrmc.gltf@0.101.0/Editor/MeshUtility/MeshProcessDialog.cs:76)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition) (at <2fe0ce07f7284c71902160cfcc0e767e>:0)
UnityEditor.DockArea.DrawView (UnityEngine.Rect dockAreaRect) (at <2fe0ce07f7284c71902160cfcc0e767e>:0)
UnityEditor.DockArea.OldOnGUI () (at <2fe0ce07f7284c71902160cfcc0e767e>: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 <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUIRaw (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUI (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.IMGUIContainer.ProcessEvent (UnityEngine.UIElements.EventBase evt) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.IMGUIContainer.ExecuteDefaultActionAtTarget (UnityEngine.UIElements.EventBase evt) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.CallbackEventHandler.HandleEvent (UnityEngine.UIElements.EventBase evt) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.CallbackEventHandler.HandleEventAtCurrentTargetAndPhase (UnityEngine.UIElements.EventBase evt) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.CallbackEventHandler.HandleEventAtTargetPhase (UnityEngine.UIElements.EventBase evt) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.MouseCaptureDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.EventDispatcher.OpenGate () (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.EventDispatcherGate.Dispose () (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at <80e1dfb2898e41d5b411405c484f01da>:0)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at <16345810913e4130822010222c5660f0>:0)

  • スクリーンショット
  • 再現方法
    1. FBXをインポート
    2. インポート設定の「Model」タブで「法線」を「なし」に
    3. FBXプレハブをシーンへインスタンス化
    4. Unity上部メニュー → UniGLTF → MeshUtility → MeshProcessing Wizard
    5. MeshIntegratorタブで、ターゲットオブジェクトへインスタンス化したプレハブを設定
    6. Process
    7. 例外が発生する
  • エラーの発生するファイル(ここに貼り付けても差し支えの無いもの)
@esperecyan esperecyan added the bug Something isn't working label Jul 18, 2022
@ousttrue
Copy link
Contributor

報告ありがとうございます。
修正します。
v0.99.3

@ousttrue
Copy link
Contributor

v0.99.3 で修正されました。

@esperecyan
Copy link
Author

@ousttrue 修正ありがとうございます。
package.jsonのバージョン番号が更新されていないので、v0.99.4として公開し直してもらえないでしょうか……?

@ousttrue ousttrue changed the title [UniGLTF] MeshIntegratorUtility.Integrate() を、法線のないメッシュへ適用すると ArgumentException が発生 [0.99.4][UniGLTF] MeshIntegratorUtility.Integrate() を、法線のないメッシュへ適用すると ArgumentException が発生 Aug 1, 2022
@ousttrue
Copy link
Contributor

ousttrue commented Aug 1, 2022

v0.99.4 作り直しました 🙏

@esperecyan
Copy link
Author

ありがとうございます!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working mesh
Projects
None yet
Development

No branches or pull requests

2 participants