[Bf-committers] Softbody architecture

Matt Ebb matt at mke3.net
Thu Feb 10 01:29:52 CET 2005


On 2 Feb 2005, at 1:09 AM, Ton Roosendaal wrote:

> Hi,
>
> Checking on the softbody status;
> http://wiki.blender.org/bin/view.pl/Blenderdev/Softbodies
> I'm still hesitating to make a choice for how to proceed with 
> integrating it... with Blender's animation system in mind we can 
> basically make three choices;
>
> 1) Integrated in Object types (Mesh, Curve, etc)
> The simplest method is adding the necessary data for softbody (like 
> 'spring' and 'goal' constants) to existing structures in Mesh (like 
> vertex groups). That way it can quickly work, including tools for 
> vertex painting etc.
> Disadvantage; add softbody to Curve, Lattice etc. then is very 
> cumbersome

At least from my user/functionality perspective, something generic like 
vertex groups would be perfect. The way I see it, the best way is to 
have something that's reusable in different situations, without having 
to re-invent the wheel every time some new type of deformation is 
added.

I've already whined about this with the hooks - instead of re-using 
vertex groups, we now have these other 'hook groups' which from a 
user's perspective do exactly the same thing (define weighted groups of 
vertices to be influenced by something), but so slightly inconsistent, 
and lacking each other's functionality. Not only is it a pain interface 
wise, having to hunt around for each redundant set of controls, when it 
could be handled by one nice general panel/group, but it also seems 
inflexible - the hooks are rather limited because we can't paint our 
own weights for them like we can for vertex groups. To somewhat counter 
that, the proportional hook falloff was added. But that might be 
interesting to use with armatures too wouldn't it? Oh but you can't, 
that's only for 'hook groups' and not 'vertex groups'. *grumble 
grumble*

If there's yet another redundant set of data like this added for soft 
bodies, then all this gets multiplied worse once more, with 
inconsistent tool sets, missing practical functionality, etc. On the 
other hand, if they all used the same system, then theoretically, these 
sorts of things would come automatically, and then when BM adds his 
nifty weight smoothing tools in tuhopuu, or when people write Python 
scripts that manipulate weights (like the mirroring, or envelope ones), 
then it works for all of these with no extra effort.

So I guess if things are going to be torn down and rebuilt, now would 
be a good time to make this happen (of course it's easy to say that 
when I'm not the one coding it ;). In my dream world, there would be 
one consistent system of vertex groups, available in every object type, 
which define influence from armatures, hooks, soft bodies, curve 
deform, lattices, constraints, whatever. For anything that deforms or 
influences things, we should be able to define the area of that 
influence through the one standard system.

Well, I can dream, can't I? :)

Matt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2355 bytes
Desc: not available
Url : http://projects.blender.org/pipermail/bf-committers/attachments/20050210/0b3f9103/smime.bin


More information about the Bf-committers mailing list