Obi 4.0: What’s new

 

Note: Obi 4.0 will be shortly available. It is only compatible with Unity 2018.1 and up, and breaks compatibility with Obi 3.x. If you upgrade from 3.x, you’ll have to re-initialize all Obi actors in your project.

 

 

Obi 4.0 is the result of a year and a half’s worth of hard work. So much has changed compared to 3.x it’s difficult to condense everything in a single post, but we’ll try.

 

Memory mapping

 

3.x’s particle API is a bit awkward to work with, since you need to explicitly call internal functions in the Oni namespace to set or get particle data (for those of you that do not know, Oni is the low-level engine at Obi’s core).

4.x allows Oni to work directly on C#’s memory space. For the engine, this means faster execution (as data no longer has to be copied back and forth between C# and C++), less memory footprint, and no garbage collection.

For you, the user, this means you can directly access and modify particle arrays and have these changes affect the simulation immediately. No more Oni.SetParticleVelocities() mumbo jumbo. Just do:

solver.velocities[i] = new Vector3(0.5f,0.5f,0);

Same for all particle properties: positions, inverse masses, radii, etc. Also, no need to call solver.RequireRenderablePositions(). They’re always available:

Vector3 myPosition = solver.renderablePositions[i];

Oriented particles

Particles in Obi used to be glorified points in space (with a size and a velocity, in addition to position). Obi 4.0 equips particles with orientation, angular velocity, and inertia tensor. This brings them closer to rigidbodies and enables the simulation of very exciting stuff, while still keeping things lightweight and fast. Let’s see what this means for Obi Rope, Obi Fluid, and the new Obi Softbody:

 

Obi Rope

 

Obi Rope 4.0 introduces rods. A rod is a solid, elongated piece of matter that considers torsion, bending, stretching and shearing and is able to remember and keep a target shape. On the other hand, ropes only model bending and stretching, and have no rest shape: they’re always straight.

 

A spring with a rigid body weight attached to its end.

 

Use rods for simulating rigid bars, springs, curled cables, etc. They enable a lot of cool real-world phenomena to emerge, like plectoneme formation:

 

This is what happens when you twist the end of a rubber band.

Obi Fluid

 

The fluid solver has been rebuilt from the ground up for 4.0. We now use a parallel binned symmetrical solver which does two great things for us:

  • Cuts the amount of particle interactions in half. This boosts performance, specially in mobile devices.
  • Imposes no limits on the amount of neighbors per particle. This ensures stability in high-pressure scenarios.

We have also greatly improved the surface tension model, making it resolution-independent and unconditionally stable.

 

Fluids of different resolutions can now be mixed in the same simulation, with no adverse effects.

Rayleigh-Taylor instability. The yellow fluid has half the resolution of the blue one. (yellow particles twice as big)

 

We’ve added property diffusion. There’s 4 channels of data that can be affected by property diffusion. Hello color mixing!

Yellow and blue fluids mixing into each other.

 

Viscosity, surface tension and resolution can now be set per-particle. Let’s say you bind viscosity to one of the 4 diffusion channels, to achieve variable viscosity driven by heat diffusion:

A very viscous fluid falls on a hot plate, melts, then cools down.

 

Last but not least, particle advection is now almost x3 faster so you can get more detail out of it.

Two ink drops colliding, each one contains 6000 advected particles.

Obi Softbody

Here comes a new challenger! the fourth member of the Obi family is meant to cover an important use case, that many people use cloth for (with not so good results): making deformable volumetric bodies.

 

A wobbly monster and its particle-based representation.

 

Softbodies are made out of ellipsoidal oriented particles, linked together by shape matching constraints. The whole process of turning a mesh into a soft body is fully automated, so you can turn anything into a softbody at the click of a button.

It also works with skinned characters (entire characters or parts of them).

 

How to get it?

 

Upgrading any Obi asset to 4.0 will be free for those that already own 3.x.

Obi Rope will see its price go up slightly for new users though, since we consider rods open up a whole new world of possibilities.

 

With this release, we reach state of the art as far as realtime particle physics is concerned. We will continue to improve Obi, making it faster, easier to use, and more intuitive, so our journey does not end here.

The VM Team

 


 

Don’t forget that we have other assets in the asset store. Visit our Virtual Method store page to find more —> Virtual Method Assets

 

Both Obi Rope and Obi Cloth are on sale during Black Friday, so grab them while you can here:

 


 

you can get the Telluropod model by Protofactor Inc. here :

 

5 comments

Leave a Reply

Your email address will not be published. Required fields are marked *