Thread Rating:
  • 1 Vote(s) - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bug / Crash  ArgumentException: Getting control 0's position in a group with only 0 controls when
#1
I keep getting flooded with the error below and don't really know what to do since I can't even figure out how to use your tool properly. It happens when I enter Edit path mode with a newly created Solver/Rope GameObject which has a Very Long Cable Blueprint applied. Edit mode itself is missing all gui's but I can see/modify control points.

I just bought this today and I'm pretty disappointed that there are no quick, easy to follow tutorials (that get updated). This tool is more complicated than it needs to be, so there should be better documentation and tutorials available to get people using it quicker.


ArgumentException: Getting control 0's position in a group with only 0 controls when doing repaint
Aborting
UnityEngine.GUILayoutGroup.GetNext () (at C:/buildslave/unity/build/Modules/IMGUI/LayoutGroup.cs:122)
UnityEngine.GUILayoutUtility.DoGetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Modules/IMGUI/GUILayoutUtility.cs:428)
UnityEngine.GUILayoutUtility.GetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Modules/IMGUI/GUILayoutUtility.cs:385)
UnityEngine.GUILayout.DoToggle (System.Boolean value, UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Modules/IMGUI/GUILayout.cs:108)
UnityEngine.GUILayout.Toggle (System.Boolean value, UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Modules/IMGUI/GUILayout.cs:105)
Obi.ObiPathEditor.DrawToolButtons () (at Assets/Obi/Editor/RopeAndRod/ObiPathEditor.cs:513)
Obi.ObiPathEditor.DrawUIWindow (System.Int32 windowID) (at Assets/Obi/Editor/RopeAndRod/ObiPathEditor.cs:502)
UnityEngine.GUILayout+LayoutedWindow.DoWindow (System.Int32 windowID) (at C:/buildslave/unity/build/Modules/IMGUI/GUILayout.cs:444)
UnityEngine.GUI.CallWindowDelegate (UnityEngine.GUI+WindowFunction func, System.Int32 id, System.Int32 instanceID, UnityEngine.GUISkin _skin, System.Int32 forceRect, System.Single width, System.Single height, UnityEngine.GUIStyle style) (at C:/buildslave/unity/build/Modules/IMGUI/GUI.cs:1643)
UnityEngine.GUIUtilityLenguarocessEvent(Int32, IntPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
Reply
#2
(26-11-2019, 09:16 PM)adamamtiam Wrote: I keep getting flooded with the error below and don't really know what to do since I can't even figure out how to use your tool properly. It happens when I enter Edit path mode with a newly created Solver/Rope GameObject which has a Very Long Cable Blueprint applied. Edit mode itself is missing all gui's but I can see/modify control points.

I just bought this today and I'm pretty disappointed that there are no quick, easy to follow tutorials (that get updated). This tool is more complicated than it needs to be, so there should be better documentation and tutorials available to get people using it quicker.


ArgumentException: Getting control 0's position in a group with only 0 controls when doing repaint
Aborting
UnityEngine.GUILayoutGroup.GetNext () (at C:/buildslave/unity/build/Modules/IMGUI/LayoutGroup.cs:122)
UnityEngine.GUILayoutUtility.DoGetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Modules/IMGUI/GUILayoutUtility.cs:428)
UnityEngine.GUILayoutUtility.GetRect (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Modules/IMGUI/GUILayoutUtility.cs:385)
UnityEngine.GUILayout.DoToggle (System.Boolean value, UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Modules/IMGUI/GUILayout.cs:108)
UnityEngine.GUILayout.Toggle (System.Boolean value, UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at C:/buildslave/unity/build/Modules/IMGUI/GUILayout.cs:105)
Obi.ObiPathEditor.DrawToolButtons () (at Assets/Obi/Editor/RopeAndRod/ObiPathEditor.cs:513)
Obi.ObiPathEditor.DrawUIWindow (System.Int32 windowID) (at Assets/Obi/Editor/RopeAndRod/ObiPathEditor.cs:502)
UnityEngine.GUILayout+LayoutedWindow.DoWindow (System.Int32 windowID) (at C:/buildslave/unity/build/Modules/IMGUI/GUILayout.cs:444)
UnityEngine.GUI.CallWindowDelegate (UnityEngine.GUI+WindowFunction func, System.Int32 id, System.Int32 instanceID, UnityEngine.GUISkin _skin, System.Int32 forceRect, System.Single width, System.Single height, UnityEngine.GUIStyle style) (at C:/buildslave/unity/build/Modules/IMGUI/GUI.cs:1643)
UnityEngine.GUIUtilityLenguarocessEvent(Int32, IntPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)

Hi there!

Unable to reproduce this. I opened a new scene, created a rope (GameObject->3DObject->Obi->ObiRope), dragged the "Very Long Cable" blueprint to the rope's blueprint slot, and entered edit mode without issue. Could you show me the way you set it up in some way (a few screenshots, or even a video?)

