This project has moved and is read-only. For the latest updates, please go here.

Soft Bodies?

Feb 23, 2009 at 5:25 AM
Ok i know you guys are really really busy with other stuff and ive asked this before but please please please can you add soft bodies to your to do list for like 2.3? i don't think ill need it before then (a big feat considering i don't know when 2.3 will be released!). this is like the only thing missing from Farseer and it would be incredible to see rigid and soft bodies interacting and colliding.
Feb 23, 2009 at 1:23 PM
We will probably never get real soft bodies into Farseer Physics (I say "probably" because someone might take on the task of rewrting Farseer to be a combination engine, in the future.). Our design and all our algorithms are made for rigid bodies only. We would need masspoints and shaperetaining algorithms to support soft bodies, and I can't see that happening soon.
It would be better for you to use JellyPhysics if you need soft bodies, it's a relative simple engine and have a semi-realistic soft body system.

We are able to combine dynamics and rigid bodies to make fake soft bodies (Sample on how to do this will come in 2.2). But they have a hard impact on performance and can only be used in some scenarios.
Feb 24, 2009 at 9:20 AM
Aww man... :( i might be able to use the fake soft bodies. By the way, why is it so performance intensive to use fake soft bodies? as i understand it, all you need is some geoms and some springs to hold them together. (I just figured out why it might be expensive: if you use a continuous surface as opposed to a bunch of geoms standing in place of vertexes then it could be expensive)
Feb 24, 2009 at 1:43 PM
It's expensive because it's a bunch of geometries close together. They are constantly colliding with each other.
Feb 25, 2009 at 3:14 AM
so if you make a collision category that prevents self collision...? (it would sacrifice some realism i suppose)
Feb 25, 2009 at 8:39 AM
Edited Feb 25, 2009 at 8:40 AM
They need to collide. You can't just make them not collide, this would destroy the whole soft body structure.
Soft body engines use a lot of points that constantly tries to retain the shape they are defined to be in. We can create a (fake) soft bodies circle by creating a bunch of geometries arranged as a circle and then create some dynamics (using springs) to connect them together. This would create a ball that you can squeeze from all directions until you reach the size limit. (sum of all geometries that the fake soft body is composed of -- Edit: Not taking the the waste of space between them into account)
Feb 25, 2009 at 9:19 AM
Edited Feb 25, 2009 at 9:23 AM
well then what about using small square or circle geoms to stand in for vertexes and not filling the space between? i know it would require more processing power (because you need more geometries so that stuff doesn't fall trough as easily) but then the geoms would (hopefully) not constantly collide. Edit: well i suppose you can't make soft bodies with non self colliding geoms, but couldn't you model deformable things? basically what i am asking is could you take a chain made so that it is a complete loop (via the ComplexFactory) and string springs on it? you would only be incurring slightly more performance cost than the chain itself would take, and you would get waht is essentially (almost) a soft body! or did i just stumble on the way that fake soft bodies are made... oops!