This is a looong overdue project, it’s been on my radar for about four years now. It is a multi-character posing and animation system. It will be from the ground up in OCaml (most likely), that is no ODE etc. but perhaps implementation ideas stolen from DANCE.
id | for version | feature | difficulty | state |
1 | v0.1.0 | grab skeleton parameters from somewhere | simple | waiting |
2 | v0.1.0 | simple skeleton visualization | simple | waiting |
3 | v0.1.0 | mouse interface (placing), “mouse-enabled” features=MI | simple | waiting |
4 | v0.1.0 | simple forward kinematics (MI) | simple | waiting |
5 | v0.1.0 | simple inverse kinematics (MI) | medium | waiting |
6 | v0.1.0 | pin & drag inverse kinematics (MI) | medium | waiting |
7 | v0.1.0 | simple collision detection (with separation vectors) | simple | waiting |
8 | v0.1.0 | integrate collision detection with kinematics methods (MI) | simple | waiting |
23 | v0.1.1 | placing multiple characters, with grabbing (UI) | simple | waiting |
24 | v0.1.1 | update kinematics methods to loop-free multiple characters | simple | waiting |
25 | v0.1.1 | update kinematics methods to kinematic loops | medium | waiting |
9 | v0.2.0 | time panel and framing (UI) | simple | waiting |
10 | v0.2.0 | piecewise-linear interpolation | simple | waiting |
11 | v0.2.0 | spline interpolation | simple | waiting |
12 | v0.2.0 | Bezier interpolation | medium | waiting |
13 | v0.2.0 | integrating MIDI player with time panel | medium | waiting |
14 | v0.2.0 | MIDI-driven time panel (UI) | medium | waiting |
15 | v0.3.0 | simple ragdoll (=with floor, gravity and self-collisions) dynamics (impulses) | simple | waiting |
16 | v0.3.0 | constraint-matrix-solving ragdoll dynamics | medium | waiting |
17 | v0.3.0 | simple PID controllers for trying to maintain a pose | simple | waiting |
18 | v0.3.0 | simple PID controllers for trying to follow a keyframed “shadow” animation | simple | waiting |
26 | v0.3.1 | tune floor friction model to body parts and shoe type | medium | waiting |
19 | v0.4.0 | inverse dynamics (for force clipping and as input to other controllers) | medium | waiting |
20 | v0.4.0 | mixed forward-inverse dynamics (no need for controllers) | medium | waiting |
21 | v0.4.0 | feed-forward nnet-based controllers for id.18 | medium | waiting |
22 | v0.4.0 | recursive nnet-based controllers for id.18 | medium | waiting |
29 | v0.5.0 | import of motion capture data | medium | waiting |
30 | v0.5.0 | copying-saving of kinematic or dynamic data for whole body or body part (over selected time period, together with body-part root position)=snippets | simple | waiting |
31 | v0.5.0 | blending of multiple kinematic or dynamic data/snippets | simple | waiting |
32 | v0.5.0 | scripting language for composing snippets for multiple characters over longer time spans | medium | waiting |
33 | v0.5.0 | blending of mixed kinematic and dynamic snippets, kinematically | simple | waiting |
34 | v0.5.0 | blending of mixed kinematic and dynamic snippets, by inverse dynamics and reintegration | simple | waiting |
35 | v0.5.0 | substracting gravity effects from dynamic snippets | medium | waiting |
27 | v1.0.0 | better visualization | medium | waiting |
28 | v1.0.0 | export to Blender | medium | waiting |