Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bug / Crash  Post Unity 2019.1 error
#1
After having upgraded to unity 2019.1, reinstalling Obi to latest version and having to redo all cloth setups, an error persists
"Bone weights do not match bones"
The cloth is being applied to skinned meshes of course.
Hardly any info is available on this error and can't pinpoint the cause at all, so I'm assuming it's due to 2019.1 API changes that Obi has not been keeping up with.
I would like to know if staying in 2018.3 is the only choice, if I will have to ditch Obi or will it update to 2019.1?
Reply
#2
(16-04-2019, 07:11 PM)Saismirk Wrote: After having upgraded to unity 2019.1, reinstalling Obi to latest version and having to redo all cloth setups, an error persists
"Bone weights do not match bones"
The cloth is being applied to skinned meshes of course.
Hardly any info is available on this error and can't pinpoint the cause at all, so I'm assuming it's due to 2019.1 API changes that Obi has not been keeping up with.
I would like to know if staying in 2018.3 is the only choice, if I will have to ditch Obi or will it update to 2019.1?

Hi,

This is due to a change in Unity's mesh import pipeline, not Obi's fault. There's nothing to fix from our side. Extract from Unity's change log for 2019.1:

Code:
Asset Import: Extended Optimize Mesh option on Model asset import settings to allow optimization of Vertex Order and Polygon Order to be controlled independently rather than both being controlled from the same flag. NOTE: Performance improvements to the underlying mesh optimization code may cause vertices to be generated in a different order than in previous Unity versions. If you rely on vertex ordering in the optimized mesh data such as for vertex painting be aware this data may need to be re-generated.

This is the case for built-in samples in Obi. Simply select the meshes affected and disable vertex and polygon order optimization in the inspector. That will fix the issue.
Reply
#3
(16-04-2019, 07:24 PM)josemendez Wrote: Hi,

This is due to a change in Unity's mesh import pipeline, not Obi's fault. There's nothing to fix from our side. Extract from Unity's change log for 2019.1:

Code:
Asset Import: Extended Optimize Mesh option on Model asset import settings to allow optimization of Vertex Order and Polygon Order to be controlled independently rather than both being controlled from the same flag. NOTE: Performance improvements to the underlying mesh optimization code may cause vertices to be generated in a different order than in previous Unity versions. If you rely on vertex ordering in the optimized mesh data such as for vertex painting be aware this data may need to be re-generated.

This is the case for built-in samples in Obi. Simply select the meshes affected and disable vertex and polygon order optimization in the inspector. That will fix the issue.

Thank you for your quick response, that should've occurred to me and it's indeed not Obi's fault. I reexported the meshes twice from their source and never bothered to check if 2019.1 had changed import features.
Reply
#4
(16-04-2019, 07:24 PM)josemendez Wrote: Hi,

This is due to a change in Unity's mesh import pipeline, not Obi's fault. There's nothing to fix from our side. Extract from Unity's change log for 2019.1:

Code:
Asset Import: Extended Optimize Mesh option on Model asset import settings to allow optimization of Vertex Order and Polygon Order to be controlled independently rather than both being controlled from the same flag. NOTE: Performance improvements to the underlying mesh optimization code may cause vertices to be generated in a different order than in previous Unity versions. If you rely on vertex ordering in the optimized mesh data such as for vertex painting be aware this data may need to be re-generated.

This is the case for built-in samples in Obi. Simply select the meshes affected and disable vertex and polygon order optimization in the inspector. That will fix the issue.
Unfortunately this did not fix the issue, after having reimported all meshes with no mesh optimization, and once again reinitilized all shared topologies and cloth setups, the issue persists.
Reply
#5
(16-04-2019, 09:57 PM)Saismirk Wrote: Unfortunately this did not fix the issue, after having reimported all meshes with no mesh optimization, and once again reinitilized all shared topologies and cloth setups, the issue persists.

Hi,

We cannot reproduce the issue. Make sure you've clicked the "Initialize" button in the cloth component after regenerating the topology, as this is the step that actually setups the cloth using the topology.
Reply
#6
(16-04-2019, 10:15 PM)josemendez Wrote: Hi,

