Jump to content

  • Log In with Google      Sign In   
  • Create Account

Soft body physics


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 Xcrypt   Members   -  Reputation: 154

Like
0Likes
Like

Posted 03 February 2013 - 01:25 PM

I am interested in learning about (and possibly implementing) soft body physics. Are there books or articles available that give a detailed overview of the simulation process with academical rigor that you can recommend me? (I may be interested in specialising in this field, so please no books/articles with 'eased'/'fuzzy' math etc)

Also, what would the mathematical prerequisites be? Is a college-level introductory analysis/calculus and LA course sufficient?

Is it important to have a rigid body simulation engine running before you attempt soft body physics, or are they largely independent?

Edited by Xcrypt, 03 February 2013 - 01:35 PM.


Sponsor:

#2 max343   Members   -  Reputation: 340

Like
0Likes
Like

Posted 03 February 2013 - 01:55 PM

I'm doubtful that introductory calculus/linear algebra is sufficient if you want rigor. All theory of deformable bodies is based on tensor calculus.

#3 Xcrypt   Members   -  Reputation: 154

Like
0Likes
Like

Posted 03 February 2013 - 02:00 PM

That's np, I am an undergraduate mathematics student and will eventually cover that. But I'll need to have a bit patience then :)



#4 rayp   Members   -  Reputation: 131

Like
1Likes
Like

Posted 03 February 2013 - 11:24 PM

I have some experience doing soft body physics. I would say there is 2 main ways to do it.
 
1. The easy way. Make a particle physics engine. Add in some kind of forces or constraints to hold the particles together. You can use simple spring like forces. You can also model it using constraints, although  you might want to "soften up" the constraints. For example you might apply only 90% of the constraint impulse of a completely rigid constraint . Or for example a distance constraint, instead of being a fixed distance
 
C(x1, x2) = |x2-x1|-L= 0
 
You can define your constraint as being in some distance interval
 
C(x1, x2) = ||x2-x1|-L| < k/2
 
Then it is just a matter of making a bunch of particles and adding in the appropriate constraints. For example cloth might resist stretching and shear forces, while hair might resist stretching and bending. 
 
This way is very easy and straight forward. Probably the hardest part is collision detection, since a body can intersect itself if it is soft.
 
 
2. The hard way. Use finite element analysis. Calculate the stresses and the strains on some volume ( usually a tetrahedron ) to calculate how it deforms over time. This is orders of magnitude harder than method 1.
 
 
I think in game programming the first method is pretty much the go to method. 
 
"Is it important to have a rigid body simulation engine running before you attempt soft body physics, or are they largely independent?"[/size]
 
Soft body and rigid body physics will share a ton of code and use many of the same ideas. Studying either will will help you implement the other.

 

If you have not done any soft body stuff, I recommend you make a mass spring system, and experiment with that a little bit. Mass spring is about as simple as it gets and there is a ton of resources on the internet. Just google it. If you know a bit of calculus and vector maths you can have one up in running, from scratch, in a hour or so. 






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS