Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bug / Crash  Errors when ending playmode
#11
(29-01-2020, 10:05 AM)josemendez Wrote: Hi!

Not able to reproduce this either. What I did:
- Duplicate the rope.
- Duplicate the blueprint and assign it to the duplicate rope.
- Edit the duplicate rope (and/or the original one). Both work correctly.

Do you get any console errors while doing this?

Here's a video:

Sorry for the late reply - had an upcoming demo so did not have time to test much - just needed it to work.

Lately I've due to performance issues updated to LWRP (which I know is not supported by Obi, but apparently still is? except for the line renderer) 

The issue above is hit and miss. Sometimes it happens, sometimes it works without problems. I havn't had time test in a new scene.

I'll update once I have more.
Reply
#12
(13-02-2020, 10:30 AM)TheMunk Wrote: Sorry for the late reply - had an upcoming demo so did not have time to test much - just needed it to work.

Lately I've due to performance issues updated to LWRP (which I know is not supported by Obi, but apparently still is? except for the line renderer) 

The issue above is hit and miss. Sometimes it happens, sometimes it works without problems. I havn't had time test in a new scene.

I'll update once I have more.

All Obi assets (save for ObiFluid) are renderer agnostic, should support all SRPs. There's a patch available for the rope line renderer in LWRP (it's simply that Unity calls a different callback function for camera rendering in LWRP than it does in the built-in pipeline), if you need it let me know.
Reply
#13
(13-02-2020, 01:14 PM)josemendez Wrote: All Obi assets (save for ObiFluid) are renderer agnostic, should support all SRPs. There's a patch available for the rope line renderer in LWRP (it's simply that Unity calls a different callback function for camera rendering in LWRP than it does in the built-in pipeline), if you need it let me know.

I would really like that yes. 


My current status is that I can render my entire scene with around 100k tris perfectly in unity 2019.2.21 (without ropes) at 72 frames using multi-view on quest. 
Adding the ropes I dip to around 55 fps. When debugging on device my application is definitely CPU bound.

I read that single-pass stereo rendering should be better for the CPU, but it's apparently broken in 2019.2. I'm currently trying to upgrade the whole project to 2019.3 including upgrading to LWRP/URP, to get single pass rendering working. 

I guess single pass wont give me much performance increase compared to no ropes, but its worth a try. 

As you mentioned in another thread of mine, its the mesh updating of the ropes on the CPU that takes a lot of time (and not really the physics). I'll try with fewer substeps / higher time stamp after I get a 2019.3 build working (or when I give up and return to 2018.2 and multi-view).

All this broken unity VR support/render pipeline talk is not really relevant for the Obi forums, so sorry for dragging it into the discussion and thank you for your patience Sonrisa
Reply
#14
(13-02-2020, 02:04 PM)TheMunk Wrote: I read that single-pass stereo rendering should be better for the CPU, but it's apparently broken in 2019.2. I'm currently trying to upgrade the whole project to 2019.3 including upgrading to LWRP/URP, to get single pass rendering working. 

I guess single pass wont give me much performance increase compared to no ropes, but its worth a try. 

Just got a build on the Quest running 2019.3 with URP and single pass stereo rendering. Not much performance gain, so time to figure out what I'm going to do with the ropes.
Reply
#15
(13-02-2020, 03:39 PM)TheMunk Wrote: Just got a build on the Quest running 2019.3 with URP and single pass stereo rendering. Not much performance gain, so time to figure out what I'm going to do with the ropes.

Alright, just tried with timestep 0.08, single substep on a fixed updater, around 100 active particles (forget the 800 i talked about earlier - that was including pooled) and no smoothing with a 4 segment rope section.

In the unity profiler, ObiFixedUpdater.Update() gives around 2ms, while ObiFixedUpdater.FixedUpdate() is at 1 ms.

This results in almost consistent 72 frames on the Quest.

Do you have any recommendations for increasing performance/simulation? 
Edit: Is there any way to disable the solver ones all actors have entered sleep mode? (only playerinput will awaken the rope again)
Can I skip the CPU mesh recalculations for ropes that are not moving? (bake ropes on runtime) and re-enable when they should be active? 

I hope the Obi line renderer can save me similar performance, cause this timestep is very unrealistic Gran sonrisa
Reply
#16
(28-01-2020, 04:24 PM)josemendez Wrote: Just checked the codebase and no included script removes the ObiRope component of an object at runtime. There's no code in Obi 5.1 (afaik) that could lead to these:

Code:
Can't remove ObiRope (Script) because ObiPathSmoother (Script), ObiParticleRenderer (Script), ObiParticleAttachment (Script), ObiParticleAttachment (Script), ObiRopeCursor (Script) depends on it.
Can't remove ObiPathSmoother (Script) because ObiRopeLineRenderer (Script) depends on it

This will happen if a script tries to remove the ObiRope component of an object without removing all other components that depend on it first. Have you written any custom scripts that do this?

Returning to this, New project, new scene, new unity version, and I still get this error on newly created ropes.
There's literally nothing but a rope, camera, and directional light in the scene.

-With the solver and updater is disabled it still happens.
-even when all the rope components (obi rope, mesh renderer, mesh filter, path smoother, and extruder) is disabled it happens.

Only when disabling the gameobject of the rope the error is gone.
Reply
#17
(13-02-2020, 01:14 PM)josemendez Wrote: All Obi assets (save for ObiFluid) are renderer agnostic, should support all SRPs. There's a patch available for the rope line renderer in LWRP (it's simply that Unity calls a different callback function for camera rendering in LWRP than it does in the built-in pipeline), if you need it let me know.

Can you supply me with info on this patch?
Reply
#18
(19-02-2020, 12:06 PM)TheMunk Wrote: Can you supply me with info on this patch?

Hi,

Take a look at this thread:
http://obi.virtualmethodstudio.com/forum...p?tid=1593
Reply
#19
(19-02-2020, 12:15 PM)josemendez Wrote: Hi,

Take a look at this thread:
http://obi.virtualmethodstudio.com/forum...p?tid=1593

Thanks! Any thoughts on my earlier comments?
Reply
#20
(21-02-2020, 10:26 AM)TheMunk Wrote: Thanks! Any thoughts on my earlier comments?

Haven't been able to reproduce this yet on any Unity version or platform (tried 2019.3.0f6, 2019.2.9f1, 2018.4.10f1 and 2017.4.2.0f2, Windows, Mac and Linux). Also haven't had any other reports regarding this, I'd think at least some other user would have run into it. Here's video of my attempts to get it to happen: new scene, add a rope, play, exit, set up a rope blueprint, play, exit, same but disabling components... no luck.



Maybe you can record a video of the exact steps that trigger it?

Moreover, no component of the rope object (or the solver, or the updater) tries to remove the ObiRope component at any point during execution, so as far as I can think of, there's literally no way for that "Can't remove ObiRope (script)" error to show up. It's really weird.
Reply