29-07-2021, 11:46 AM
Hello,
I'm using Obi robe in my VR project to simulate rubber hoses of a piece of medical equipment. The target platform is Oculus Quest 2. In the app, player need to grab various part of the hose and put it in the pre-defined spot (nearby) in the scene or sometimes grab the end/start of the hose and connect it to something.
In the first phase it required 1 rope with a lot of attachments, 17 to be exact, 16 of them are static and the other one is dynamic. I try to play around with all setting and get a passable framerate at the end using guidelines from Obi Rope documentation. Now that the next phase requires around 5-6 ropes with possibly 5-10 attachment points each makes me very worry since in the first phase I barely hit 72 FPS target of the headset. So my questions are
1. Are there any more place/setting that I can tweak or change to increase performance without sacrificing too much simulation quality? (I try lower things more but the sim quality became too bad so I put it back to where it is now)
2. Right now I'm using 2 static attachment points for 1 "thing" that attached and oriented "along" the rope (one on top and another one at bottom of the "thing" to orient it). Is there a way that I can use only 1 attachment point and have it still oriented correctly?
3. If nothing I can tweak/change to improve performance, can I bake rope into mesh at runtime? As far as I know, it can only be done in edit mode. Or maybe I should have 1 solver for each rope and only turn the solver on when I need it. (Since player never have to interact with more than 1 rope at any given time anyway)
Below are relevant settings of the 1 rope in 1st phase that I settled on:
There are also some ObiColliders in the scene (around 10 + attachment points, 1 of them is a mesh collider with 384 tris, the rest are all unity's primitive)
Sorry if I sound desperate, I really am. Any help is appreciated.
Thanks.
I'm using Obi robe in my VR project to simulate rubber hoses of a piece of medical equipment. The target platform is Oculus Quest 2. In the app, player need to grab various part of the hose and put it in the pre-defined spot (nearby) in the scene or sometimes grab the end/start of the hose and connect it to something.
In the first phase it required 1 rope with a lot of attachments, 17 to be exact, 16 of them are static and the other one is dynamic. I try to play around with all setting and get a passable framerate at the end using guidelines from Obi Rope documentation. Now that the next phase requires around 5-6 ropes with possibly 5-10 attachment points each makes me very worry since in the first phase I barely hit 72 FPS target of the headset. So my questions are
1. Are there any more place/setting that I can tweak or change to increase performance without sacrificing too much simulation quality? (I try lower things more but the sim quality became too bad so I put it back to where it is now)
2. Right now I'm using 2 static attachment points for 1 "thing" that attached and oriented "along" the rope (one on top and another one at bottom of the "thing" to orient it). Is there a way that I can use only 1 attachment point and have it still oriented correctly?
3. If nothing I can tweak/change to improve performance, can I bake rope into mesh at runtime? As far as I know, it can only be done in edit mode. Or maybe I should have 1 solver for each rope and only turn the solver on when I need it. (Since player never have to interact with more than 1 rope at any given time anyway)
Below are relevant settings of the 1 rope in 1st phase that I settled on:
There are also some ObiColliders in the scene (around 10 + attachment points, 1 of them is a mesh collider with 384 tris, the rest are all unity's primitive)
Sorry if I sound desperate, I really am. Any help is appreciated.
Thanks.