The manual (http://obi.virtualmethodstudio.com/tutorials/) is updated regularly, now with the release of 5.0 pretty much daily, and we just began making video tutorials too:
https://www.youtube.com/playlist?list=PL...Kns3UmsJ8B

As you can see in the manual: (http://obi.virtualmethodstudio.com/tutor...setup.html), the steps to create a rope are:
- Create a rope blueprint asset
- Create a ObiRope actor
- Assign the blueprint to the actor's ropeBlueprint slot, and click edit path.

That's about it. It's not that complicated, but if all you need to create is a rigidbody chain, I'd agree that Obi is probably overkill. We cover a lot of use cases: resizable/tearable rope, character-driven ropes, variable thickness rope, sticky collisions, chains, path-deformed meshes, coupled torsion/bending dynamics, anisotropic shearing/stretching, inertial reference frames... some of these you'd usually only find in expensive industrial grade simulators, not game engines, but we took great care of hiding the complexity away and avoid making it look bloated. Anyway it takes some time to get used to.

Let me know if I can help in any way!
Reply
#3
(27-11-2019, 08:13 AM)josemendez Wrote: Hi there!

Unable to reproduce this. I opened a new scene, created a rope (GameObject->3DObject->Obi->ObiRope), dragged the "Very Long Cable" blueprint to the rope's blueprint slot, and entered edit mode without issue. Could you show me the way you set it up in some way (a few screenshots, or even a video?)

The manual (http://obi.virtualmethodstudio.com/tutorials/) is updated regularly, now with the release of 5.0 pretty much daily, and we just began making video tutorials too:
https://www.youtube.com/playlist?list=PL...Kns3UmsJ8B

As you can see in the manual: (http://obi.virtualmethodstudio.com/tutor...setup.html), the steps to create a rope are:
- Create a rope blueprint asset
- Create a ObiRope actor
- Assign the blueprint to the actor's ropeBlueprint slot, and click edit path.

That's about it. It's not that complicated, but if all you need to create is a rigidbody chain, I'd agree that Obi is probably overkill. We cover a lot of use cases: resizable/tearable rope, character-driven ropes, variable thickness rope, sticky collisions, chains, path-deformed meshes, coupled torsion/bending dynamics, anisotropic shearing/stretching, inertial reference frames... some of these you'd usually only find in expensive industrial grade simulators, not game engines, but we took great care of hiding the complexity away and avoid making it look bloated. Anyway it takes some time to get used to.

Let me know if I can help in any way!

Here's a video.

https://www.youtube.com/watch?v=xhYxNf6b...e=youtu.be
Reply
#4
Hi there,

Still unable to reproduce. Downloaded the exact same Unity version you have, but nothing.

This error generally happens when the amount of UI controls in the layout phase and the rendering phase of a single frame are not the same. The stack trace points to a run of the mill GUILayout.Toggle(), called in OnSceneGUI(), so it's pretty standard, low-risk stuff. Drawing a regular toggle in a regular editor callback simply shouldn't fail.

The only cause I can think of is that some other asset/editor extension is tinkering with the UI render stack, leaving it in a broken/corrupted state by the time Obi tries to draw the path editor UI.

Could you try this in a fresh project, and report back the results?
Reply
#5
(27-11-2019, 09:40 AM)josemendez Wrote: Hi there,

Still unable to reproduce. Downloaded the exact same Unity version you have, but nothing.

This error generally happens when the amount of UI controls between the layout phase and the rendering phase are not the same. The stack trace points to a run of the mill GUILayout.Toggle(), called in OnSceneGUI(), so it's pretty standard, low-risk stuff. Drawing a regular toggle in a regular editor callback simply shouldn't fail.

The only cause I can think of is that some other asset/editor extension is tinkering with the UI render stack, leaving it in a broken/corrupted state by the time Obi tries to draw the path editor UI.

Could you try this in a fresh project, and report back the results?

Thanks for the quick responses. Yes, when setup in a fresh project everything works great. Aura Volumetric Lighting is enabled in the other project. It's the only thing with editor UI components and they're always on so there must be something going on there. I know you can't do anything with that but I suppose others should know that the two don't seem to work well together. I'll just get rid of Aura, then I'll be back on track. Thanks again.
Reply
#6
(27-11-2019, 10:10 AM)adamamtiam Wrote: Thanks for the quick responses. Yes, when setup in a fresh project everything works great. Aura Volumetric Lighting is enabled in the other project. It's the only thing with editor UI components and they're always on so there must be something going on there. I know you can't do anything with that but I suppose others should know that the two don't seem to work well together. I'll just get rid of Aura, then I'll be back on track. Thanks again.

I'll contact the Aura guys for a free/reduced license for testing purposes, and try to unravel what's going on between the two. Thanks!

Edit: are you using Aura or Aura 2? just realized there's two versions available in the store.
Reply
#7
(27-11-2019, 10:21 AM)josemendez Wrote: I'll contact the Aura guys for a free/reduced license for testing purposes, and try to unravel what's going on between the two. Thanks!

Edit: are you using Aura or Aura 2? just realized there's two versions available in the store.

It's Aura 2.

(27-11-2019, 10:33 AM)adamamtiam Wrote: It's Aura 2.

You were probably right on. It seems that Aura 2 may be pushing too many panels to the stack.
Reply
#8
Hi guys, I have encountered the exact same issue. I would prefer to use both assets, do you have any suggestions I can try to make Obi rope and Aura 2 compatible?
Reply
#9
(14-12-2019, 11:43 PM)forinyar Wrote: Hi guys, I have encountered the exact same issue. I would prefer to use both assets, do you have any suggestions I can try to make Obi rope and Aura 2 compatible?

Hi,

This seems to be a bug in Aura's handling of immediate UI. Any asset installed alongside Aura that uses immediate UI in OnSceneGUI() will appear to be broken. When and if the fix will be pushed to the store is beyond our control.

For now, a workaround is to comment line 442 in Aura's SceneViewToolbox.cs file. Should look like this:

Code:
_controlID = 0;

Get rid of that line to fix the issue.

Anyway, I haven't found a way to hide Aura's window in the scene view so it will be drawn over any other window including Obi's.
Reply