We cannot reproduce the issue. Make sure you've clicked the "Initialize" button in the cloth component after regenerating the topology, as this is the step that actually setups the cloth using the topology.

I have remade the whole cloth setup from scratch, nothing seems to work at all. May I add that the simulation actually does play in the particle editor (after making Unity crash several times). 
While testing on a completely new version of the mesh, going into the particle Editor throws this error:

NullReferenceException: Object reference not set to an instance of an object
Obi.ObiClothEditor.UpdateParticleEditorInformation () (at Assets/Obi/Editor/ObiClothEditor.cs:96)
Obi.ObiParticleActorEditor.OnSceneGUI () (at Assets/Obi/Editor/ObiParticleActorEditor.cs:247)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <1f0c1ef1ad524c38bbc5536809c46b48>: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 <1f0c1ef1ad524c38bbc5536809c46b48>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <1f0c1ef1ad524c38bbc5536809c46b48>:0)
UnityEditor.SceneView.CallOnSceneGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:3275)
UnityEditor.SceneView.HandleSelectionAndOnSceneGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:2522)
UnityEditor.SceneView.OnGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:2383)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <1f0c1ef1ad524c38bbc5536809c46b48>: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 <1f0c1ef1ad524c38bbc5536809c46b48>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <1f0c1ef1ad524c38bbc5536809c46b48>:0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:345)
UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:339)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:315)
UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect, System.Boolean floatingWindow, System.Boolean isBottomTab) (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:373)
UnityEditor.DockArea.OldOnGUI () (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:340)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:295)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:481)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent () (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:455)
UnityEngine.UIElements.UIR.ImmediateRenderer.Draw (UnityEngine.UIElements.UIR.DrawChainState dcs) (at C:/buildslave/unity/build/Modules/UIElements/Renderer/UIRenderer/UIRenderers.cs:447)
UnityEngine.UIElements.UIR.UIRenderDevice.ContinueChain (UnityEngine.UIElements.UIR.RendererBase head, UnityEngine.UIElements.UIR.DrawChainState dcs, System.Boolean outerChainsWithMeshRenderer) (at C:/buildslave/unity/build/Modules/UIElements/Renderer/UIRenderer/UIRenderDevice.cs:841)
UnityEngine.UIElements.UIR.UIRenderDevice.DrawChain (UnityEngine.UIElements.UIR.RendererBase head, UnityEngine.Rect viewport, UnityEngine.Matrix4x4 projection, UnityEngine.Texture atlas) (at C:/buildslave/unity/build/Modules/UIElements/Renderer/UIRenderer/UIRenderDevice.cs:824)
UnityEngine.UIElements.UIRRepaintUpdater.DrawChain (UnityEngine.Rect topRect, UnityEngine.Matrix4x4 projection) (at C:/buildslave/unity/build/Modules/UIElements/Renderer/UIRRepaintUpdater.cs:218)
UnityEngine.UIElements.UIRRepaintUpdater.Update () (at C:/buildslave/unity/build/Modules/UIElements/Renderer/UIRRepaintUpdater.cs:190)
UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTree () (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeUpdater.cs:70)
UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at C:/buildslave/unity/build/Modules/UIElements/Panel.cs:589)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:240)
UnityEngine.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:78)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)

Obi appears to be completely unusable in 2019.1 for me.
Reply
#7
(16-04-2019, 10:39 PM)Saismirk Wrote: I have remade the whole cloth setup from scratch, nothing seems to work at all. May I add that the simulation actually does play in the particle editor (after making Unity crash several times). 
While testing on a completely new version of the mesh, going into the particle Editor throws this error:

