Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help  Multiple Precision Issues
#3
(16-08-2018, 03:15 PM)josemendez Wrote: Hi there,

Let me start with a mild warning: you're going to have a very hard time using Obi for this purpose, unless you have deep understanding of its inner machinery -and how cloth simulation in general works- and whether it is a good solution to your particular problem (which I think it is not).

- Green: Make sure the particles being stitched are set to the same phase. If they have different phases, and particle collisions are enabled, then collision and stitch constraints will fight each other causing the effect you describe.

- Yellow: This is because stitch constraints simply make sure the stitched particles share the same position, but they do not enforce any particular surface angle like bend constraints do. Imho using stitch constraints for this is not the way to go, as they're too simplistic for this use case. You should write your own class inheriting ObiActor, and generate particles and the constraint structure yourself, including bend constraints along the stitch edges.

- Black: Again, probably due to bend constraints. Could also be due to a combination of overly tight clothes/sequential distance constraints. Try looser clothing or switch to parallel mode + more solver substeps.

- Red: This is because of the particle radius, which is not zero by default. The gap between the cloth and the collider surface will be the sum of collider thickness and particle radius. Add a ObiParticleRenderer component to your cloth and you'll be able to visually debug the particle representation of the cloth:
http://obi.virtualmethodstudio.com/tutor...ering.html

You might need to adjust particle radii using the particle editor, or trough Obi's API:
http://obi.virtualmethodstudio.com/tutor...icles.html

Note that using a very low radii, or very low-resolution cloth, will result in z-fighting/penetration. You will need to find a sweet spot for both, which is the main reason I think a particle-based simulator is not the way to go for this. For this kind of task you should be using a continuum-based simulation method (FEM, strain-based dynamics, etc) and simplex-based collision detection (triangle vs triangle, instead of triangle vs point). Marvelous Designer comes to mind. These are *much* more performance hungry though, way under the realtime threshold.

Greatly appreciate the quick and detailed response. 

I completely agree about Marvelous Designer being a better fit. That said, I'm stuck with Unity and real time has hard requirements for this project.  It is the hand I was dealt so here we go. Sonrisa So far your library seems my best option. Writing something custom which isn't in scope (nor do I currently have that kind of physics know-how).  I'd love to use Jim Hugunin's engine: https://www.youtube.com/watch?v=kCGHXlLR3l8 which is basically what I am trying to force onto your plugin.  Unfortunately he hasn't been responsive. 

In any case, your plugin is very good and I'm still hopeful I can get it close enough that this will work for the requirements I've been given. Thanks again for your help.
Reply


Messages In This Thread
Multiple Precision Issues - by ickydime - 16-08-2018, 02:56 PM
RE: Multiple Precision Issues - by josemendez - 16-08-2018, 03:15 PM
RE: Multiple Precision Issues - by ickydime - 16-08-2018, 03:40 PM
RE: Multiple Precision Issues - by josemendez - 16-08-2018, 04:10 PM