[Addon] - Anim scrubber

I learnt how to script to make this animation scrubber, it auto assigns itself to alt + left mouse button in the 3d view, so press and hold alt + lmb and then moving the mouse the time in the scene, release lmb to exit scrubbing mode. It also loops from the end/start to start/end. I hope you find it useful, and that there are no problems with it.

now on github with GPL licence

v0.2
https://raw.githubusercontent.com/FrankieHobbins/Blender_AnimScrubber/master/animscrubberkey.py

Search in input for ā€œScrub timelineā€ and expand the dropdown to find these settings.
Added sensitivity scale
Added ability to adjust sensitivity based on scene length

v0.1
https://raw.githubusercontent.com/FrankieHobbins/Blender_AnimScrubber/8fa30b3e2fb1c2a0bf002b09fc1947601bd8dbaf/animscrubberkey.py

here is a gif of it working; https://dl.dropboxusercontent.com/u/1693140/scrubwithmouse.gif

Iā€™ve been using this for a while, thanks.

You could add a function that scrubs between actual keyframes, could be useful for blocking stuff.

Frankie ! I have been asking for such a thing ! Thanks a ton !

Hadrien

Hey Cyaoeu, sounds interesting, if its really something you would like to use I will look into it otherwise I have a whole suite of tools I put into the old version of that script I want to clean up first.

For my workflow under ā€œFramesā€ I have setup screen.keyframe_jump to be shift alt wheel down (and up) to get to next keyframe. And also mapped under ā€œPoseā€ anim.keyframe_delete to X to delete keyframes. If you havenā€™t tried that already it might help.

Edit:

Hadriscus, Glad you like it, I hope it works well for you!

very well done ,

for me in my ubuntu Alt key is not working well with blender , so i changed your script to work with CTRL + ALT - leftmouse

if someone finds it usefull here is a script

http://www.pasteall.org/68225/python

it would be better if you can create some kind of time line on viewport when we press the shortcut keys ,so it would make things more easy like ., just an idea

I can just add it myself. :stuck_out_tongue: Iā€™m using a tablet so using the mouse wheel is pretty awkward.

Hey Draguu, I think that level of scripting is beyond my skill level, nice idea though.

Cyaoeu, ah ok. You probably have already worked it out but you should be able to change the parts that say ā€œ/ 10ā€ to change the mouse movement sensitivity, it might help make next keyframe more usable.

I got an error when nothing is selected in the scene (but it happens only with my default scene in fact) and itā€™s a good idea indeed, thanks :

End
Traceback (most recent call last):
  File "C:\Users\Owners\AppData\Roaming\Blender Foundation\Blender\2.77\scripts\addons\animscrubberkey.py", line 50, in invoke
    self.a = bpy.context.object.name 
AttributeError: 'NoneType' object has no attribute 'name'

location: <unknown location>:-1

Great man!, so this means we could actually do the same for scaling the size of proportional ediing too, itā€™s a pain to use it with a tabletā€¦ and, also it seems that i canā€™t scrub the whole timeline in the screen, should it adjust itā€™s sensitivity based on how long the scene is, mine is 270 frames and i cant scrub through all of it with the addon.

also it should just work in every window, at least related to animation, 3D view, Graph editor, Dope Sheet, NLA, sequencer, I know that you can just scrub in those, but changing behaviour in 2 windows makes you have to think what youā€™re going to press whenever you move your mouse to a new window instead of just doing.

Thanks for the report Manolo76, itā€™s funny as that line command is completely redundant I just forgot to remove it :confused:

Looch, good idea, I can probably manage that, I will look into into it. Maybe I can add some variables inside the hotkey assignment that lets you change the values for fine tuning the number.

thanks FrankieH!, all these efforts to improve the animation workflow are intensely appreciated!

Usefull thing. Thanks

Started a git up, Updated v0.2 and tested a bit this morning and seemed to work.

https://raw.githubusercontent.com/FrankieHobbins/Blender_AnimScrubber/master/animscrubberkey.py
Search in input for ā€œScrub timelineā€ and expand the drop down to find these settings;
Added sensitivity scale.
Added ability to adjust sensitivity based on scene length.

I wonā€™t have a chance to work on it for a couple of weeks now. I made sure to put the licence as GPL so if you think you can do something better, add to it, or even redo from scratch and take the credit then feel free.

also bonus script!

https://raw.githubusercontent.com/FrankieHobbins/Blender_Grapheditor_Channel_Hider/master/grapheditorhide.py

install, then in the graph editor press 1 2 3 and you can toggle visibility of the loc rot scale channels. If you press shift it is an additive selection otherwise it hides everything else.
Warning it will assign keys in graph editor to 1 2 3 and shift 1 2 3

Great work!, and thanks for all of these fantastic tools!,
Wouldnā€™t you create just a ā€œanimation tools addonā€ and have all of them in the one addon?
I got a question, I couldnā€™t find the settings for Scrub timeline.
and for the graph editor hide, which is a great idea, i really couldnt make it work, it installs and everything with no errors, but when i hit 1, 2 or 3 nothing happens, and neither does with shift 1 shift 2 and shift 3ā€¦

What can i be doing wrong?

Great work!, and thanks for all of these fantastic tools!,
Wouldnā€™t you create just a ā€œanimation tools addonā€ and have all of them in the one addon?
I got a question, I couldnā€™t find the settings for Scrub timeline.
and for the graph editor hide, which is a great idea, i really couldnt make it work, it installs and everything with no errors, but when i hit 1, 2 or 3 nothing happens, and neither does with shift 1 shift 2 and shift 3ā€¦

What can i be doing wrong?

Hi Looch, yeah thatā€™s the plan. Itā€™s all a learning experience for me so I have to do little bits at a time. If you are interested in looking into there is a lot functionality here https://dl.dropboxusercontent.com/u/1693140/myscipts/r/animscrubber.py that I need to clean up and make usable for other people. It works great for me but I think my style of animating is quite unique so can see other people not liking it.

Not sure about either of your problems, perhaps you need to uninstall then reinstall the addon, or click the tick away to turn off and back on again in the addons pannel. You have to have the mouse in the graph editor for it to work.

If it helps this is how the settings appear for me;
ttps://dl.dropboxusercontent.com/u/1693140/scrubtimeline.jpg

and this is how the key config for the graph editor should look(I need change the name);
https://dl.dropboxusercontent.com/u/1693140/graphhide.jpg

and a gif of it working;
https://dl.dropboxusercontent.com/u/1693140/graphhide.gif

ooh the configuration is in input!, okay, because i thought it would be under the addon, maybe those specific setting should also be accesible from the addon panel itself, like in amaranth, node wrangler, or retopoflow

but anyways, iā€™ll figure it out now that i can access the settingsā€¦ thank you!
we should share notes about our animation workflow! and check also my Advanced Boomsmash addon, might serve you well https://lollypopman.com/2016/03/30/add-on-advanced-boomsmash/

Attachments



Well, I did not even know that was a thing! I agree it sounds good to have them there.

If you want more addons try this one! it toggles all objects in your scene apart from the mesh to be selectable or not. To stop you from selecting the mesh instead of a bone. You could bind it to a hotkey but I use space > tfms
https://raw.githubusercontent.com/FrankieHobbins/Blender_ToggleMeshSelection/master/togglemeshselection.py

or this bit of logic to remove animations from objects so you can get them out of the action list.
import bpy
for object in bpy.data.objects:
if object.type != ā€˜ARMATUREā€™:
if object.animation_data != None:
object.animation_data.action = None