Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Compare to Unity Cloth
#1
Thank you for this amazing product with an outstanding implementation. I am currently interested in putting a jacket on my character like your CharacterCloth scene. In general I would like to better understand the advantages of ObiCloth over UnityCloth, so I can harness all the power.

-For clothing can you highlight some advantages/disadvantage over UnityCloth? For example I think Obi can use mesh collider and looks better(In what way?), with same performance. The big advantage of Unity Cloth is that it potentially works on all platforms, which leads to next question.

-Can I use both Unity Cloth and Obi Cloth? The idea would be for Console/Web (Obi=Disable, UnityCloth=Enable) and for other platforms (Obi=Enable, UnityCloth=Disable). Does this sound like a good idea, but it does add a lot of work?

-For unsupported platforms will everything just work as if Obi was not included? It would be nice if Obi was somehow excluded automatically on unsupported platforms. Alternatively do I need to make different prefabs or something for different platforms that exclude Obi.

-A few general key differences of ObiCloth and UnityCloth. This may be helpful for other readers as well.

Regards,
Kevin
Reply
#2
(05-10-2017, 04:38 PM)aidesigner Wrote: Thank you for this amazing productSonrisa   I am currently interested in putting a jacket on my character like your CharacterCloth scene.  In general I would like to better understand the advantages of ObiCloth over UnityCloth, so I can harness all the power.

-For clothing can you highlight some advantages/disadvantage over UnityCloth?  For example I think Obi can use mesh collider and looks better(In what way?), with same performance.  The big advantage of Unity Cloth is that it potentially works on all platforms, which leads to next question.

-Can I use both Unity Cloth and Obi Cloth?  The idea would be for Console/Web (Obi=Disable, UnityCloth=Enable) and for other platforms (Obi=Enable, UnityCloth=Disable).  Does this sound like a good idea, but it does add a lot of work?

-For unsupported platforms will everything just work as if Obi was not included?  It would be nice if Obi was somehow excluded automatically on unsupported platforms.  Alternatively do I need to make different prefabs or something for different platforms that exclude Obi.

-A few general key differences of ObiCloth and UnityCloth.  This may be helpful for other readers as well.

Regards,
Kevin

Hi Kevin,

The main differences are outlined in the asset's description in the store, but I can point a few out:

- Unity cloth does not interact with rigidbodies, cannot be torn, you can't attach other objects to it, only supports spheres and capsules as colliders. You have virtually no control over simulation parameters. Cloth cannot collide with itself or other cloth pieces. The cloth editor/vertex painting is extremely limited.

- Obi performs full two-way interaction with rigidbodies including full control over friction and stickiness, can be torn, you can attach any object to it, supports all collider types (except PolygonCollider2D). It offers full control over all simulation parameters. Cloth supports both self and inter collisions. The cloth editor is channel-based and you can paint pretty much any channel per-vertex: radius, skin backstop, mass, etc.

Quote:-For clothing can you highlight some advantages/disadvantage over UnityCloth?  For example I think Obi can use mesh collider and looks better(In what way?), with same performance.  The big advantage of Unity Cloth is that it potentially works on all platforms, which leads to next question.

If you're talking about character clothing, hell no! Gran sonrisa. It is not possible to turn a deformable character into a mesh collider and simulate clothing over it. This is not done this way in any realtime cloth simulator, no matter how advanced. It is not practical to set up, unreliable and extremely costly in terms of performance.

Obi does support collision detection against MeshColliders, but the collider has to be static (cannot be deformed by animation).

Skin constraints are used for characters (also called backstop limits in some engines). These essentially allow you to blend skeletal animation and physics together. Then you get good stability and no need for actual collision detection (courtesy of the animation) and realistic movement (courtesy of the simulation). See:
http://obi.virtualmethodstudio.com/tutor...thing.html
http://obi.virtualmethodstudio.com/tutor...aints.html
http://obi.virtualmethodstudio.com/tutor...thing.html

Quote:-Can I use both Unity Cloth and Obi Cloth?  The idea would be for Console/Web (Obi=Disable, UnityCloth=Enable) and for other platforms (Obi=Enable, UnityCloth=Disable).  Does this sound like a good idea, but it does add a lot of work?
Nothing stops you from using both, but you'll essentially have to do everything twice in regards to cloth parameters tweaking and setup. It's entirely up to you if you want to go this route or not.

Quote:-For unsupported platforms will everything just work as if Obi was not included?  It would be nice if Obi was somehow excluded automatically on unsupported platforms.  Alternatively do I need to make different prefabs or something for different platforms that exclude Obi.
If you're running Obi in unsupported platforms you'll have to use precompiler directives to ensure that either the ObiSolver is deactivated in these platforms, or use different prefabs for each platform.

IMHO, if your goal is to deploy on consoles and you're not making use of any of the physics-related Obi capabilities (i.e you're only adding some eye-candy to characters), Obi will only make your life harder. It is a large and complex tool meant for fine-tuning interaction between cloth (be it character cloth or not) and the rest of the scene.

If you're unsure about what approach to take I'd suggest trying Unity cloth first. If you find out it is insufficient for your goals, then consider using Obi.
Reply