[Bf-committers] Proposed Armature replacement
Thu, 27 May 2004 11:46:00 +0200
Although I really acknowledge the current system has lots of problems,
I also realize a character animation system isn't simple to design or
Compared to the initial design doc Reevan made (the coder of current
system) your proposal lacks a lot of general insight and structure...
I would propose you to start designing at top level, also based on what
we already know: the components Object, Ipo, Armature, Pose, Action,
NLA, IK, Constraint, etc.
Analyze how the system works, how the compnents relate, and why the
limitations are as we know, and come with the list of improvements you
intend to implement. Like:
- having IK as builtin feature, not as Constraint
- having Pose mode in two variants by default, forward and inverse
- soving the speed issue
Blender's architecture has its limits, but if applied well can help you
designing good code and a good UI as well. I'd like to see some 'lego
style' building block diagram, describing what the basic items are
artists will work with, and how they can use these blocks to construct
an animated figure.
Reevan left the Armature system quite messy yes, but he cannot be
really blamed for that. Besides the time pressure, he also was pushed
to (first) make the system work with realtime (game) characters, which
have much simpler skeletons and which explains why the Armature
animations are evaluated based on redraw (efficient for games).
He worked on this long days, and for several months. Although he wasn't
a very experienced coder then, he certainly is an excellent character
Recently, while trying to fix some bugs in the NLA and Action window,
the most striking issue (for me) is how the total workflow is
frustrated with all the small missing details, missing visualizations
and missing conventions to make it 'feel' like Blender. The workflow
for Armature animation is totally hidden, and impossible to sort out
(for me!) without reading the docs again. This is not so much an
architecture issue, but mainly something a couple of devoted coders
could maintain and polish, just smoothing out all annoying details.
Apart from solving the speed issue (which is wrong evaluation code) I
think the general GUI access & visualization is most urgent to solve.
Even when it means the underlying code needs a full revision.
Lastly; this is meant as a constructive contribution, so don't throw
your work away. Not everyone likes writing long architecture docs or
reviews, and sometimes ideas just mature better when you can play
around with the basic code first. You'll have to choose your own
roadmap for it. :)
On Wednesday, May 26, 2004, at 06:24 Europe/Amsterdam,
> Hello Folks,
> I have completed my preliminary thoughts on a replacement for
> armatures in Blender. The details would make this message too long
> for this list. You can view them here:
> at Jesters Wiki. I would appreciate any thoughts you have on the
> subject. Do you think it would be useable? intuitive?, powerful? If
> you have ideas to add go ahead and add them to the wiki or just
> suggest them to the list.
> Bf-committers mailing list
Ton Roosendaal Blender Foundation email@example.com