Suggestion:Custom colors for bones (on a per-bone basis)

Animation tools, character animation, non linear animation

Moderators: jesterKing, stiv

fearandloathing
Posts: 29
Joined: Thu Jun 16, 2005 2:00 pm

Suggestion:Custom colors for bones (on a per-bone basis)

Postby fearandloathing » Sat Aug 13, 2005 3:03 pm

The purpose of color coding bones is for the rigger to mark certain control bones, such as IK end effectors, or being able to tell the difference between left and right for example.

The current implementation in CVS is a little strange, since bone colors are forced on the user.
For example in the upcoming 2.40 version, when enabling IK for a chain, the last bone in the hierarchy (the one wich owns the IK "constraint") is colored instead of the actual end effector.
The end effector/IK goal is the bone/object you want to stand out, not the last bone before it.
Bones with constraints are also automatically colored in the current CVS.

Instead bone colors should be user customizable on a per-bone basis.
It's very important to be able to color a bone on the left side of the character to a green color, and the right side to red, to be able to quickly tell wich side you're seing when animating from a side-view, without having to change the view or select from an Outliner.
There are workarounds such as coloring the proxy meshes, or using non-armature end effectors (and losing all the pose mode goodness), but since the bones are now automatically colored depending on constraints or IK, it just adds confusion.

ton
Site Admin
Posts: 525
Joined: Wed Oct 16, 2002 12:13 am
Contact:

Postby ton » Wed Aug 17, 2005 1:21 pm

It's not the one or the other here. The current coloring I added to quickly see in a Pose what exactly has been edited here. It is useful to see where the IK constraint is, the other constraints, or which bones have actions... useful for debugging especially. :)

(BTW, the IK constraint was in old versions always on the child bone of the effector... that was a weird convention. I've made it now default to have IK on the effector itself, but for backwards compatibility the old method is available as option still).

In other situations you'd like to see custom colors yes. Think for example of visualizing bone weights for multiple bones. That's just part of the long todo, and I like to prevent it to become a lot of work for users to edit.

Another idea is to introduce NULL bones, with a distinct drawing, for example for use as IK handles.

But, your arguments are a bit weird...

1) Customizing I consider *per definition* bad. It should serve goals to become useful.
2) My purpose is to deliver the best visualization of armature rigs as possible, so you can edit all of it in a 3d window. Being able to see where the IK effector is, or a constraint, therefore is useful, not "forcing things on the user".
3) Bones now draw solid/zbuffered as well. No confusement in what is on the back or front in sideview...

fearandloathing
Posts: 29
Joined: Thu Jun 16, 2005 2:00 pm

Postby fearandloathing » Wed Aug 17, 2005 3:07 pm

ton wrote:Another idea is to introduce NULL bones, with a distinct drawing, for example for use as IK handles.

An even better approach would be if the user could group any type of object together and mark the group as a "Character" and enable every object in the group to participate in Pose Mode (with pose copy/paste/flip) and NLA.
I.e. everything in the group becomes part of the Armature.
Since in "professional"(hate that word) rigs it's common to use colored wireframe circles, cubes or planes as descriptive control objects in characters, and low resolution "proxy" meshes over each bone to represent the deformation of the high resolution mesh, simply paranted to each bone (i.e. no deformation).
In this case they could be converted to actual bones with custom geometry if the rigger wishes.

See the Generi Rig for Maya by Andrew Silke for an example of visualizing controls, the low-res proxy meshes can also be seen:
http://andrewsilke.com/generi_rig/generi_rig.html
(he also has additional colored 2d shapes always facing the view, for selecting control objects more easily, as you can see in the screenshot)

ton wrote:But, your arguments are a bit weird...

1) Customizing I consider *per definition* bad. It should serve goals to become useful.

Could you care to elaborate on that a bit? In my humble opinion customizing is essential in a 3d application, especially if it's used as a part of a pipeline in a studio or in some other collaborative effort.
Being able to customize doesn't mean you have to go the SideFX Houdini route, where you almost need to be a TD in order to use it because it's so horribly complicated.
If one is designing a desktop environment aimed at a wide user base of non-technical users then customizing might be bad, but in this case it's the other way around.
Simple, intuitive defaults with the ability to customize is the way to go IMHO.

ton wrote:2) My purpose is to deliver the best visualization of armature rigs as possible, so you can edit all of it in a 3d window. Being able to see where the IK effector is, or a constraint, therefore is useful, not "forcing things on the user".

It might be useful for the rigger as he works things out, but not when he hands over the final rig to the animator.
The animator only cares about the character's controls.
If the last bone in the chain before the end effector is colored by default, he'll think it's a control, wich it isn't.

ton wrote:3) Bones now draw solid/zbuffered as well. No confusement in what is on the back or front in sideview...

That is true, the solid drawing mode for bones helped alot, but there are still situations where you need to work in wireframe and still quickly tell wich one is left or right in a side view, and some situations where the bones doesn't overlap eachother where it's hard to determine depth in a ortographic side view.


Return to “Animation”

Who is online

Users browsing this forum: Yahoo [Bot] and 0 guests