Blender Git Commit Log

Git Commits -> Revision 04f5bae

Revision 04f5bae by Ton Roosendaal (master)
October 1, 2004, 14:04 (GMT)
OK. Here's the long awaited first step (V0.01!) of SoftBody. It is called
from within mesh_modifiers (kernel deform.c). It copies vertices to a
temporal particle system (struct SoftBody with BodyPoint structs) to do
physics tricks with it.

For each frame change the delta movements (based on standard ipo anim or
even other deforms (later) are applied to the physics system. How to apply
and calculate satisfying results is not my thing... so here I'll commu-
nicate with others for.

Since it's in the modifier stack, the SoftBody code can run entirely on
original data (no displists!).

Right now I've implemented 2 things;

- "Goal" which is a per vertex value for how much the current position
should take into account (goal=1 is without physics). This is a powerful
method for artists to get control over what moves and not. Right now i
read the vertex color for it.
- And some spring stuff, which now only works based on force moving it to
the originial location. This doesnt work with 'goal'... erhm.

- You can re-use physics vars from engine, used right now is (in Object)
- damping
- springf (spring factor)
- softflag (to set types, or activate softbody for it

- The SoftBody pointer in struct Object is only runtime, nothing saved in
file

To prevent all users going to complain it doesn't work, I've hidden the
functionality. :)
The buttons to set softbody 'on' only show now (psst psst) when the object has
name "soft" as first 4 characters. You can find the buttons in the F7 Particle
Interaction Panel (which should be renamed 'physics properties' later or so.

Demo file:
http://www.blender.org/bf/softbody.blend

Commit Details:

Full Hash: 04f5baee3a8ccfbe21c3f9eed49809f24fd7fddf
SVN Revision: 3177
Parent Commit: d818141
Lines Changed: +36, -7

8 Modified Paths:

/source/blender/blenkernel/intern/deform.c (+13, -2) (Diff)
/source/blender/blenkernel/intern/displist.c (+2, -1) (Diff)
/source/blender/blenkernel/intern/object.c (+3, -0) (Diff)
/source/blender/blenloader/intern/readfile.c (+2, -1) (Diff)
/source/blender/makesdna/DNA_object_types.h (+5, -3) (Diff)
/source/blender/src/buttons_object.c (+7, -0) (Diff)
/source/blender/src/drawobject.c (+1, -0) (Diff)
/source/blender/src/editobject.c (+3, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021