Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Rope not rendered in 2019.4.22
#1
Hi Obi team,  Sonrisa

For some compatibity issue I have to move to Unity before 2020 and when I imported Obi Rope 6.0.1 to 2019.4.22 the rope is not rendered correctly.

As shown in the attached image, the rope is only a line and once I click at some other objects, this line disappears.

Does it mean that 2019.4.22 is no longer supported or is there anything I can do to get it to work?

Many thanks in advance!


Attached Files Thumbnail(s)
   
Reply
#2
(01-04-2021, 12:26 PM)Henning Wrote: Hi Obi team,  Sonrisa

For some compatibity issue I have to move to Unity before 2020 and when I imported Obi Rope 6.0.1 to 2019.4.22 the rope is not rendered correctly.

As shown in the attached image, the rope is only a line and once I click at some other objects, this line disappears.

Does it mean that 2019.4.22 is no longer supported or is there anything I can do to get it to work?

Many thanks in advance!

Obi 6.0.1 is supported in Unity 2019.3 and up, there should be no issues in 2019.4.

The line you’re seeing is the path gizmo. As such, it’s only rendered if the rope object is selected. As for the rope mesh not being rendered, make sure the rope is parented under a solver. Neither simulation nor rendering will be updated if there’s no solver to do so. Also, make sure the rope has one of the rope rendering components: http://obi.virtualmethodstudio.com/tutor...modes.html

Let me know if this helps Sonrisa
Reply
#3
(01-04-2021, 12:33 PM)josemendez Wrote: Obi 6.0.1 is supported in Unity 2019.3 and up, there should be no issues in 2019.4.

The line you’re seeing is the path gizmo. It’s only rendered if the rope object is selected. As for the rope mesh not being rendered, make sure the rope is parented under a solver. Neither simulation nor rendering will be updated if there’s no solver to do so.

Let me know if this helps Sonrisa

HI Jose,

Thanks for your quick reply! 

I am sure that the rope is under a solver. I am using Ubuntu 18.04 currently, do you think this might be related?

Thanks again!


Attached Files Thumbnail(s)
   
Reply
#4
(01-04-2021, 12:40 PM)Henning Wrote: HI Jose,

Thanks for your quick reply! 

I am sure that the rope is under a solver. I am using Ubuntu 18.04 currently, do you think this might be related?

Thanks again!

The OS shouldn’t make any difference.

What renderer component are you using? (Extruded renderer, chain renderer, etc)
Is the solver included in a Updater component? (ObiFixedUpdater, ObiLateUpdater, etc)?
Reply
#5
(01-04-2021, 12:47 PM)josemendez Wrote: The OS shouldn’t make any difference.

What renderer component are you using? (Extruded renderer, chain renderer, etc)
Is the solver included in a Updater component? (ObiFixedUpdater, ObiLateUpdater, etc)?

The solver includes an ObiFixedUpdater and I am using Extruded renderer. Everything is just default. Thanks.
Reply
#6
(01-04-2021, 12:53 PM)Henning Wrote: The solver includes an ObiFixedUpdater and I am using Extruded renderer. Everything is just default. Thanks.

In this case, the rope should definitely be rendered. Some more things:
- Maybe the rope is hidden in the hierarchy? (little eye icon in the left row of the hierarchy, only appears when hovering the mouse over it)
- Does the MeshFilter component in the rope have a mesh assigned? (This is done automatically, but just a sanity check)
Reply
#7
(01-04-2021, 01:13 PM)josemendez Wrote: In this case, the rope should definitely be rendered. Some more things:
- Maybe the rope is hidden in the hierarchy? (little eye icon in the left row of the hierarchy, only appears when hovering the mouse over it)
- Does the MeshFilter component in the rope have a mesh assigned? (This is done automatically, but just a sanity check)

The rope is not hidden and I just checked that the mesh in MeshFilter is assigned to extrudedMesh.

I thought it should be rendered as well since this is how it worked previously on other versions.

One thing that I observed is that when I hit the play button, I got this error which kept repeating itself:

DllNotFoundException: libOni

Maybe it the part that caused the whole problem? Thanks.
Reply
#8
(01-04-2021, 01:53 PM)Henning Wrote: One thing that I observed is that when I hit the play button, I got this error which kept repeating itself:

DllNotFoundException: libOni

Maybe it the part that caused the whole problem? Thanks.

Yes, that means the entire engine library isn’t found by Unity. Nothing (sinulation, rendering) will work.

If you’ve just imported Obi into the project, restarting Unity usually fixes it as Unity can’t hot-load native libraries (see our FAQ: http://obi.virtualmethodstudio.com/faq.html)

Another possibility is that the library just isn’t there for some reason. Check that /Obi/Plugins/x86_64/libOni.so exists.

Note this only applies when using the fallback backend (Oni). Installing the required Burst dependencies will circumvent the use of any native libraries.
Reply
#9
(01-04-2021, 02:00 PM)josemendez Wrote: Yes, that means the entire engine library isn’t found by Unity. Nothing (sinulation, rendering) will work.

If you’ve just imported Obi into the project, restarting Unity usually fixes it as Unity can’t hot-load native libraries (see our FAQ: http://obi.virtualmethodstudio.com/faq.html)

Another possibility is that the library just isn’t there for some reason. Check that /Obi/Plugins/x86_64/libOni.so exists.

Great! It should be the culprit then!

I have restarted the project several times so hot-loading shouldn't be the problem. /Obi/Plugins/x86_64/libOni.so exists as well.

Here is the complet error I got when restarting the project. 

DllNotFoundException: libOni
Obi.OniBackend.CreateSolver (Obi.ObiSolver solver, System.Int32 capacity) (at Assets/Obi/Scripts/Common/Backends/Oni/OniBackend.cs:17)
Obi.ObiSolver.Initialize () (at Assets/Obi/Scripts/Common/Solver/ObiSolver.cs:849)
Obi.ObiSolver.AddActor (Obi.ObiActor actor) (at Assets/Obi/Scripts/Common/Solver/ObiSolver.cs:1107)
Obi.ObiActor.AddToSolver () (at Assets/Obi/Scripts/Common/Actors/ObiActor.cs:338)
Obi.ObiActor.OnEnable () (at Assets/Obi/Scripts/Common/Actors/ObiActor.cs:313)
Reply
#10
(01-04-2021, 02:06 PM)Henning Wrote: Here is the complet error I got when restarting the project. 

DllNotFoundException: libOni
Obi.OniBackend.CreateSolver (Obi.ObiSolver solver, System.Int32 capacity) (at Assets/Obi/Scripts/Common/Backends/Oni/OniBackend.cs:17)
Obi.ObiSolver.Initialize () (at Assets/Obi/Scripts/Common/Solver/ObiSolver.cs:849)
Obi.ObiSolver.AddActor (Obi.ObiActor actor) (at Assets/Obi/Scripts/Common/Solver/ObiSolver.cs:1107)
Obi.ObiActor.AddToSolver () (at Assets/Obi/Scripts/Common/Actors/ObiActor.cs:338)
Obi.ObiActor.OnEnable () (at Assets/Obi/Scripts/Common/Actors/ObiActor.cs:313)

I've tried to reproduce this in Ubuntu 10.4.3 LTS (Virtual Box, which is where we build the native library for Linux) using Unity 2019.3.1f1 to no avail. It's really strange that Unity can't find the library despite it being there. This sounds like a problem with the Unity installation, the OS, or both.

The console log doesn't really help much, since any call to a function defined in the lib (in this case, OniBackend.CreateSolver) will trigger the DllNotFoundException.

For the time being installing the Burst dependencies should help, as the Burst backend (the default backend) does not use any library:
http://obi.virtualmethodstudio.com/tutor...kends.html

Just to get it right: you were previously using Unity 2020 in Ubuntu 18.04, downgraded to Unity 2019.4 and it stopped working, correct?

Also, could you share the content of the editor logs? There, a list of places where Unity -unsuccessfully- looked for the library should appear.
Reply