diff options
author | Ton Roosendaal <ton@blender.org> | 2005-07-16 23:07:02 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-07-16 23:07:02 +0400 |
commit | e67ba0ae330561424f18dbebaede835f81f45282 (patch) | |
tree | 5c3726760a4afd50266e6a522fe7b42f4a4bb230 /source/blender/src/editview.c | |
parent | 502c34ee4971bcc7cd4cb97090f84c9235518a9b (diff) |
More armature goodies;
The B-Bones!
(where the B can be read as 'block' or 'bezier' or 'b-spline')
- set option on/off in edit buttons, armature panel
- scaling of B-bones only works in editmode, use ALT+S to make bones fatter
or thinner. Also works for constrainted transform
- In pose mode, you now have a buttons panel with per-bone settings too
Here you can find the "segments" button, which allows bones to
interpolate between previous/next bones, including roll.
- Buttons to control interpolation ("In" and "Out" are disabled, doesn't
work satisfying yet
NOTE: this doesn't give deform yet! Main purpose for now is to test if this
drawing method serves to animate/pose armatures well.
Still need to review proper interpolation methods... maybe bezier is too
limited.
Diffstat (limited to 'source/blender/src/editview.c')
-rw-r--r-- | source/blender/src/editview.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/src/editview.c b/source/blender/src/editview.c index 66f0543d460..20e1b4c96aa 100644 --- a/source/blender/src/editview.c +++ b/source/blender/src/editview.c @@ -1250,15 +1250,19 @@ void borderselect(void) if (val==LEFTMOUSE){ if (index != -1){ bone = get_indexed_bone(G.obpose, index &~(BONESEL_TIP|BONESEL_ROOT)); - bone->flag |= BONE_SELECTED; - select_actionchannel_by_name(G.obpose->action, bone->name, 1); + if(bone) { + bone->flag |= BONE_SELECTED; + select_actionchannel_by_name(G.obpose->action, bone->name, 1); + } } } else{ if (index != -1){ bone = get_indexed_bone(G.obpose, index &~(BONESEL_TIP|BONESEL_ROOT)); - bone->flag &= ~(BONE_ACTIVE|BONE_SELECTED); - select_actionchannel_by_name(G.obpose->action, bone->name, 0); + if(bone) { + bone->flag &= ~(BONE_ACTIVE|BONE_SELECTED); + select_actionchannel_by_name(G.obpose->action, bone->name, 0); + } } } } |