22-10-2021, 07:44 PM
Hi,
I want to have min. 60-70 softbodies in my scene(Little softbody cubes), bu performance issues arise when there are more than 20 softbodies in the scene(FPS dropping to 2-4). Each softbody has 8 particles and ObiSolver's substep amount is 2.
I tried to solve this problem with these solutions;
- I created an Obi Solver for each of my objects. And I unchecked the box 'Simulate When Invisible', but no luck, fps still drops.
- I attached a script that checks the distance between player and softbody to enable(when the player is in range) or disable(when the player outside of the range) the ObiSoftbody component.
This approach worked very well but most of the times softbodies didn't behave correctly to player's actions or there are lots of position mistakes(weird teleportations) happened.
- I attached a script that checks if the softbody is visible to camera or not, and enable or disable the ObiSoftbody component. (Not surprisingly, I got the same result as solution above)
Are there any solid solution for this kind of case, or am I doing something wrong with applying these solutions?
P.S: In solutions 2 and 3, I also tried to AddActor and RemoveActor methods, not only enabling or disabling the ObiSoftbody component.
P.S 2: I'm using Burst mode. (I also tried to switch Obi mode)
P.S 3: I'm not checking collisions on particles.
Thank you.
I want to have min. 60-70 softbodies in my scene(Little softbody cubes), bu performance issues arise when there are more than 20 softbodies in the scene(FPS dropping to 2-4). Each softbody has 8 particles and ObiSolver's substep amount is 2.
I tried to solve this problem with these solutions;
- I created an Obi Solver for each of my objects. And I unchecked the box 'Simulate When Invisible', but no luck, fps still drops.
- I attached a script that checks the distance between player and softbody to enable(when the player is in range) or disable(when the player outside of the range) the ObiSoftbody component.
This approach worked very well but most of the times softbodies didn't behave correctly to player's actions or there are lots of position mistakes(weird teleportations) happened.
- I attached a script that checks if the softbody is visible to camera or not, and enable or disable the ObiSoftbody component. (Not surprisingly, I got the same result as solution above)
Are there any solid solution for this kind of case, or am I doing something wrong with applying these solutions?
P.S: In solutions 2 and 3, I also tried to AddActor and RemoveActor methods, not only enabling or disabling the ObiSoftbody component.
P.S 2: I'm using Burst mode. (I also tried to switch Obi mode)
P.S 3: I'm not checking collisions on particles.
Thank you.