Durian = animation and rigging heaven!

Excelent new animation and rigging features may come to Blender with Durian. Read it for yourself:


* Alternative to quaternions for bone rotations. Eulers are already there, customizable Euler rotation order, axis-angle support and per axis locking are important as well.
* Support of these same things, quaternions and the things mentioned above for Objects.
* Animating the camera position and rotation by doing real life recording would be an interesting feature to have. Motion tracking would be needed for this, completely using open source tools of course, and the libmv project is a promising candidate. This would not be natively integrated, but use a script most likely.
* Proxies will need to be improved, for example to support multiple instances of a character with variations. 


* Preserve angles > 180° throughout the animation system. This may not be practically feasible to do it completely, mainly what would be good support is preserving this for constraints, and to avoid flips for dual quaternion deformation. Quaternions go up to 360° which would be enough. The idea is simple, implementation is complex, but considered important.
* Spline IK. This in fact has very little to do with IK, quite the opposite, it's an FK method. It is a constraint to let n bones align with a curve. In this way it can work like the IK constraint, affecting multiple bones. There should be an option to have the bones stretch to fit, or to keep their length and possibly not reach or go beyond the edge of the curve.
* Option for bones to have the bone translation values in armature rather than bone space for posing. This would be useful to present more intuitive values and animation curves to the animator, so that e.g. moving an IK target for a hand up will work with only a Z axis curve. This could be taking further with full local spaces for armature and bone rotations and translations, but for now an option to have translation in armature space seems sufficient.
* Creating own animateable properties per bones, and display them to the animator.
* Better support for scripting rigs. E.g. when animator selects a bone, hide or show some things, or when switching IK/FK, doing some operation, etc. Preferably not as a space handler type thing, but integrated and distributed with the rig.
* Fix curve twisting problem by propagating frames. 

Even more Aligorith has an idea that animation path will be tweakeble by brush (combed animpaths in 3d view :-)!

More details here:

Aligorith has already started coding of rotation order feature in 2.5. It seems that wish list may become todo list :slight_smile:

Here’s the two things I’m most hoping for:

  1. A level of customizable functionality ala Maya’s channel box. If you haven’t worked with Maya before, basically imagine if, in your Transform Properties you could add an attribute called “R_eye_blink” and key that to whatever bone makes your rig blink.

  2. Node functionality for objects, thus letting you say things like “IF arm rotates > 0, THEN move Shoulder Blade bone @ 50% rotation.” There were a lot of great rigging tricks you could do when bones could be hooked up to math nodes, ala this guy’s DVDs. I’d love to do this in Blender! http://www.fahrenheitdigital.com/dvds/rigging/

It’s entirely possible that these are coming in 2.5; While not explicitly named, the whole “Make Everything Animatable” RNA discussions definitely seem to point in this direction. Anyone working on it have a take on these, and their likelihood of inclusion?

Aaaand as you can see, I suck at coding, so I contribute to Blender 2.5 in the only way I know how: high-pitched whining :stuck_out_tongue:

Why hard code something like that when you could (probably) just use a little python?

Some of us ain’t got the chops for real coding :frowning:

That’s why I’m really looking forward to 2.5’s macro recorder. In Maya, I was able to pick up a weak level of MELscripting, simply through monkey-see-monkey-do. I’d love to do the same thing with Blender to pick up Python, but can’t presently.

Also found this in the wishlist

Cavity shader.

Would be a very good companion to AO.:wink:

On the setup side i’d like to see a way to get the delta angle of 2 bones in a 0-1 range for all the various possibilities (-x, +x , -y , +y , - etc. + etc… :wink: )
if you know the maya poseReader (not the poseDeformer!), you know the concept.
(at least the pose reader is released with the source code…)

just 2 c and a video that use this technique for deformation (called pose deforming):


Natively integrated Bullet rigid body physics system. This should work at the level of other physics systems, directly showing results in the viewports, using fields and collision, visual editing of constraints, etc.
Now this one’s really exciting!

SplineIk is allready possible with constraint,I think it could be much better fixing cyclic dependencies(2 bones are 2 differents object,they can’t be seen as subobject,it makes no sense)

I thing that cyclic dependencies and one object concept for armature in Blender are not such a big deal and in Blender 2.5 this should work better.

Oh I just hope for some improvements in the shrinkwrap modifier for muscle simulation…

You are right, jpbouza, it is interesting that there is no such a wish. I believe it would be very useful especially for a dragon riggind which deals with huge body mass.

Yeah. There is not much to change though, it would just be great that the shrinkwrap modifier had the option to have a kind of curved or lattice like influece, not just a linear one. And of course it would also be great that you could use more than one or two projections objects without the modifier going crazy. That´s why I had to put one modifier per muscle in BlenRig 3.0 :frowning:

Muscle simulation unfortunately is not one of my targets for Durian. Right now I’m more concerned with getting the mundane/basic aspects of the rigging system into shape, and the Durian rigging feature list reflects that. It’s not glamorous or eye-popping like muscle sim, but IMO it’s more important. Once the basics are solid, then we can start thinking about more advanced/flashy features.

Of course it would be great to get all the mundane stuff ship-shape and get muscle sim, but the developers only have so much time and energy, and they need to do things for non-rigging aspects of the project too.

I’m confident I can rig the characters really well even without muscle-sim.

It’s on the list as “Creating own animateable properties per bones, and display them to the animator.” The Maya channel box w/ custom properties is exactly what I was thinking of when I asked for that. I’m intending to get it for objects too, not just bones.

That sounds more like py drivers to me. But with a bit more power. I’ve actually discussed making pydrivers more powerful with Aligorith. Not sure if it will happen for Durian, but I hope it will.

In general I’m not a fan of Maya’s node system. I prefer Houdini-style node systems, myself. Maya’s node system is actually quite limiting by comparison.

Would using pydrivers to do an auto-clavicle like that work right now, without causing a dependency cycle?

Spline IK and custom properties will open up a whole lot of new rigging possibilities… Can’t wait to try ribbons!

Speaking of muscle-sim, anyone have a copy of the old WIP patch by handydan from a while back – seems to have fallen off the edge of the internets.

IMHO different muscles tend to act differently, so a generic muscle sim would be kind of pointless- improving the driven shape keys would be a better route.
Glad to hear the pretty good rigging system will be improved upon!

Woohoo! I miss being able to animate a whole face off of a big list of tabbable attributes on one object.

Aaaand I’ma go mess around with pyNodes for the first time.

Probably…still be nice to look at the code though.

The wish list is really nice to focus for features that professional animators consider “standard”. I believe there will be time later on to add some more special features like mussels, shrinkwrap and shapes are already there is it may not be in fact too complicated.