Not logged in, Join Here! or Log In Below:  
 
News Articles Search    
 


Submitted by Maciej Matyka, posted on January 07, 2005




Image Description, by Maciej Matyka



The PSB (Pressure Soft Body) Model has been developed and published first on the SIGRAD conference in Umea (Sweden), and has been described in details in following paper:

Matyka, M. and Ollila, M. "A pressure model for soft body simulation", Proc. of Sigrad, UMEA, November 2003

So far I am back in Poland and found time to make some improvements in the model. Pictures I am showing there are taken directly from my article:

Matyka, M. "Practical Animation of Soft Bodies for Game Development. The PSB Model.", Game Programming Gems 5 (available in March 2005)

The main reason for developming the PSB model was to create fast and flexible soft body model which allow to simulate deformable bodies at interactive rates (for purposes of some medical/virtual reality/games applications.

The main idea behind the model is to incorporate one (!) additional force, into simple cloth-dynamics engine. This force is based on difference of pressure between inside and outside of the body. For details and physics background behind the model please read those two articles, first of them is available on my web site:

http://panoramix.ift.uni.wroc.pl/~maq/eng/

You can also find here some additional materials on my Soft Body model (i.e. Soft Body 3.0 program which is a straighforward implementation of the PSB model). The source code is not available, but technique is quite easy to follow and implement. The source code will be available in March 2005, when Game Programming Gems 5 will be finished. As a bonus, please take a look at new results of my MSc thesis which cover some CFD techniques interesting for graphics community (available on my home page).


[prev]
Image of the Day Gallery
www.flipcode.com

[next]

 
Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
 
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
 
Rui Martins

January 07, 2005, 12:41 PM

Can you use this to simulate a gelly like liquid, when put on some recipient.
It would give a very nice animation.

Outside pressure Should be possible to derived from other objects in contact with the gelly like material.

How do you determine the inside pressure ?

 
Brandon Jones

January 07, 2005, 01:32 PM

I would imagine that the pressure would either be manually set, or based on the volume of the object.

Looks very nice, I'd love to see it in motion! I'm curious, though, what uses might this have in a medical application?

 
Maciej Matyka

January 07, 2005, 01:32 PM

Inside and outside pressure is set explicit as simple constant. It is a very big assumption but works perfectly in realtime CG. Sure it should give great results to change pressure dynamically during collisions etc. but now we are talking about CFD not about simple spring-mass engine.

Gelly like liquid? Have you seen this animation?

http://panoramix.ift.uni.wroc.pl/~maq/talks/sigrad03/results.avi

Please specify what do you mean by "gelly like liquid". You can decrease pressure as much as you like and get more "liquid" effects from this.

btw. I hope people will try to work out more effects out from this technique since it is just little add to simple well known spring-mass model.


Best Regards,
--
Maciej Matyka
http://panoramix.ift.uni.wroc.pl/~maq/

 
Maciej Matyka

January 07, 2005, 01:36 PM

You are right, the pressure is constant inside of the object, and pressure force depends on volume of the body (and not only on this).

About medical applications: some time ago somebody from Spain has contacted me to start a project pon medical imaging in virtual chirurgy (some kind of virtual reality system) where people organs can be simulated efficiently with my model.

Best Regards,
--
Maciej Matyka
http://panoramix.ift.uni.wroc.pl/~maq/

 
Joakim Hårsman

January 07, 2005, 05:32 PM

Wow neat! I watched the video and I vagueley remeber seeing that soft hand before, have you posted about this before? Maybe it was part of your MSc? Anyway, I glanced over the paper as well and the implementation seems straightforward enough :)

 
Rui Martins

January 07, 2005, 05:40 PM

http://panoramix.ift.uni.wroc.pl/~maq/talks/sigrad03/results.avi


Ouch!
That's a wooping 30MB download.

The Animation is nice, but not exactly very liquid. It seems, at least in this video, that the gelly tries really hard to keep it's form.

It seems that you use the vertex normal as a direction to slide the vertex in and out depending on the balance of pressures. You damp the vertex movement, so that you can reach an equilibrium in pressure, like compressing shock until forces are even.

Don't you have problems of the object warping itself, when colliding hard and fast with something, or do you do self collision checks ?



 
NCCAChris

January 07, 2005, 06:21 PM

Is it good for simulating anything other than balloon type models?

 
Victor Widell

January 07, 2005, 06:39 PM

First of all: A very impressive demo! The blobs in the video looks great.


"Inside and outside pressure is set explicit as simple constant."
"the pressure is constant inside of the object, and pressure force depends on volume of the body"

I really thing you should calculate the pressure from the volume. It would give a lot more realism. You could create 2 bags connected by a tube, and one bag would swell when you push the other. That'd be cool!

 
Maciej Matyka

January 08, 2005, 06:50 AM

I see that you do not follow the technique, probably because of my messy explanation. Pressure force value (see first paper listed in the picture description) is calculated by using an ideal gas approximation where:
PV=nRT
it is well known, simple equation, where only V (Volume) is to be calculated and IT IS calculated. This model handle effects described by you. By telling: "Inside and outside pressure is set explicit as simple constant." I mean that we assume that n and T does not change the pressure, it depends only on volume of the body that is what I've said: "pressure force depends on volume of the body" Hope that explained it.

--
Maciej Matyka
http://panoramix.ift.uni.wroc.pl/~maq/

 
Maciej Matyka

January 08, 2005, 07:05 AM

Actually it is model of "baloon like" objects. I hope to find some applications in realtime graphics since it is one of the simplest and fastest model of deformable bodies.

--
Maciej Matyka
http://panoramix.ift.uni.wroc.pl/~maq/

 
Maciej Matyka

January 08, 2005, 07:10 AM

Yes I did post it in IOTD here:

http://www.flipcode.org/cgi-bin/fcarticles.cgi?show=63579

The reason for posting it second time is that in GPG5 book some new improvements of the model will be presented. Nope my MSc does not cover soft body dynamic, I am also working on some CFD codes (not realtime), you can find some results from my thesis here:

http://panoramix.ift.uni.wroc.pl/~maq/eng/cfdthesis.php

Because of model simplicity, I hope to find a lot of new implementations of it, so far I found a couple of new PSB model implementations, for example:

http://www.cs.unc.edu/~rgayle/Courses/Comp259/MPDO/mpdo.html
http://www.cs.unc.edu/~rgayle/Courses/Comp259/Deformable/MPDO-Progress_Report.ht
http://opencal.sourceforge.net/
http://vorlon.cwru.edu/~prm8/eecs466/overview.html

--
Maciej Matyka
http://panoramix.ift.uni.wroc.pl/~maq/

 
Daggett

January 08, 2005, 10:56 AM

I played your demo and although it doesn't tell the fps, it appears to be quite high, congrats! :) I did get a couple explosions though, where the object got all deformed and jiggled all over the place. It looks great for real time physics though.

 
Maciej Matyka

January 08, 2005, 11:39 AM

Please take a look on my SIGRAD presentation here:

http://panoramix.ift.uni.wroc.pl/~maq/talks/sigrad03.php?language=eng

on one of the last slides you will find the total amount of ms needed for force calculation in the model (computational time increases lineary with number of vertices).

--
Maciej Matyka
http://panoramix.ift.uni.wroc.pl/~maq/

 
This thread contains 13 messages.
 
 
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.