Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ObiRope Disabling
#1
Hi I'm wondering if someone could help me.

I read somewhere that in the new 3.2 version I can disable the ObiRope component to keep some performance when it's not needed. The problem is that when I re-enable the component the simulation/collisions no longer work, although the static mesh is preserved.

I am using Unity v 2017.1.0f3. Any help would be appreciated.
Reply
#2
I've bought a few products from these developers, a kind of regret it now.
Reply
#3
(01-10-2017, 10:04 PM)brad404 Wrote: Hi I'm wondering if someone could help me.

I read somewhere that in the new 3.2 version I can disable the ObiRope component to keep some performance when it's not needed. The problem is that when I re-enable the component the simulation/collisions no longer work, although the static mesh is preserved.

I am using Unity v 2017.1.0f3. Any help would be appreciated.

Hi brad,

How are you disabling the component?: programatically (share code) or toggling the inspector checkbox in the editor?

Simply trying what you describe works perfectly both in editor and in a standalone build for us. See for instance the "Crane" sample scene. Run it, select the ObiRope, disable it (the rope stays static and the crate falls to the ground), then re-enable it (the rope resumes simulation and the crane snaps back to the end of the rope).

cheers!
Reply
#4
(04-10-2017, 03:01 PM)josemendez Wrote: Hi brad,

How are you disabling the component?: programatically (share code) or toggling the inspector checkbox in the editor?

Simply trying what you describe works perfectly both in editor and in a standalone build for us. See for instance the "Crane" sample scene. Run it, select the ObiRope, disable it (the rope stays static and the crate falls to the ground), then re-enable it (the rope resumes simulation and the crane snaps back to the end of the rope).

cheers!

Hi Jose, Thank you for the response.

I have tried that crane scene and it does work as you said. After a few hours of testing it does seem this issue only happens in a certain situation.

If the rope is stretched between two pins it works, but then if it's disabled and re-enabled it stops working (like the image below shows).

It only seems to continue it's simulation after being disabled - if the rope was bent at the point of disabling.

The rope is 0.1 resolution in this scene, I can send it over if required.

Many thanks, Brad.


[Image: obissue.gif]
Reply
#5
(04-10-2017, 10:24 PM)brad404 Wrote: Hi Jose, Thank you for the response.

I have tried that crane scene and it does work as you said. After a few hours of testing it does seem this issue only happens in a certain situation.

If the rope is stretched between two pins it works, but then if it's disabled and re-enabled it stops working (like the image below shows).

It only seems to continue it's simulation after being disabled - if the rope was bent at the point of disabling.

The rope is 0.1 resolution in this scene, I can send it over if required.

Many thanks, Brad.


[Image: obissue.gif]

Hi Brad,

I could reproduce this, it is in fact a bug. When asleep particles (particles with a kinetic energy below a certain threshold) are deactivated and re-activated, they do not wake up on collision. Thanks a lot for reporting it! Will fix it asap and send you a patch.

A (ugly) workaround for now is to move the rope a slight bit after re-enabling it. This is enough to wake up the particles and re-enable the collision.

When you disable the rope in a bent state, the bend constraint themselves move the rope particles upon reactivation (since they have potential energy stored) and that's enough to wake them up. That's why a bent rope works ok, while a completely straight rope does not.
Reply
#6
Just fixed it.

What platforms do you need to deploy to/use Unity on? (Windows, OSX, iOS, Android)  That way I can only recompile the lib for the platforms you need and you´ll get the patch faster.
Reply
#7
(05-10-2017, 09:04 AM)josemendez Wrote: Just fixed it.

What platforms do you need to deploy to/use Unity on? (Windows, OSX, iOS, Android)  That way I can only recompile the lib for the platforms you need and you´ll get the patch faster.

Thanks very much! I was going crazy trying to figure out why it wasn't working. For the moment I just need the Windows lib.
Reply
#8
(05-10-2017, 12:42 PM)brad404 Wrote: Thanks very much! I was going crazy trying to figure out why it wasn't working. For the moment I just need the Windows lib.

Here you are:

https://we.tl/xoSi8yoNg3

You need to replace /Obi/Plugins/x86 and x86_64 with the ones you'll find in the .zip. Let me know how it goes!

Also if you need additional platforms let me know, but chances are we will release an update including this fix for all platforms soon. 
cheers!
Reply
#9
(05-10-2017, 04:37 PM)josemendez Wrote: Here you are:

https://we.tl/xoSi8yoNg3

You need to replace /Obi/Plugins/x86 and x86_64 with the ones you'll find in the .zip. Let me know how it goes!

Also if you need additional platforms let me know, but chances are we will release an update including this fix for all platforms soon. 
cheers!

Thanks Jose it works great! I did actually stumble into another "bug", although not really a big one. 

If you disable and re-enable a rope with ObiSolver's 'Simulate When Invisible' option unticked, the rope simulation stops working. 

I've just left it ticked for now and it works great but thought I'd mention it.
Reply
#10
(05-10-2017, 09:18 PM)brad404 Wrote: Thanks Jose it works great! I did actually stumble into another "bug", although not really a big one. 

If you disable and re-enable a rope with ObiSolver's 'Simulate When Invisible' option unticked, the rope simulation stops working. 

I've just left it ticked for now and it works great but thought I'd mention it.

Hi brad!

Thanks for finding and reporting it! It would probably have passed unnoticed otherwise, as it only occurs in a very specific situation. Will take a look at this new one you mention.

creerá,
Reply