Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Mobile performance
#13
(18-05-2021, 10:44 PM)DryGinStudios Wrote: Is there a way to make the liquid move faster? whatever speed value I change, it doesn't seem to impact the speed of the liquid.

There isn't any physical attribute (mass, density, etc) that you can change to make an object "move faster", in absence of external forces/accelerations. Not fluids, not any other body (eg. rigidbodies). Unless a external agent changes their velocity, all objects will keep moving with whatever velocity they currently have. This is a fundamental law of physics, and applies to all physics engines: if you create a sphere in Unity, there's no parameter that will let you control how fast it rolls down an inclined plane for instance.

You can always change the velocity of individual fluid particles, using the particle API:
http://obi.virtualmethodstudio.com/tutor...icles.html

You can also change Unity's timescale to a value > 1, for a "fastforward" effect to all physics in your game.

(18-05-2021, 10:44 PM)DryGinStudios Wrote: What's are the option I need to check to gain performance? I don't see in the documentation an IMPACT on performance on option. You tell me density iterations less substeps... I don't know where are those options. Density iterations are in the material?

Timestep and iterations control quality vs performance in all existing physics engines, Obi is no exception. The manual's introduction section contains an in-depth explanation of the impact these have in the simulation:
http://obi.virtualmethodstudio.com/tutor...gence.html

Timestep size: there's two ways to change the timestep size: changing Unity's fixed timestep value (found in ProjectSettings->Time, this will affect all physics in your scene), or by using more substeps in Obi (found in the ObiFixedUpdater component, this will only affect Obi). Using more substeps will chop up the fixed timestep into a number of smaller "substeps", resulting in a smaller effective timestep size.

Iterations: can be changed in the ObiSolver component. You can individually tweak the amount of iterations spent on each constraint type, see:
http://obi.virtualmethodstudio.com/tutor...olver.html

In Unity's physics engine you can also adjust the amount of iterations, you can find them in the physics manager: https://docs.unity3d.com/Manual/class-Ph...nager.html. However it only differentiates between position and velocity iterations, so it doesn't give you nearly as much control as Obi does.

Note that time stepping and iterations are basic simulation concepts, that you should already be familiar with if using an advanced engine such as Obi. They are the foundation on which all physics engines are built, you can find lots of online resources regarding this: https://www.reddit.com/r/Unity3D/comment...terations/

(18-05-2021, 10:44 PM)DryGinStudios Wrote: Does Constraints have an impact on performance?

Constraints are the main performance bottleneck in any physics engine. The more constraints are there in the scene, and the more time the engine spends enforcing them, the costlier the simulation. For instance, if you have 1000 rigidbodies colliding with each other in Unity (each contact between 2 bodies is a constraint), the simulation will be much more expensive than having 1000 rigidbodies that don't collide at all. Also, using 6 iterations means the engine will go over all constraints 6 times per timestep, which is more expensive than iterating 5, 4, 3... times.

(18-05-2021, 10:44 PM)DryGinStudios Wrote: Is there a guide somewhere like... where to start on performance and each option with their cost so I can try to tweak everything! Would be awesome.

All of this is common to all physics engines. The manual does not aggregate every performance-sensitive parameter in a single place, however when a parameter affects performance, the manual explains what the tradeoff is. Keep in mind that timestep size and iterations are the most important ones.
Reply


Messages In This Thread
Mobile performance - by DryGinStudios - 12-05-2021, 04:05 PM
RE: Mobile performance - by josemendez - 12-05-2021, 04:55 PM
RE: Mobile performance - by DryGinStudios - 12-05-2021, 05:18 PM
RE: Mobile performance - by DryGinStudios - 12-05-2021, 08:04 PM
RE: Mobile performance - by josemendez - 13-05-2021, 07:43 AM
RE: Mobile performance - by DryGinStudios - 13-05-2021, 12:32 PM
RE: Mobile performance - by DryGinStudios - 12-05-2021, 09:10 PM
RE: Mobile performance - by DryGinStudios - 17-05-2021, 10:02 PM
RE: Mobile performance - by josemendez - 18-05-2021, 07:45 AM
RE: Mobile performance - by DryGinStudios - 18-05-2021, 02:52 PM
RE: Mobile performance - by josemendez - 18-05-2021, 02:54 PM
RE: Mobile performance - by DryGinStudios - 18-05-2021, 10:44 PM
RE: Mobile performance - by josemendez - 19-05-2021, 07:44 AM
RE: Mobile performance - by DryGinStudios - 19-05-2021, 04:49 PM
RE: Mobile performance - by josemendez - 20-05-2021, 07:43 AM
RE: Mobile performance - by DryGinStudios - 20-05-2021, 12:56 PM
RE: Mobile performance - by josemendez - 20-05-2021, 01:45 PM
RE: Mobile performance - by DryGinStudios - 20-05-2021, 03:56 PM
RE: Mobile performance - by josemendez - 20-05-2021, 08:53 PM