Friday, June 3, 2011

GSoC11 - ANIMATOR ALERT - Small tweaks poll #1

This is just a small poll regarding a few tweaks I'm considering making as part of my GSoC work.

DISCLAIMER: Don't be disappointed and/or start lobbying for some pet peeves just because they aren't on this list yet, as those will come later.

Ok, with that out of the way, here are the proposed changes:
  1. Actions should NOT get "Fake Users" by default. If you want to create actions that have fake users (namely for creating libraries of actions in a file), then you can manually enable fake users on those actions as necessary. But for the majority of users, this will mean fewer problems with heaps of empty actions dangling around in a file.
  2. Is the default behaviour of pasting keyframes in Animation Editors right? Check out the various options you have for this via Operator Properties (F6), and get back to me on which set of settings is preferred most. Hopefully there'll be a consensus on this that I can use.
  3. Should borderselect select keyframe handles too in the default keymap? The current keymap assigns keyframe-only selection to BKEY (for consistency with Action Editor), and keyframe/handles selection to Ctrl-BKEY. The two different selection schemes are in place, as it's all to easy to accidentally catch overlapping handles while trying to select keyframes (using the old-style Ctrl-BKEY), hence the two different options. So, this question asks whether these hotkeys should be swapped for convenience for most animators.
  4. Does anyone actually use the Time-Slide transform tool in DopeSheet (currently Shift-T in my branch, TKEY in trunk)?  Would anyone seriously miss it if I removed it, and if so, what's the man use of it?
This should be enough for one poll. More polls coming soon as necessary :)


  1. Hey, Aligorith! :)
    My answers:
    1 - Agreed. If I want a fake user, I prefer to assign one explicitly instead of having everything with a fake user.
    2 - About the paste command, I prefer using Offset=Frame Start and Type=Overwrite Range
    3 - I prefer not having the default border select to pick the handles. Most of the time I use B is for selecting the keyframe, while I normally select the handles individually.
    4 - I've actually used the Time-Slide function in my previous works. It was cool as a starting point to change the timing of an animation.

    Cheers, and thank you for your great work!

  2. Thanks for the poll to offer thoughts on :-)
    #1- agreed, have never cared for a fake user being the default for actions. It created a lot of confusion for me as an early blender user, years ago. And still remains a feature I have to disable, FAR more than I enable. In addition, many new users aren't familiar with the tricks to force the deletion of such datablocks with(or without) a fake user(that they didn't intend to enable).

    P.S. couldnt get my blenderhead blenderstorm openID to login her to post my comment, seems to work on other sites, like graphicall

    #2-frame start, overwrite range. my personally most used preset. however, I find using MIX to be useful often too.

    #3-tough choice, I'd say stick with the default action of just choosing keyframes, but I use both methods as often as the other. Though, there is a feature that I have ALWAYS hoped blender supported in this area, a MODIFIER KEY to allow for selecting of handles too. I've always hoped for something as simple as the ability to hold the ALT key while already in border select mode, to allow for the section of handles too. so no alt held, default mode, no handles can be selected with border select mode;HOWEVER after entering border select mode, the user could then hold the ALT key down while the user performs the border select to allow for the selection of handles too. Hope that makes sense.

    #4-I too would miss the time-slide transform tool, if it were to go. I dont use it often, when when the situation calls for it, its very helpful.

  3. Hello Again,

    1) Yes! I am well in favour of anything that reduces unwanted Action clutter :0)

    2) Erm.. [looks sheepish]. I'm kind of confused about what the difference is... all i know is that i've had mine on Mix and it seems to have behaved as expected

    3) Confusingly, B seems to select both the handles and my keyframes anyway on my machine. In theory tho, i reckon i'd prefer just keyframe selection by default.

    4) Please don't get rid of this! I've wasted so much time trying to do this with normal scaling in the past... I'm delighted to discover this functionality exists!

    PS: Have you ever considered a Flip Animation script Aligorith? I was asking another scripter about it the other day (its really handy for games animation) and he said that the f-curve interpolation would cause a problem. I'm confused about why, as wouldn't it just be a case of inverting the values on the handles (providing the armature followed a sensible _r _l naming convention so it knew which bits needed flipping?)

    Anyway - thanks for your continuing efforts to make life sweeter for us animators :0D

  4. 1) I think its time to say goodbye to Fake Actions :D

    2) Mine's always been on Mix and it worked the way I expected it to. Perhaps this would make a difference with more advanced animators.]

    3) I usually use the B key for multiple handles while for individual handles right click serves just fine.

    4)I still use the Time Slide feature sometimes, to change the duration of my frames. I'm not sure if I'll deeply miss it or not.

    @Forward Thinking Tam
    I agree for the presence of a Flip animation script- however there's a work around if you already didnt know, simply select the keyframes and scale them to -1. Probably isn't that much of a hassle, if this is what you mean.

    Thanks again for you the work you're doing mate! :D Hopefully in the future we'll be able to focus on pure animation than technicalities.

  5. I don't have too many opinions on #1 or #2, but I do for these:

    #3: When we are editing meshes in the 3D view, we have a selector that differentiates between "points" and "lines" or if you hold shift, both. I think that should be copied for animation points, and their handles.

    #4: Time sliding is a feature I don't know about, but anything that can make animation easier is a good thing. Perhaps if the tool was more obviously displayed, people would know it was there. In video editing, ripple and slicing and stretching and reorienting are pretty normal. Animation curves are definitely different, but not too different.

  6. 1. Agreed.

    2. The default behavior is fine, but the fact I only JUST learned I could press f6 to change this behavior admits of another problem. Is that the only way to edit the properties of that action?

    3. I prefer the current keymap.

    4. Listen- you're a Blender developer, so that means I love you, but seriously- I use this feature every day and if you get rid of it I will eat my keyboard and set myself on fire.

  7. Hi Aligorith,

    1. Agreed
    2. Default is fine, but we need a way to define a different default (or remember the last one used)
    3. No handle selection on normal border select please
    4. Never used

  8. Hey Milad Thaha, re flipping animations, thanks for the tip - Just noticed the key > mirror > values command on the dopesheet/graph editor - handy, maybe this is what you are referring too? Going to experiment further :0)

  9. Hello. :D

    Hmm. Lessii.
    1. Fake actions: Ya. Hating the unused actions that just clutter the already confusing system. I wish a bit clarification on the whole NLA and strips thing.
    2. Pasting keyframes in Animation Editors: Always used 3D view on that so, no opinion.
    3. I think the default is fine. I really do not want to focus on the details when moving a lot of stuff around at once.
    4. Never used it and at this point I can't find any real use for it. But proportional editing on keyframes would work nicely in DopeSheet and Graph Curve editors. With possible extra options for forwards and backwards only in addition to both directions. That could be cool.

  10. Actions are automatically fake because when they're not selected in the action editor they don't get any user.
    You can remove this feature, but you must introduce an association between the object data and the actions.

  11. C: you're probably talking about some specific bug that you've noticed. A lot of these kind of bugs were masked by the Fake Users thing, but that is not a valid justification for hacks which relied on that being there to work.

  12. I just discovered the time-slide tool based on this and I think it's fantastic - so please keep it.

    Also - off topic - I was wondering if you could check this thread I posted -

    i would like to assign a constraint or a controller of some sort to a bone that allows the bone to drive an action, !!without assigning action constraints to individual bones!!

    Is this something that - if you thought it were a good idea - you could implement in your branch?