Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bug / Crash  Deleting instances of prefabs cause a bug in play mode
#8
(04-02-2021, 10:45 AM)josemendez Wrote: This is a known bug in dynamic attachments, introduced in 5.6.1 and fixed in 6.0 (yet unreleased). A quick fix is to open up ObiParticleAttachment.cs, and just remove/comment out line 456:

Code:
//if (torn)   // <---comment this out
m_Actor.SetConstraintsDirty(Oni.ConstraintType.Pin);



One thing I though I should point out about your current setup: you're using an independent updater/solver for each prefab instance. This is a big no-no. This means each solver and its rope will be updated sequentially, negating most multithreading benefits. Usually you're supposed to have a single Updater component in your scene that updates all solvers in parallel. See:
http://obi.virtualmethodstudio.com/tutor...cture.html
http://obi.virtualmethodstudio.com/tutor...aters.html

To make things worse, all updaters use 3 substeps and have "substep unity physics" enabled. This will force rigidbody physics in your scene to be updated 3 times per updater, for a total of 9 full physics updates per frame. For very simple scenes it might be ok, but as soon as you add a few more ropes it will absolutely obliterate performance.

let me know if I can be of further help. cheers!


It's working now ! Thank you a lot for your efficiency Sonrisa  

Yes, for my original project (not the simple that I made to send for the bug report), I've one Updater, and dynamically add/remove solvers to it. The number of substeps is relative to the number of solvers.

Have a good day !
Reply


Messages In This Thread
RE: Deleting instances of prefabs cause a bug in play mode - by ThisIsFine - 04-02-2021, 11:11 AM