NullReferenceException: Object reference not set to an instance of an object
Obi.ObiClothEditor.UpdateParticleEditorInformation () (at Assets/Obi/Editor/ObiClothEditor.cs:96)
Obi.ObiParticleActorEditor.OnSceneGUI () (at Assets/Obi/Editor/ObiParticleActorEditor.cs:247)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <1f0c1ef1ad524c38bbc5536809c46b48>: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 <1f0c1ef1ad524c38bbc5536809c46b48>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <1f0c1ef1ad524c38bbc5536809c46b48>:0)
UnityEditor.SceneView.CallOnSceneGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:3275)
UnityEditor.SceneView.HandleSelectionAndOnSceneGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:2522)
UnityEditor.SceneView.OnGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:2383)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <1f0c1ef1ad524c38bbc5536809c46b48>: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 <1f0c1ef1ad524c38bbc5536809c46b48>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <1f0c1ef1ad524c38bbc5536809c46b48>:0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:345)
UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:339)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:315)
UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect, System.Boolean floatingWindow, System.Boolean isBottomTab) (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:373)
UnityEditor.DockArea.OldOnGUI () (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:340)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:295)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:481)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent () (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:455)
UnityEngine.UIElements.UIR.ImmediateRenderer.Draw (UnityEngine.UIElements.UIR.DrawChainState dcs) (at C:/buildslave/unity/build/Modules/UIElements/Renderer/UIRenderer/UIRenderers.cs:447)
UnityEngine.UIElements.UIR.UIRenderDevice.ContinueChain (UnityEngine.UIElements.UIR.RendererBase head, UnityEngine.UIElements.UIR.DrawChainState dcs, System.Boolean outerChainsWithMeshRenderer) (at C:/buildslave/unity/build/Modules/UIElements/Renderer/UIRenderer/UIRenderDevice.cs:841)
UnityEngine.UIElements.UIR.UIRenderDevice.DrawChain (UnityEngine.UIElements.UIR.RendererBase head, UnityEngine.Rect viewport, UnityEngine.Matrix4x4 projection, UnityEngine.Texture atlas) (at C:/buildslave/unity/build/Modules/UIElements/Renderer/UIRenderer/UIRenderDevice.cs:824)
UnityEngine.UIElements.UIRRepaintUpdater.DrawChain (UnityEngine.Rect topRect, UnityEngine.Matrix4x4 projection) (at C:/buildslave/unity/build/Modules/UIElements/Renderer/UIRRepaintUpdater.cs:218)
UnityEngine.UIElements.UIRRepaintUpdater.Update () (at C:/buildslave/unity/build/Modules/UIElements/Renderer/UIRRepaintUpdater.cs:190)
UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTree () (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeUpdater.cs:70)
UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at C:/buildslave/unity/build/Modules/UIElements/Panel.cs:589)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:240)
UnityEngine.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:78)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)

Obi appears to be completely unusable in 2019.1 for me.

For us it works perfectly, make sure the asset is properly installed. We are using 2019.1.0f2. Here's a video of us opening a new project in 2019.1.0f2, importing Obi Cloth 4.1 and running a sample scene after fixing the mesh vertex order issue and reinitializing the cloth.

Reply
#8
(17-04-2019, 10:57 AM)josemendez Wrote: For us it works perfectly, make sure the asset is properly installed. We are using 2019.1.0f2. Here's a video of us opening a new project in 2019.1.0f2, importing Obi Cloth 4.1 and running a sample scene after fixing the mesh vertex order issue and reinitializing the cloth.

Hello, I found the source of the issue to be the new custom Bone/Vertex number setting in the rig setup for the mesh. By default it is 4, and setting a higher number fixed it.

[Image: ztcDEAB.png]
Reply
#9
(17-04-2019, 09:29 PM)Saismirk Wrote: Hello, I found the source of the issue to be the new custom Bone/Vertex number setting in the rig setup for the mesh. By default it is 4, and setting a higher number fixed it.

[Image: ztcDEAB.png]
The issue can also be reproduced at the Obi Sample Scene "CharacterCloth"
Reply
#10
Hey. The same error when trying to work with the skin in 2019.1. Removed ticks from all optimizations in import settings, made 128 weight values, does not help. When I use a standard unit cloth everything works well. Did any specific solution appear?
Reply