Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Obi 6.3's Obi Bone
#1
Información 
Hi there,

Obi 6.3 is near release and includes many improvements, among them:

- Character cloth scaling support.
- Full-body volumetric softbodies, and overall improved softbody blueprint generation.
- ObiBone.

ObiBone is a new type of actor included with ObiRope. It leverages the technology behind rods to endow character bones with physical simulation, while respecting the original animation - if any. Braids, tails, breasts, tentacles, wings, and other appendages can be easily and efficiently simulated with this component. Supports full two-way coupling with other actors and rigidbodies, surface collisions, and most other Obi goodies.

You can check its WIP manual page here:
http://obi.virtualmethodstudio.com/manua...setup.html

Wait, I already own ObiRope, do I get this for free?
Yes Sonrisa.

What does this have to do with ropes and rods? Why is it not an asset of its own?
Many bone hierarchies have roughly the same topology as a rope: a list of particles attached to each other in a chain-like fashion. Many of its use cases are also similar: a braid or a reptilian tail can be modeled as a rope, you *could* use ObiRope to simulate them but it's very awkward and uncomfortable. ObiBone takes the pain away from this, so in many ways it's an improvement over ObiRope. Does not feel right to make you pay more to "fix" a shortcoming on an existing asset.

I don't own ObiRope, will its price increase in the future as a result of this additional feature?
Nope.
Reply
#2
I have just read through the wip manual of the Obi Bone.
What is the main advantage of Obi Bone when we compare it with the Unity's default physics system?
Reply
#3
(11-11-2021, 07:06 AM)Snail921 Wrote: I have just read through the wip manual of the Obi Bone.
What is the main advantage of Obi Bone when we compare it with the Unity's default physics system?

The main advantage is that ObiBone allows for two-way coupling between animation and simulation, Unity does not (though you could implement this by driving motorized joints using animation, cumbersome but possible). In a nutshell, this means animation drives the physics, and physics can modify the animation. The first couple gifs in the manual -the dragon’s tail pushing a box and being pushed back by it- showcase this pretty well.

Then you have the usual advantages shared by all Obi assets:
- Obi is unconditionally stable (not just ObiBone) as its based on XPBD, Unity is not.
- Obi is fully multithreaded and vectorized, Unity’s physics are not by default.
- Obi offers substepping, Unity does not (again, you can sort of implement it yourself, though collision detection in Unity is part of the physics step so considerably more expensive to substep)
- Unity does not have an equivalent of Obi’s surface collisions, so any deformable object must use discrete sampling.
- Obi is an unified solver, which means bones can interact with cloth, fluids, etc. Unity uses separate solvers for cloth, rigidbodies, etc.
Reply
#4
Quote:- Obi is unconditionally stable (not just ObiBone) as its based on XPBD, Unity is not.

Oh yeah, I forgot about this point.
I already implemented physical ragdoll system with configurable joints and rigidbodies and that worked pretty well indeed, though there were small issues of oscillation and explosion when they received exceeded impact. As you showed us in the manual with 12 particles dragon's tail, Obi bone seems to handle those situation easily! 

Quote:- Obi is an unified solver, which means bones can interact with cloth, fluids, etc.

In the obi system, all obi actors should belong to a single solver to interact with each other but according to the wip manual, obi bone actor's solver should generally be at the root of the character rig. How can we make that "dragon's tail" to whip and mix obi fluid in a scene, for example?

Regarding collisions, obi bone locates particles at each joint. How do we fill collision between collision between particles? Adding Unity's default colliders accordingly?
Reply
#5
(12-11-2021, 01:01 AM)Snail921 Wrote: In the obi system, all obi actors should belong to a single solver to interact with each other but according to the wip manual, obi bone actor's solver should generally be at the root of the character rig. How can we make that "dragon's tail" to whip and mix obi fluid in a scene, for example?

That's why the manual says "generally" and not "always" Guiño. If you want bones to interact with rigidbodies -which I believe is the most common case- the solver can be anywhere so placing it at the character's root is the obvious choice. For interacting with other Obi actors (fluid, cloth, etc). they all must share the same solver, so you can place it higher in the hierarchy (at the root of the room/area/level).

Solvers can really be placed anywhere, as long as you keep in mind:

- They behave as inertial reference frames.
- Actors in different solvers can't interact (just like rigidbodies in different physics scenes can't interact).
- There's some global settings per-solver (gravity, damping, etc).

(12-11-2021, 01:01 AM)Snail921 Wrote: Regarding collisions, obi bone locates particles at each joint. How do we fill collision between collision between particles? Adding Unity's default colliders accordingly?

You use surface collisions. They've been around for a while now:
http://obi.virtualmethodstudio.com/manua...sions.html

These have the advantage of being cheap, integrating seamlessly with particle-based collisions, and allowing for stuff that regular colliders don't (capsule colliders can't shear/stretch or have varying radius along their length, for instance)

Note that adding regular colliders to Obi actors will never work.  It's like placing bicycle wheels on a car, doesn't make sense: Colliders are meant to work with Rigidbodies in the Unity physics engine. Obi uses its own collision detection pipeline and its own dynamics engine, Unity and Obi are separate physics engines.
Reply
#6
Quote:Solvers can really be placed anywhere, as long as you keep in mind:

- They behave as inertial reference frames.
- Actors in different solvers can't interact (just like rigidbodies in different physics scenes can't interact).
- There's some global settings per-solver (gravity, damping, etc).
Ah, got it.



Quote:You use surface collisions. They've been around for a while now:

http://obi.virtualmethodstudio.com/manua...sions.html
I see. Indeed I forgot about this feature and I did not notice that it was available for obi cloth. It looks so powerful.

When will the surface collision be available to obi softbody, btw?
Reply
#7
Hi,

When will 6.3 be available on asset store? can't wait!
Reply
#8
(23-11-2021, 07:11 AM)xxxh123 Wrote: Hi,

When will 6.3 be available on asset store? can't wait!

If everything goes smooth, later today Sonrisa
Reply