2
\$\begingroup\$

I want to implement deformation of plastic material, like plasticine for example. Where should I start to study? What technique should I use?

Thank you for any advice.

EDIT

I want to use it in real-time in kind of a 3D game, not a physics simulation. When I "push" on the plasticine, it is expected to spill. I want to rotate it or any other actions.

Look at this video: http://www.youtube.com/watch?v=mDbVHEg5qC4

\$\endgroup\$
1
  • 2
    \$\begingroup\$ 3D? 2D? Baked deformation? Dynamic deformation? Shearing? Melting? Brittleness? Elasticity? Material weakening from stress? You need to add more details on what you exactly what. \$\endgroup\$ Commented Jul 26, 2011 at 20:13

1 Answer 1

3
\$\begingroup\$

Is this for use in a real-time game or as a high-accuracy simulation? If you're just looking at it as an effect for a game, then it's quite possible that you could get away with using a procedural texture, determined by CPU, combined with a vertex-shader to move your vertices about as desired at run-time.

If you're interested in accuracy, then you would need to take into account various material properties, such as Young's Modulus, limit of elasticity, Hardness, etc. (I'm not a material scientist so I don't know all of the variables affecting plastic/elastic deformation). I guess you'd first determine how accurate you want your simulation to be, and then just use this article to find out what variables you need, and then search for each of those variables for each material you want (this site is useful). You would then presumably have a very-high polygon object, or tessellate it as necessary.

I also imagine you would have to have per-vertex collision detection, to ensure you don't end up with impossible shapes (self-intersection tests etc.), also, you could use the tessellation feature in DirectX 11, as mentioned earlier, to help smoothen your shape as you deform it (a cube only needs 6 faces, but when morphed you'll need to add more faces).

Hope this helps, I'd like to see how your project progresses! :)

\$\endgroup\$
1
  • \$\begingroup\$ Those links are very good ones, especially the second one. Also, overall this is a high-quality answer (+1) because it's informative, helpful, and also digresses slightly into an area that the questioner will likely get into (that's particularly helpful from a preparatory standpoint). \$\endgroup\$ Commented Jul 26, 2011 at 22:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .